在使用Ansible时处理Vagrant主机,无需修改ssh配置文件

当你不想使用 “vagrant ssh-config >> ~/.ssh/config” 的时候,可以使用ansible.cfg作为替代。

[defaults]
hostfile = .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory
remote_user = vagrant
private_key_file = ~/.vagrant.d/insecure_private_key
host_key_checking = False

使用Vagrant创建的内容将用作清单。

但是如果不运行ansible provisioner,vagrant 将不会生成inventory。
如果无法直接使用provisioner,可以使用类似以下的虚拟生成器来生成,就像这篇文章中所描述的一样:http://qiita.com/janus_wel/items/cf5e0cf41ad771f92038。

--- # generate ansible inventory file with Vagrant
- hosts: default
  tasks:
    - name: ping
      action: ping

所以,就是这样。

  config.vm.provision "ansible" do |ansible|
    ansible.host_key_checking = false
    ansible.playbook = "generate-inventory.yml"
  end

使用这个命令,您可以毫不费力地执行 ansible-playbook playbook.yml。

广告
将在 10 秒后关闭
bannerAds