Ansible×BIG-IP LTM-inventoryファイルの解説

Ansible
スポンサーリンク
スポンサーリンク

関連リンク集

解説

inventoryの中身は以下となります。ちなみにyaml形式でも大丈夫です。その場合は書式が変わるので注意してください。

[bigip]
virtualserver-1 ansible_host=192.168.0.11
virtualserver-2 ansible_host=192.168.0.11
virtualserver-3 ansible_host=192.168.0.11
inventoryのファイル名は任意となります。しかし、わかりやすいようにinventoryという名前を付けておくことをお勧めします。また、ansible.cfgでインベントリファイルの場所を指定することで、ansible-playbookコマンドの-iでインベントリファイルを指定する必要がなくなります。
※ansible.cfgより引用
[defaults]
inventory = ./inventory ここにインベントリファイルの場所を記述する
host_key_checking = false
ask_vault_pass = false
log_path = ./logs/ansible.log
stdout_callback = yaml
pipelining = True

[bigip]

inventoryでグループを作りたい場合は、[グループ名]とします。
ここでは、bigipという名前としました。
この名前は、virtual-server.ymlのhostsアトリビュートで定義した名前と同一である必要があります。

※virtual-server.ymlより引用
– name: Create Virtual Server
  hosts: bigip
  gather_facts: no
  serial: 1
  roles:
    – Create_vertual_server_with_SNAT

virtualserver ~について

グループに所属するターゲットノードを定義します。BIG-IPでVirtual Serverを作成する場合、厳密にはターゲットノード自体は1つ(ansible_host変数で定義している)です。しかし、virtual-server毎に使用する変数が異なるケースがほとんどだと思われます。そのため、このようにvirtualserver毎にターゲットノードを定義します。

virtual-server.ymlのserialアトリビュートで1を定義すると、このグループに書かれた順番通りにroleを実行します。そのため、vertualserver-1でroleのtaskが完了→vertualserver-2でroleのtaskが完了→~のようになります。

ansible_hostはコネクションプラグインと呼ばれるもので、ターゲットノードのIPアドレスを定義します。検証機となるBIG-IPのVMへの接続で使用しているIPアドレスに適宜修正してください。

コネクションプラグインについて気になった方は以下の公式ドキュメントを読んでください。

 

コメント