透過Ansible 操控用 Vagrant 建立的機器

取得虛擬機的 OpenSSH 設定

請特別留意 HostName、User、Port 還有 IdentityFile 的值。請輸入:vagrant ssh-config

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /home/jonny/vcs/4.docs/automate-with-ansible/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL
  • 更改 hostname
將 /etc/hosts 內出現的 tryboxap2 改成 tryboxap03
將 /etc/sysconfig/network 內的 HOSTNAME 改成 tryboxap03
$>hostname tryboxap03

設定 ansible.cfg

remote_user 和 private_key_file 的設定分別對應 ssh-config 的 User 和 IdentityFile。

hostfile = hosts
remote_user = vagrant
private_key_file = .vagrant/machines/default/virtualbox/private_key
host_key_checking = False

設定 hosts

ansible_ssh_host 和 ansible_ssh_port 的設定分別對應 ssh-config 的 HostName 和 Port。

server1  ansible_ssh_host=127.0.0.1  ansible_ssh_port=2222

[local]
server1

測試

ansible all -m command -a 'echo Hello World on Vagrant.'