25.2. IdM レプリカをインストールするためのベース変数、サーバー変数、およびクライアント変数の指定
IdM レプリカをインストールするためのインベントリーファイルを設定するには、以下の手順を完了します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipaパッケージがインストールされている。
手順
編集するインベントリーファイルを開きます。IdM レプリカとなるホストの完全修飾ドメイン名 (FQDN) を指定します。FQDN は有効な DNS 名である必要があります。
-
数字、アルファベット、およびハイフン (
-) のみを使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。 ホスト名がすべて小文字である。
レプリカの FQDN のみが定義されている単純なインベントリーホストファイルの例
[ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]IdM サーバーがデプロイされており、SRV レコードが IdM DNS ゾーンに適切に設定されている場合、スクリプトはその他に必要な値をすべて自動的に検出します。
-
数字、アルファベット、およびハイフン (
オプション: トポロジーの設計方法に基づいて、インベントリーファイルに追加情報を入力します。
- シナリオ 1
自動検出を回避し、
[ipareplicas]セクションに記載されているすべてのレプリカが特定の IdM サーバーを使用するようにするには、インベントリーファイルの[ipaservers]セクションにそのサーバーを設定します。IdM サーバーとレプリカの FQDN が定義されているインベントリーホストファイルの例
[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...]- シナリオ 2
または、自動検出を回避しながら、特定のサーバーで特定のレプリカをデプロイする場合は、インベントリーファイルの
ipareplicasセクションに、特定のレプリカのサーバーを個別に設定します。特定のレプリカ用に特定の IdM サーバーが定義されたインベントリーファイルの例
[ipaservers] server.idm.example.com replica1.idm.example.com [ipareplicas] replica2.idm.example.com replica3.idm.example.com ipareplica_servers=replica1.idm.example.com上記の例では、
replica3.idm.example.comが、すでにデプロイされたreplica1.idm.example.comを複製元として使用します。- シナリオ 3
1 つのバッチに複数のレプリカをデプロイする場合は、多層レプリカのデプロイメントが役に立ちます。インベントリーファイルにレプリカの特定グループ (例:
[ipareplicas_tier1]および[ipareplicas_tier2]) を定義し、Playbookinstall-replica.ymlで各グループに個別のプレイを設計します。レプリカ階層が定義されているインベントリーファイルの例
[ipaservers] server.idm.example.com [ipareplicas_tier1] replica1.idm.example.com [ipareplicas_tier2] replica2.idm.example.com \ ipareplica_servers=replica1.idm.example.com,server.idm.example.comipareplica_serversの最初のエントリーが使用されます。次のエントリーは、フォールバックオプションとして使用されます。IdM レプリカのデプロイに複数の層を使用する場合は、最初に tier1 からレプリカをデプロイし、次に tier2 からレプリカをデプロイするように、Playbook に個別のタスクが必要です。レプリカグループごとに異なるプレイを定義した Playbook ファイルの例
--- - name: Playbook to configure IPA replicas (tier1) hosts: ipareplicas_tier1 become: true roles: - role: freeipa.ansible_freeipa.ipareplica state: present - name: Playbook to configure IPA replicas (tier2) hosts: ipareplicas_tier2 become: true roles: - role: freeipa.ansible_freeipa.ipareplica state: present
オプション:
firewalldと DNS に関する追加情報を入力します。- シナリオ 1
指定の
firewalldゾーン (内部ゾーンなど) をレプリカで使用する場合は、インベントリーファイルでゾーンを指定できます。カスタムゾーンを設定しないと、IdM によりサービスがデフォルトのfirewalldゾーンに追加されます。事前定義されたデフォルトゾーンはpublicです。重要指定する
firewalldゾーンは存在し、永続的でなければなりません。カスタム
firewalld帯を持つシンプルなインベントリーホストファイルの例[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] [ipareplicas:vars] ipareplica_firewalld_zone=<custom zone>- シナリオ 2
レプリカで IdM DNS サービスをホストする場合は、
[ipareplicas:vars]セクションに ipareplica_setup_dns=true 行を追加します。また、サーバーごとの DNS フォワーダーを使用するかどうかを指定します。-
サーバーごとのフォワーダーを設定するには、
ipareplica_forwarders変数と文字列のリストを[ipareplicas:vars]セクションに追加します (例: ipareplica_forwarders=192.0.2.1,192.0.2.2)。 -
サーバーごとのフォワーダーを設定しない場合は、
[ipareplicas:vars]セクションに ipareplica_no_forwarders=true 行を追加します。 レプリカの
/etc/resolv.confファイルにリスト表示されているフォワーダーに基づいてサーバーごとにフォワーダーを設定するには、[ipareplicas:vars]セクションにipareplica_auto_forwardersを追加します。レプリカに DNS とサーバーごとのフォワーダーを設定する手順を含むインベントリーファイルの例
[ipaservers] server.idm.example.com [ipareplicas] replica1.idm.example.com replica2.idm.example.com replica3.idm.example.com [...] [ipareplicas:vars] ipareplica_setup_dns=true ipareplica_forwarders=192.0.2.1,192.0.2.2
-
サーバーごとのフォワーダーを設定するには、
- シナリオ 3
クラスターのデプロイを簡素化するために、
ipaclient_configure_dns_resolveおよびipaclient_dns_serversオプション (使用可能な場合) を使用して DNS リゾルバーを指定します。これは、IdM デプロイメントが統合 DNS を使用している場合に特に便利です。DNS リゾルバーを指定するインベントリーファイルスニペット:
[...] [ipaclient:vars] ipaclient_configure_dns_resolver=true ipaclient_dns_servers=192.168.100.1注記ipaclient_dns_serversリストには IP アドレスのみを含める必要があります。ホスト名を含めることはできません。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/README.mdファイルを参照してください。