Ansibleの表題のファイルについて。『初めてのAnsible』を読んで知ったことのメモ。
■ 環境
- Ansible 2.2.1.0
- Vagrant 1.9.1
- Mac OSX El Capitan
■ ansible.cfg
Vagrantで稼働させているホストに対して、Ansibleで構築を行っている。以前は`ansible.cfg`の存在を知らなかったので下記のように手打ちでやっていたりした。
$ ansible-playbook -i hosts test.yml
現在は下記のように`ansible.cfg`を設定している。
[defaults]
inventory = hosts
remote_user = vagrant
private_key_file = ~/.vagrant.d/insecure_private_key
host_key_checking = False
retry_files_enabled = False
またVagrantfileには下記を設定している。
Vagrant.configure("2") do |config|
:
config.ssh.insert_key = false
:
end
これで下記のようにアクセスすることができる。
$ ansible-playbook test.yml
`ansible.cfg`では、”inventory“を指定することによりコマンド実行時の`-i`オプションを省略することができる。『初めてのAnsible』では`hostfile`を使用するように記載されていたが、現在は”deprecated“のようなのでこちらの設定を使用するようにした。。また”remote_user“は”vagrant“ユーザをデフォルトで使うようにし、”private_key_file“は指定したファイルを使うようにしている。最近のVagrantはVM毎に異なる鍵が使われるようになっていたが`Vagrantfile`にて`config.ssh.insert_key`を”false“にすることで、このVagrantfileで起動したVMに関しては共通の鍵が使用されるようになっている。また”host_key_checking“を “False“にすることで、VMを何度再作成してもSSH接続時にエラーが起こらないようにしている。最後に”retry_files_enabled“は”False“にしている。失敗した場合はいつも最初から流すようにしているので、retryファイルはほとんど使用していない。邪魔に感じてしまうので作成されないようにしている。
これで随分と楽になった。知らないことは罪である。いや、公式のドキュメントを読まない事が罪である。