3.3. インストールシナリオに基づくインベントリーファイルの例
Red Hat は、Ansible Automation Platform のいくつかのインストールシナリオをサポートしています。サンプルファイルをベースとして使用し、独自のインベントリーファイルを開発することも、希望するインストールシナリオに最も近いサンプルを使用することもできます。
3.3.1. インストールシナリオに基づいたインベントリーファイルの推奨事項 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform のインストール方法を選択する前に、次の推奨事項を確認してください。これらの推奨事項をよく理解しておくと、インストールプロセスが効率化されます。
到達可能な IP アドレスまたは完全修飾ドメイン名 (FQDN) をホストに指定して、ユーザーが別のノードから Automation Hub のコンテンツを同期してインストールできるようにします。
FQDN には
-記号または_記号を含めることはできません。正しく処理されません。localhostは使用しないでください。-
adminは、Ansible Automation Platform への初回ログイン時のデフォルトのユーザー ID であり、インベントリーファイルで変更することはできません。 -
pg_passwordでの特殊文字の使用は制限されています。!、#、0、および@文字がサポートされています。他の特殊文字を使用すると、セットアップが失敗する可能性があります。 -
registry_usernameおよびregistry_passwordに Red Hat Registry Service Account の認証情報を入力し、Red Hat コンテナーレジストリーにリンクします。 -
インベントリーファイル変数
registry_usernameおよびregistry_passwordは、バンドル以外のインストーラーを使用する場合にのみ必要です。
3.3.1.1. 単一のプラットフォームゲートウェイおよび Automation Controller と、外部 (インストーラー管理) データベース リンクのコピーリンクがクリップボードにコピーされました!
単一のプラットフォームゲートウェイと Automation Controller のインスタンスを、外部 (インストーラー管理) データベースとともにデプロイするには、この例を使用して、インベントリーファイル内で最小限必要なものを確認してください。
3.3.1.2. 単一のプラットフォームゲートウェイ、Automation Controller、および Automation Hub と、外部 (インストーラー管理) データベース リンクのコピーリンクがクリップボードにコピーされました!
この例では、インベントリーファイルにデータを入力し、単一のプラットフォームゲートウェイ、Automation Controller、Automation Hub のインスタンスを、外部 (インストーラー管理) データベースとともにデプロイします。
この例では、インベントリーファイルにデータを入力し、単一のプラットフォームゲートウェイ、Automation Controller、Automation Hub、および Event-Driven Ansible Controller のインスタンスを、外部 (インストーラー管理) データベースとともにデプロイします。
- このシナリオでは、Event-Driven Ansible Controller を正常にデプロイするために、Automation Controller 2.4 以降が必要です。
- Event-Driven Ansible Controller は別のサーバーにインストールする必要があります。Automation Hub および Automation Controller と同じホストにインストールすることはできません。
- 標準条件下で Event-Driven Ansible ルールブックをアクティブ化すると、約 250 MB のメモリーが使用されます。ただし、実際のメモリー消費量は、ルールの複雑さと処理されるイベントのボリュームおよびサイズによって大幅に異なる可能性があります。大量のイベントが予想される場合やルールブックの複雑さが高いシナリオでは、ステージング環境でのリソース使用量の事前評価を行います。これにより、アクティベーションの最大数をリソース容量に基づいて決定できます。
関連情報
これらのインベントリー変数の詳細は、Red Hat Ansible Automation Platform インストールガイド の Ansible Automation Hub 変数 を参照してください。
3.3.1.4. 高可用性 Automation Hub リンクのコピーリンクがクリップボードにコピーされました!
インベントリーファイルを設定することで、クラスター化ノード、データベースホスト、ロードバランサーを備えたエンタープライズ規模対応の高可用性 Automation Hub をデプロイできます。
次の例を使用して、インベントリーファイルを設定し、高可用性 Automation Hub をインストールします。このインベントリーファイルには、クラスター設定を備えた高可用性 Automation Hub が含まれています。
HA デプロイメントをさらに設定して、SELinux 上で Automation Hub の高可用性デプロイメント を有効にすることができます。
データベースホスト IP の指定
-
automation_pg_hostおよびautomation_pg_portインベントリー変数を使用して、データベースホストの IP アドレスを指定します。以下に例を示します。
automationhub_pg_host='192.0.2.10' automationhub_pg_port=5432
automationhub_pg_host='192.0.2.10'
automationhub_pg_port=5432
-
また、
automationhub_pg_hostインベントリー変数の値を使用して、[database] セクションでデータベースホストの IP アドレスを指定します。
[database] 192.0.2.10
[database]
192.0.2.10
クラスター設定のインスタンスのリスト表示
-
クラスター設定をインストールする場合、
[automationhub]セクションのlocalhost ansible_connection=localは、全インスタンスのホスト名または IP アドレスに置き換えます。以下に例を示します。
[automationhub] automationhub1.testing.ansible.com ansible_user=cloud-user automationhub2.testing.ansible.com ansible_user=cloud-user automationhub3.testing.ansible.com ansible_user=cloud-user
[automationhub]
automationhub1.testing.ansible.com ansible_user=cloud-user
automationhub2.testing.ansible.com ansible_user=cloud-user
automationhub3.testing.ansible.com ansible_user=cloud-user
次のステップ
各 Private Automation Hub サーバーの /etc/pulp/settings.py に、次のディレクティブが存在することを確認します。
USE_X_FORWARDED_PORT = True USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = True
USE_X_FORWARDED_HOST = True
ロードバランサーを使用している場合は、automationgateway_main_url がロードバランサーを指すように設定します。automationgateway_main_url が指定されていない場合、[automationgateway] グループの最初のノードがデフォルトとして使用されます。
3.3.1.5. SELinux 上での Automation Hub の高可用性 (HA) デプロイメントの有効化 リンクのコピーリンクがクリップボードにコピーされました!
インベントリーファイルを設定して、SELinux 上で Automation Hub の高可用性デプロイメントを有効化できます。/var/lib/pulp および /var/lib/pulp/pulpcore_static の 2 つのマウントポイントを作成し、それぞれのマウントポイントに適切な SELinux コンテキストを割り当てる必要があります。
/var/lib/pulp pulpcore_static のコンテキストを追加し、Ansible Automation Platform インストーラーを実行してから、/var/lib/pulp のコンテキストを追加する必要があります。
前提条件
サーバーに NFS エクスポートを設定している。
注記NFS 共有は、外部サーバー上でホストされます。高可用性 Automation Hub デプロイメントの一部ではありません。
手順
/var/lib/pulpにマウントポイントを作成します。mkdir /var/lib/pulp/
$ mkdir /var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow テキストエディターを使用して
/etc/fstabを開き、次の値を追加します。srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:var_lib_t:s0" 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0
srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:var_lib_t:s0" 0 0 srv_rhel8:/data/pulpcore_static /var/lib/pulp/pulpcore_static nfs defaults,_netdev,nosharecache,context="system_u:object_r:httpd_sys_content_rw_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemd マネージャー設定をリロードするコマンドを実行します。
systemctl daemon-reload
$ systemctl daemon-reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pulpのマウントコマンドを実行します。mount /var/lib/pulp
$ mount /var/lib/pulpCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pulp/pulpcore_staticにマウントポイントを作成します。mkdir /var/lib/pulp/pulpcore_static
$ mkdir /var/lib/pulp/pulpcore_staticCopy to Clipboard Copied! Toggle word wrap Toggle overflow マウントコマンドを実行します。
mount -a
$ mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow マウントポイントを設定したら、Ansible Automation Platform インストーラーを実行します。
setup.sh -- -b --become-user root
$ setup.sh -- -b --become-user rootCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
インストールが完了したら、
/var/lib/pulp/マウントポイントをアンマウントします。
3.3.1.5.1. pulpcore.service の設定 リンクのコピーリンクがクリップボードにコピーされました!
インベントリーファイルを設定し、SELinux コンテキストを適用した後、Pulp サービスを設定します。これにより、ネットワークを起動し、リモートマウントポイントをマウントすることで、Automation Hub サービスが起動できるようになります。
手順
2 つのマウントポイントを設定したら、Pulp サービスをシャットダウンして
pulpcore.serviceを設定します。systemctl stop pulpcore.service
$ systemctl stop pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemctlを使用してpulpcore.serviceを編集します。systemctl edit pulpcore.service
$ systemctl edit pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のエントリーを
pulpcore.serviceに追加し、ネットワークを起動し、リモートマウントポイントをマウントすることで、Automation Hub サービスが起動するようにします。[Unit] After=network.target var-lib-pulp.mount
[Unit] After=network.target var-lib-pulp.mountCopy to Clipboard Copied! Toggle word wrap Toggle overflow remote-fs.targetを有効にします。systemctl enable remote-fs.target
$ systemctl enable remote-fs.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow システムを再起動します。
systemctl reboot
$ systemctl rebootCopy to Clipboard Copied! Toggle word wrap Toggle overflow
トラブルシューティング
pulpcore SELinux ポリシーのバグにより、etc/pulp/certs/ のトークン認証公開鍵/秘密鍵に適切な SELinux ラベルがなく、パルププロセスが失敗する可能性があります。これが発生した場合は、次のコマンドを実行して、適切なラベルを一時的に貼り付けます。
chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
$ chcon system_u:object_r:pulpcore_etc_t:s0 /etc/pulp/certs/token_{private,public}_key.pem
システムのラベルを変更するたびに、このコマンドを繰り返して適切な SELinux ラベルを再割り当てします。
3.3.1.5.2. SELinux コンテキストの適用 リンクのコピーリンクがクリップボードにコピーされました!
適切なファイルアクセス権限とセキュリティーポリシーのコンプライアンスを確保するには、正しい SELinux コンテキストを Pulp ディレクトリーに適用します。
インベントリーファイルを設定したら、コンテキストを適用して、SELinux 上で Automation Hub の高可用性 (HA) デプロイメントを有効化する必要があります。
手順
Pulp サービスをシャットダウンします。
systemctl stop pulpcore.service
$ systemctl stop pulpcore.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pulp/pulpcore_staticをアンマウントします。umount /var/lib/pulp/pulpcore_static
$ umount /var/lib/pulp/pulpcore_staticCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/pulp/をアンマウントします。umount /var/lib/pulp/
$ umount /var/lib/pulp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow テキストエディターで
/etc/fstabを開き、/var/lib/pulpの既存値を以下に置き換えます。srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0
srv_rhel8:/data /var/lib/pulp nfs defaults,_netdev,nosharecache,context="system_u:object_r:pulpcore_var_lib_t:s0" 0 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow マウントコマンドを実行します。
mount -a
$ mount -aCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.1.6. Private Automation Hub でのコンテンツ署名の設定 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Certified Content Collections に正常に署名して公開するには、署名する Private Automation Hub を設定する必要があります。
前提条件
- GnuPG キーペアがセキュアに設定され、組織で管理されている。
- 公開鍵と秘密鍵のペアに、Private Automation Hub でコンテンツ署名を設定するのに適切なアクセス権がある。
手順
ファイル名のみを受け入れる署名スクリプトを作成します。
注記このスクリプトは署名サービスとして機能し、
PULP_SIGNING_KEY_FINGERPRINT環境変数で指定された鍵を使用して、そのファイルの ASCII アーマー形式のgpgデタッチ署名を生成する必要があります。スクリプトは、次の形式で JSON 構造を出力します。
{"file": "filename", "signature": "filename.asc"}{"file": "filename", "signature": "filename.asc"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのファイル名は、現在の作業ディレクトリー内の相対パスです。ファイル名は、デタッチ署名でも同じにする必要があります。
例: 次のスクリプトはコンテンツの署名を生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 署名を有効にして Private Automation Hub を Ansible Automation Platform クラスターにデプロイすると、新しい UI が追加されたことがコレクションに表示されます。
automationhub_*で始まるオプションは、Ansible Automation Platform インストーラーのインベントリーファイルを確認してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 2 つの新しいキー (automationhub_auto_sign_collections および automationhub_require_content_approval) は、コレクションが Private Automation Hub にアップロードされた後に署名および承認される必要があることを示します。
3.3.1.7. Event-Driven Ansible Controller に安全なプラグイン変数を追加する リンクのコピーリンクがクリップボードにコピーされました!
redhat.insights_eda または同様のプラグインを使用して、Event-Driven Ansible Controller でルールブックアクティベーションを実行する場合は、Ansible Automation Platform のディレクトリーに安全なプラグイン変数を追加する必要があります。これにより、Event-Driven Ansible Controller とソースプラグイン間の接続が確保され、ポートマッピングが正しく表示されます。
手順
-
安全なプラグイン変数のディレクトリーを作成します:
mkdir -p ./group_vars/automationedacontroller -
そのディレクトリー内に新しい設定用のファイルを作成します (例:
touch ./group_vars/automationedacontroller/custom.yml) 変数
automationedacontroller_additional_settingsを追加して、Event-Driven Ansible Controller のデフォルトのsettings.yamlテンプレートを拡張し、有効にするプラグインのリストを含むSAFE_PLUGINSフィールドを追加します。以下に例を示します。automationedacontroller_additional_settings: SAFE_PLUGINS: - ansible.eda.webhook - ansible.eda.alertmanagerautomationedacontroller_additional_settings: SAFE_PLUGINS: - ansible.eda.webhook - ansible.eda.alertmanagerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記SAFE_PLUGINSに加えて、Django 設定ファイル (/etc/ansible-automation-platform/eda/settings.yaml) でautomationedacontroller_additional_settings変数を拡張することもできます。
3.3.2. registry_username と registry_password の設定 リンクのコピーリンクがクリップボードにコピーされました!
オンラインの非バンドルインストールに registry_username 変数および registry_password 変数を使用する場合は、新しい Registry Service Account を作成する必要があります。
レジストリーサービスアカウントは、デプロイメントシステムなど、認証情報を共有する環境で使用できる名前付きトークンです。
手順
- https://access.redhat.com/terms-based-registry/accounts に移動します。
- Registry Service Account ページで、 をクリックします。
- 許可される文字のみを使用して、アカウントの名前を入力します。
- 必要に応じて、アカウントの説明を入力します。
- をクリックします。
- 検索フィールドで名前を検索し、作成したアカウントをリストで確認します。
- 作成したアカウントの名前をクリックします。
または、トークンの名前がわかっている場合は、URL を入力してページに直接移動することもできます。
https://access.redhat.com/terms-based-registry/token/<name-of-your-token>
https://access.redhat.com/terms-based-registry/token/<name-of-your-token>Copy to Clipboard Copied! Toggle word wrap Toggle overflow token ページが開き、生成されたユーザー名 (アカウント名とは異なる) とトークンが表示されます。
- トークンが表示されない場合は、 をクリックします。これをクリックして、新しいユーザー名とトークンを生成することもできます。
-
ユーザー名 (例: "1234567|testuser") をコピーし、これを使用して変数
registry_usernameを設定します。 -
トークンをコピーし、これを使用して変数
registry_passwordを設定します。
3.3.2.1. Redis の設定 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform は、standalone トポロジーと clustered トポロジーの両方で、集中型の Redis インスタンスを提供します。
RPM デプロイメントでは、Redis モードがデフォルトで cluster に設定されます。この設定は、次の例のように、インベントリーファイルの [all:vars] セクションで変更できます。
Redis の詳細は、インストール計画 の キャッシュおよびキューイングシステム を参照してください。