【问题标题】:Multiple reverse ssh to provision Vagrant with Ansible多个反向 ssh 为 Vagrant 提供 Ansible
【发布时间】:2015-05-19 08:49:01
【问题描述】:

我必须使用 Ansible 提供一堆安装在不同物理计算机(OS X、Win、Ubuntu)上的开发 vagrantbox。只要所有 ansible 剧本/角色/模板都是统一的(产品、开发)并存储在 git 中,使用 ansible-pull 并处理存储真实密码的产品配置和保险库就不是一种选择。所以这个想法是让每个 vagrantbox 创建一个反向 ssh 隧道到某个服务器,其中 ansible-playbook 将应用于一系列端口。 问题是:如何从 vagrantbox 中选择一个空闲端口,这样我就不必为开发人员创建的每个 VM 硬编码数字? 另一个问题:有没有其他更简单的方法来配置在不同操作系统上运行的 vagrant VM?

【问题讨论】:

  • 看看vagrant-guest_ansible 插件(github.com/vovimayhem/vagrant-guest_ansible)。它允许从未安装或无法安装 ansible 的主机(如 windows)提供 ansible。它会自动在客户机中安装 ansible 并从客户机中调用 playbook。
  • 感谢您的回答,但这是我试图避免的 - 将剧本和机密数据(如密码)复制到访客机器或主机。

标签: ssh vagrant ansible


【解决方案1】:

我发现如果将 0 设置为端口号,ssh 会自动选择一个空闲端口。所以跑步 ssh -N -f -R 0:localhost:22 user@middle-server 在我的 vagrant 上在中间服务器上建立连接,将 localhost:port-picked 重定向到 vagrant:22,然后我可以将 ansible-playbook 应用到中间服务器上的一系列端口,而无需将 playbook 复制到 vagrant 机器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-08
    • 2022-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多