第32章 Ansible Playbook で Identity Management レプリカのインストール


Ansible を使用してシステムを IdM レプリカとして設定すると、IdM ドメインに登録され、ドメインの IdM サーバーにある IdM サービスをシステムが使用できるようになります。

デプロイメントは、Ansible ロール ipareplica で管理されます。このロールは、自動検出モードを使用して、IdM サーバー、ドメイン、およびその他の設定を識別できます。ただし、階層のような形で複数のレプリカをデプロイし、レプリカの各グループを異なるタイミングでデプロイする場合は、各グループに特定のサーバーまたはレプリカを定義する必要があります。

前提条件

32.1. IdM レプリカをインストールするためのベース変数、サーバー変数、およびクライアント変数の指定

IdM レプリカをインストールするためのインベントリーファイルを設定するには、以下の手順を完了します。

前提条件

  • 次の要件を満たすように Ansible コントロールノードを設定した。

    • Ansible バージョン 2.13 以降を使用しています。
    • Ansible コントローラーに ansible-freeipa パッケージがインストールされている。

手順

  1. 編集するインベントリーファイルを開きます。IdM レプリカとなるホストの完全修飾ドメイン名 (FQDN) を指定します。FQDN は有効な DNS 名である必要があります。

    • 数字、アルファベット、およびハイフン (-) のみを使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。
    • ホスト名がすべて小文字である。

      レプリカの FQDN のみが定義されている単純なインベントリーホストファイルの例

      [ipareplicas]
      replica1.idm.example.com
      replica2.idm.example.com
      replica3.idm.example.com
      [...]

      IdM サーバーがデプロイされており、SRV レコードが IdM DNS ゾーンに適切に設定されている場合、スクリプトはその他に必要な値をすべて自動的に検出します。

  2. オプション: トポロジーの設計方法に基づいて、インベントリーファイルに追加情報を入力します。

    シナリオ 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]) を定義し、Playbook install-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.com

    ipareplica_servers の最初のエントリーが使用されます。次のエントリーは、フォールバックオプションとして使用されます。IdM レプリカのデプロイに複数の層を使用する場合は、最初に tier1 からレプリカをデプロイし、次に tier2 からレプリカをデプロイするように、Playbook に個別のタスクが必要です。

    レプリカグループごとに異なるプレイを定義した Playbook ファイルの例

    ---
    - name: Playbook to configure IPA replicas (tier1)
      hosts: ipareplicas_tier1
      become: true
    
      roles:
      - role: ipareplica
        state: present
    
    - name: Playbook to configure IPA replicas (tier2)
      hosts: ipareplicas_tier2
      become: true
    
      roles:
      - role: ipareplica
        state: present

  3. オプション: 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 アドレスのみを含める必要があります。ホスト名を含めることはできません。

関連情報

  • /usr/share/ansible/roles/ipareplica/README.md
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.