加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

使用运行Ansible的另一个Vagrant Linux VM配置Vagrant Linux VM

发布时间:2020-12-13 23:52:01 所属栏目:Linux 来源:网络整理
导读:我知道Ansible在 Windows上运行有问题.这就是为什么,我想避免将它用于我的主机.我想配置一个在VirtualBox中运行的本地linux vm. 我想知道是否有人可以告诉我是否可能,使用vagrant在同一个盒子上调出两个独立的VM.然后在其中一个VM上安装Ansible,然后使用SSH
我知道Ansible在 Windows上运行有问题.这就是为什么,我想避免将它用于我的主机.我想配置一个在VirtualBox中运行的本地linux vm.

我想知道是否有人可以告诉我是否可能,使用vagrant在同一个盒子上调出两个独立的VM.然后在其中一个VM上安装Ansible,然后使用SSH登录到该VM.从那里,使用带有Ansible的Linux VM作为主机,配置另一个通过Windows主机创建的Linux VM.因此,这不是VM中的VM.它只是使用vagrant在Windows上运行的两个VM,然后通过SSH连接其中一个VM以使用Ansible来配置另一个VM.

脚步:

> Vagrant VM 1并安装Ansible
> Vangrant VM 2
> SSH到VM 1
>使用Ansible使用VM 1配置VM 2.

可以这样做吗?对不起,如果这听起来很混乱.

解决方法

现在 Vagrant 1.8.0中有一个 new Ansible local provisioner,您可以在您的场景中使用它.

特别是,请查看文档的“提示和技巧”部分,有一个确切的解决方案(对我有用).

下面是我的Vagrantfile这个场景(与文档中的略有不同),它也解决了ssh权限和“可执行”库存文件的潜在问题(如果你使用的是Cygwin):

Vagrant.configure(2) do |config|
  config.vm.synced_folder "./","/vagrant",owner: "vagrant",mount_options: ["dmode=775,fmode=600"]

  config.vm.define "vm2" do |machine|
    machine.vm.box = "box-cutter/ubuntu1404-desktop"
    machine.vm.network "private_network",ip: "172.17.177.21"
  end

  config.vm.define 'vm1' do |machine|
    machine.vm.box = "ubuntu/trusty64"
    machine.vm.network "private_network",ip: "172.17.177.11"    

    machine.vm.provision :ansible_local do |ansible|
      ansible.provisioning_path = "/vagrant"
      ansible.playbook = "provisioning/playbook.yml"      
      ansible.limit = "vm2"
      ansible.inventory_path = "inventory"
      ansible.verbose = "vvv"
      ansible.install = true    
    end
  end
end

和库存文件:

vm1 ansible_connection=local
vm2 ansible_ssh_host=172.17.177.21 ansible_ssh_private_key_file=/vagrant/.vagrant/machines/vm2/virtualbox/private_key

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读