3.2. コンテナーエンタープライズトポロジー
エンタープライズトポロジーは、大規模な自動化のために冗長性や大きな計算能力を備えた Ansible Automation Platform をデプロイする必要がある組織を対象としています。
3.2.1. インフラストラクチャートポロジー
次の図は、このデプロイメントモデルを使用して Red Hat がテストしたインフラストラクチャートポロジーの概要を示しています。このモデルは、お客様が Ansible Automation Platform を自己管理する際に使用できるものです。
図3.2 インフラストラクチャートポロジー図
各仮想マシンは、16 GB RAM、4 CPU、60 GB ローカルディスク、3000 IOPS というコンポーネント要件でテストされています。
仮想マシン数 | 目的 | 仮想マシングループ名の例 |
---|---|---|
2 | プラットフォームゲートウェイおよび併置される Redis |
|
2 | Automation Controller |
|
2 | Private Automation Hub および併置される Redis |
|
2 | Event-Driven Ansible および併置される Redis |
|
1 | 自動化メッシュホップノード |
|
2 | 自動化メッシュ実行ノード |
|
1 | 外部管理データベースサービス | 該当なし |
1 | プラットフォームゲートウェイの前にある HAProxy ロードバランサー (外部管理) | 該当なし |
Redis の高可用性 (HA) 互換デプロイメントには、6 台の仮想マシンが必要です。Redis は、Automation Controller、実行ノード、または PostgreSQL データベースを除く各 Ansible Automation Platform コンポーネントの仮想マシンと同じ場所に配置できます。
3.2.2. テスト済みのシステム構成
Red Hat は、Red Hat Ansible Automation Platform をインストールして実行するために、次の構成をテストしました。
タイプ | 説明 |
---|---|
サブスクリプション |
|
オペレーティングシステム | Red Hat Enterprise Linux 9.2 以降 |
CPU アーキテクチャー | x86_64, AArch64, s390x (IBM Z), ppc64le (IBM Power) |
Ansible-core | Ansible-core バージョン 2.16 以降 |
ブラウザー | 現在サポートされている Mozilla Firefox または Google Chrome のバージョン。 |
データベース | PostgreSQL 15 |
3.2.3. ネットワークポート
Red Hat Ansible Automation Platform は、サービスとの通信に複数のポートを使用します。Red Hat Ansible Automation Platform サーバーを機能させるには、これらのポートを開いてサーバーへの着信接続に利用できるようにする必要があります。これらのポートが利用可能で、サーバーのファイアウォールでブロックされていないことを確認してください。
ポート番号 | プロトコル | サービス | ソース | 宛先 |
---|---|---|---|---|
80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation Hub |
80/443 | TCP | HTTP/HTTPS | Event-Driven Ansible | Automation Controller |
80/443 | TCP | HTTP/HTTPS | Automation Controller | Automation Hub |
443 | TCP | HTTPS | HAProxy ロードバランサー | プラットフォームゲートウェイ |
443 | TCP | HTTPS | プラットフォームゲートウェイ | Automation Controller |
443 | TCP | HTTPS | プラットフォームゲートウェイ | Automation Hub |
443 | TCP | HTTPS | プラットフォームゲートウェイ | Event-Driven Ansible |
5432 | TCP | PostgreSQL | Event-Driven Ansible | 外部データベース |
5432 | TCP | PostgreSQL | プラットフォームゲートウェイ | 外部データベース |
5432 | TCP | PostgreSQL | Automation Hub | 外部データベース |
5432 | TCP | PostgreSQL | Automation Controller | 外部データベース |
27199 | TCP | Receptor | Automation Controller | ホップノードと実行ノード |
27199 | TCP | Receptor | ホップノード | 実行ノード |
6379 | TCP | Redis | Event-Driven Ansible | Redis ノード |
6379 | TCP | Redis | プラットフォームゲートウェイ | Redis ノード |
16379 | TCP | Redis | Redis ノード | Redis ノード |
8433 | TCP | HTTPS | プラットフォームゲートウェイ | プラットフォームゲートウェイ |
50051 | TCP | gRPC | プラットフォームゲートウェイ | プラットフォームゲートウェイ |
3.2.4. エンタープライズインベントリーファイルの例
このトポロジーのインストールを実行するには、インベントリーファイルの例を使用します。
# This is the Ansible Automation Platform enterprise installer inventory file # Consult the docs if you are unsure what to add # For all optional variables consult the included README.md # or the Red Hat documentation: # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation # This section is for your platform gateway hosts # ----------------------------------------------------- [automationgateway] gateway1.example.org gateway2.example.org # This section is for your automation controller hosts # ----------------------------------------------------- [automationcontroller] controller1.example.org controller2.example.org # This section is for your Ansible Automation Platform execution hosts # ----------------------------------------------------- [execution_nodes] hop1.example.org receptor_type='hop' exec1.example.org exec2.example.org # This section is for your automation hub hosts # ----------------------------------------------------- [automationhub] hub1.example.org hub2.example.org # This section is for your Event-Driven Ansible controller hosts # ----------------------------------------------------- [automationeda] eda1.example.org eda2.example.org [redis] gateway1.example.org gateway2.example.org hub1.example.org hub2.example.org eda1.example.org eda2.example.org [all:vars] # Common variables # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-general-inventory-variables # ----------------------------------------------------- postgresql_admin_username=<set your own> postgresql_admin_password=<set your own> registry_username=<your RHN username> registry_password=<your RHN password> # Platform gateway # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-gateway-variables # ----------------------------------------------------- gateway_admin_password=<set your own> gateway_pg_host=externaldb.example.org gateway_pg_database=<set your own> gateway_pg_username=<set your own> gateway_pg_password=<set your own> # Automation controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-controller-variables # ----------------------------------------------------- controller_admin_password=<set your own> controller_pg_host=externaldb.example.org controller_pg_database=<set your own> controller_pg_username=<set your own> controller_pg_password=<set your own> # Automation hub # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#ref-hub-variables # ----------------------------------------------------- hub_admin_password=<set your own> hub_pg_host=externaldb.example.org hub_pg_database=<set your own> hub_pg_username=<set your own> hub_pg_password=<set your own> # Event-Driven Ansible controller # https://docs.redhat.com/en/documentation/red_hat_ansible_automation_platform/2.5/html/containerized_installation/appendix-inventory-files-vars#event-driven-ansible-controller # ----------------------------------------------------- eda_admin_password=<set your own> eda_pg_host=externaldb.example.org eda_pg_database=<set your own> eda_pg_username=<set your own> eda_pg_password=<set your own>
3.2.5. ストレージ要件
-
実行環境は、ジョブを実行する Automation Controller ハイブリッドノードと実行ノードに引き込まれます。これらのコンテナーのサイズは、
$PATH_WHERE_PODMAN_PUTS_CONTAINER_IMAGES
のストレージ要件に影響します。 データベースのサイズとそのストレージボリューム (デフォルトは
$POSTGRES_DEFAULT_DATA_DIR
) を決定する主な要因は次のとおりです。- ジョブイベントの数 (Automation Controller ジョブからの出力行)
- ジョブデータが保持される日数
-
実行ノード、Automation Controller 制御ノード、ハイブリッドノードでは、ジョブ出力は
$NAME_OF_RECEPTOR_DIR_VAR
のディスクにバッファーリングされます。デフォルトでは/tmp
になります。 -
Automation Hub に同期されるコレクションのサイズと数量は、
$PATH_WHERE_PULP_STORES_COLLECTIONS
のストレージ要件に影響します。