第16章 Ansible を使用した IdM サーバーの管理
Red Hat Ansible Engine を使用すると、Identity Management (IdM) トポロジーのサーバーを管理できます。ansible-freeipa パッケージの server モジュールを使用して、IdM トポロジーにサーバーの有無を確認できます。任意のレプリカを非表示にしたり、レプリカを表示したりすることもできます。
このセクションには、以下のトピックが含まれます。
- Ansible を使用した IdM サーバーの存在の確認
- Ansible を使用した IdM トポロジーに IdM サーバーが存在しないことの確認
- 最後の IdM サーバーロールをホストしているにもかかわらず IdM サーバーがないことの確認
- IdM サーバーが存在しないが、必ずしも他の IdM サーバーから切断されていないことの確認
- Ansible Playbook を使用した既存の IdM サーバーが非表示であることの確認
- Ansible Playbook を使用した既存の IdM サーバーが表示されていることの確認
- 既存の IdM サーバーに IdM DNS の場所が割り当てられていることの確認
- 既存の IdM サーバーに IdM DNS の場所が割り当てられていないことの確認
16.1. Ansible を使用した IdM サーバーの存在の確認 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Playbook で ipaserver ansible-freeipa モジュールを使用して、Identity Management (IdM) サーバーが存在することを確認できます。
ipaserver Ansible モジュールは、IdM サーバーをインストールしません。
前提条件
コントロールノードでは、
- Ansible バージョン 2.13 以降を使用している。
-
ansible-freeipaパッケージをインストールしている。 - この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
この例では、secret.yml Ansible Vault に
ipaadmin_passwordが保存されていることを前提としています。
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。-
制御ノードからインベントリーファイルに定義した IdM サーバーへの
SSH接続が正常に動作している。
-
制御ノードからインベントリーファイルに定義した IdM サーバーへの
手順
~/MyPlaybooks/ ディレクトリーに移動します。
$ cd ~/MyPlaybooks//usr/share/doc/ansible-freeipa/playbooks/server/ディレクトリーにあるserver-present.ymlAnsible Playbook ファイルをコピーします。$ cp /usr/share/doc/ansible-freeipa/playbooks/server/server-present.yml server-present-copy.yml-
server-present-copy.ymlを開いて編集します。 ipaserverタスクセクションで次の変数を設定してファイルを調整し、ファイルを保存します。-
ipaadmin_password変数は IdMadminのパスワードに設定します。 -
name変数をサーバーのFQDNに設定します。サンプルサーバーのFQDNは server123.idm.example.com です。
--- - name: Server present example hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Ensure server server123.idm.example.com is present ipaserver: ipaadmin_password: "{{ ipaadmin_password }}" name: server123.idm.example.com-
Ansible Playbook を実行し、Playbook ファイルとインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i inventory server-present-copy.yml