Ansible×BIG-IP LTM-group_varsの解説

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

関連リンク集

pyenvを用いたAnsibleが利用するPython実行環境の準備、VScodeによるポートフォワーディングの設定
pyenvによるpythonのバージョン管理、AnsibleのインストールからVScodeのポートフォワーディングの設定など、Ansibleを使用するための環境を用意する方法を解説しています。
AnsibleによるBIG-IPを制御(イメージファイルとライセンス取得)
Ansibleを使ってBIG-IPを検証するため、VMや検証用ライセンスの取得方法についてスクショつきで解説しております。
https://liberation-of-se-like-slaves.net/ansible%e3%82%92%e7%94%a8%e3%81%84%e3%81%9fbig-ip%e6%a4%9c%e8%a8%bcvm%e3%81%ae%e6%a7%8b%e7%af%89%e7%b7%a8%ef%bc%89/
データベースエラー
Ansible×BIG-IP LTM-host_varsの解説
AnsibleでBIG-IPにVirtualServerを作成するplaybookにて、必要となるhost_varsについて紹介しています。

~~~~~~現在のページは下記サイト~~~~~~~

Ansible×BIG-IP LTM-group_varsの解説
Ansibleを用いてBIG-IPでVirtualserverを作成するplaybookで必要となるgroup_varsについて紹介しています。
Ansible×BIG-IP LTM-ansible.cfgの解説
Ansibleを用いてBIG-IPにVertual Serverを作成するためのansible.cfgについて紹介しています。
Ansible×BIG-IP LTM-inventoryファイルの解説
AnsibleでBIG-IP LTMにVirtual Serverを作成する時に使用するplaybookのinventoryファイルについて解説しています。
Ansible×BIG-IP LTM-inventoryファイルの解説
AnsibleでBIG-IP LTMにVirtual Serverを作成する時に使用するplaybookのinventoryファイルについて解説しています。

解説

以下のようなフォルダ構成としています。

all/vars.yml

全てのグループで共通している変数を定義するときに使用します。今回は使用しておりませんが、例えばRHEL,CentOS,Ubuntuといったグループを定義していて、そこに所属しているターゲットノードのパスワードが全て同一の値である場合は、allフォルダに格納されているvars.ymlにパスワードを定義します。

bigip/vars.yml

インベトリファイルで定義したグループで使用する変数を定義します。インベントリで定義したグループ名と同一である必要があります。

※virtual-server.ymlより引用
– name: Create Virtual Server
  hosts: bigip
  gather_facts: yes
  serial: 1
  roles:
    – Create_vertual_server_with_SNAT
hosts:で定義しているグループ名とgroup_vars/bigip/vars.ymlは必ず同じ名前となります。

ここでは、ターゲットノードのIPアドレスが同一であることから、以下のようにユーザ名とパスワードを定義しています。ここで定義する情報はインベントリファイルでも定義可能な情報です。ただし、gourp_vars内ではyaml形式なので =(イコール) ではなく、:(セミコロン)を使用します。

[vars.yml]
ansible_user: root
ansible_password: default
ansible_connection: local
ansible_userはターゲットノードのログイン時に使用するユーザー名を指定します。
ansible_passwordはターゲットノードのログイン時に使用するパスワードを指定します。
ansible_connectionはターゲットノードへの接続方法を定義していて、localを設定することでpythonのスクリプトを一度、Ansibleサーバ(Ubuntu)上で実行します。

BIG-IPをAnsibleで操作する場合、ansible_connection: localを設定しないと上手く動作しません。昔はtask内で定義するdedicated_to:localhostでも動いていたようですが、ansible [core 2.14.3]の場合では、エラーが発生します。

ansibleのbigip用コレクションを見ると、例となるコードで必ずdedicated_to:localhostが使用されているのですが罠です。
https://docs.ansible.com/ansible/latest/collections/f5networks/f5_modules/bigip_node_module.html

 

コメント