5.3. ansible-freeipa のインベントリープラグイン
ansible-freeipa の freeipa インベントリープラグインを使用すると、ansible-freeipa Playbook で使用される Identity Management (IdM) サーバーの動的インベントリーを作成できます。このプラグインは、ドメイン内の IdM サーバーに関するデータを収集し、指定された 1 つまたは複数の IdM サーバーロールが割り当てられているサーバーのみを選択します。ansible-playbook コマンドでこのプラグインを使用するには、-i オプションの値を、freeipa プラグインを使用するインベントリーファイルに設定します。すると、Playbook 内のプレイが、インベントリーファイルで指定されたロールを持つサーバーに対してのみ実行されます。
以下の例では、freeipa プラグインを使用して、トポロジー内で DNS ロールを持つ IdM サーバー上の bind パッケージのバージョンを確認する方法について説明します。
手順
inventory.yml などのファイルを作成して、選択した IdM サーバーロールに基づいて動的インベントリーを生成します。たとえば、IdM DNS サーバーロールを持つサーバーのインベントリーを作成するには、以下を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
serverには、スキャンを開始するホストの完全修飾ドメイン名を定義します。 -
verifyには、検証用のサーバー TLS 証明書ファイルを定義します。 -
roleには、ホストが返されるために持っている必要があるサーバーロールをすべて定義します。
-
freeipaインベントリープラグインによって特定された IdM サーバーに対して実行する Playbook (bind-playbook.yml など) を作成します。たとえば、IdM DNS サーバーにインストールされているbindパッケージのリリースバージョンを確認するには、以下を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: プラグインによって識別された IdM サーバーのグラフ表現を作成します。
ansible-inventory -i inventory.yml --graph @all: |--@ungrouped |--@ipaservers: | |--replica01.idm.example.com
$ ansible-inventory -i inventory.yml --graph @all: |--@ungrouped |--@ipaservers: | |--replica01.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook を実行します。inventory.yml ファイルをインベントリーとして指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow