Inventory

IngventoryとはAnsibleから操作する対象を定義するもの。 Inventoryファイルには、INI形式のファイルにホスト情報を記載できる。

[app], [db]のように、[…]で区切られた部分はセクションと呼ばれ、見出しの意味を持つ。

前回まで1行でhostsに書いていたものを、別の書き方で定義してみる。

vm-machine ansible_host=192.168.62.130 ansible_port=22 ansible_user=root ansible_ssh_pass=root_pass

以下のように書き換えて、疎通確認。

$ cat inventory
[app]
app1 ansible_host=192.168.62.130
app1 ansible_port=22
app1 ansible_user=root
app1 ansible_ssh_pass=root_pass1

app2 ansible_host=192.168.62.129
app2 ansible_port=22
app2 ansible_user=root
app2 ansible_ssh_pass=root_pass2

pingコマンド実行

$ ansible all -i inventory -m ping
app1 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
app2 | SUCCESS => {
    "changed": false,
    "ping": "pong"
}
[sysmgr@localhost ansible]$

無事に二台とも疎通が取れた。