Ansibleを使いこなすにあたり、まず整備する必要があるのが、管理対象を定義するInventoryファイルです。
記事の目次
Inventoryファイルの基本的な書式を確認する!
Inventoryファイルに管理対象のサーバを一覧形式で登録します。サーバは、グループ化が可能で、接続のための情報を定義することができます。
$ cat inventory.ini [servers_debian] server01 ansible_ssh_user=usradmin server02 ansible_ssh_user=usradmin [servers_rhel] server11 ansible_ssh_user=usradmin server12 ansible_ssh_user=usradmin
サーバの定義のグループ化を行う!
サーバの定義は「:children」の定義を使用することで、グループのグループ化をすることができます。
$ cat inventory.ini [servers_debian] server01 ansible_ssh_user=usradmin server02 ansible_ssh_user=usradmin [servers_rhel] server11 ansible_ssh_user=usradmin server12 ansible_ssh_user=usradmin [servers_linux:children] servers_debian servers_rhel
グループ化した名前でansibleを実行してみる!
以下のPlaybookを使用して、疎通確認を行ってみます。
$ cat ping_all.yml --- - hosts: all tasks: - name: ping all ping:
以下のコマンドで、Inventoryファイルに定義した全サーバに対して、ansibleでの疎通確認を行うことができます。
$ ansible-playbook -i inventory.ini ping_all.yml
おわりに
Inventoryファイルはコマンドラインで指定できるので、用途に応じて使い分けが可能で、Inventoryファイル内でグループ化ができます。Inventoryファイルは、Playbookでの使用方法を考えながら、体系立てて作成します。
参考情報
関連記事
Ansible書籍(Amazon)
Ansible実践ガイド 第3版 impress top gearシリーズ
Ansibleクックブック impress top gearシリーズ