第4章 Operator トポロジー
Ansible Automation Platform Operator は、Red Hat OpenShift Operator を使用して、Red Hat OpenShift 内に Ansible Automation Platform をデプロイします。お客様は製品とインフラストラクチャーのライフサイクルを管理します。
1 つの namespace にインストールできる Ansible Automation Platform Operator のインスタンスは 1 つだけです。同じ namespace に複数のインスタンスをインストールすると、両方の Operator インスタンスで不適切な操作が発生する可能性があります。
4.1. Operator グローストポロジー
グローストポロジーは、Ansible Automation Platform の使用を開始し、大規模な自動化のために冗長性や大きな計算能力を確保する必要がない組織を対象としています。このトポロジーを使用すると、小さなフットプリントでデプロイできます。
4.1.1. インフラストラクチャートポロジー
次の図は、このデプロイメントモデルを使用して Red Hat がテストしたインフラストラクチャートポロジーの概要を示しています。このモデルは、お客様が Ansible Automation Platform を自己管理する際に使用できるものです。
図4.1 インフラストラクチャートポロジー図
シングルノード OpenShift (SNO) クラスターは、32 GB RAM、16 CPU、128 GB ローカルディスク、3000 IOPS という要件でテストされています。
数 | コンポーネント |
---|---|
1 | Automation Controller Web Pod |
1 | Automation Controller タスク Pod |
1 | Automation Hub API Pod |
2 | Automation Hub コンテンツ Pod |
2 | Automation Hub ワーカー Pod |
1 | Automation Hub Redis Pod |
1 | Event-Driven Ansible API Pod |
1 | Event-Driven Ansible アクティベーションワーカー Pod |
1 | Event-Driven Ansible デフォルトワーカー Pod |
1 | Event-Driven Ansible イベントストリーム Pod |
1 | Event-Driven Ansible スケジューラー Pod |
1 | プラットフォームゲートウェイ Pod |
1 | データベース Pod |
1 | Redis Pod |
4.1.2. テスト済みのシステム構成
Red Hat は、Red Hat Ansible Automation Platform をインストールして実行するために、次の構成をテストしました。
タイプ | 説明 |
---|---|
サブスクリプション | 有効な Red Hat Ansible Automation Platform サブスクリプション |
オペレーティングシステム | Red Hat Enterprise Linux 9.2 以降 |
CPU アーキテクチャー | x86_64, AArch64, s390x (IBM Z), ppc64le (IBM Power) |
Red Hat OpenShift |
|
Ansible-core | Ansible-core バージョン 2.16 以降 |
ブラウザー | 現在サポートされている Mozilla Firefox または Google Chrome のバージョン。 |
データベース | PostgreSQL 15 |
4.1.3. カスタムリソースファイルの例
次のサンプルカスタムリソース (CR) を使用して、Ansible Automation Platform インスタンスをプロジェクトに追加します。
apiVersion: aap.ansible.com/v1alpha1 kind: AnsibleAutomationPlatform metadata: name: <aap instance name> spec: eda: automation_server_ssl_verify: 'no' hub: storage_type: 's3' object_storage_s3_secret: '<name of the Secret resource holding s3 configuration>'
4.1.4. 非機能要件
Ansible Automation Platform のパフォーマンス特性と容量は、リソースの割り当てと設定の影響を受けます。OpenShift では、各 Ansible Automation Platform コンポーネントが Pod としてデプロイされます。各 Pod のリソース要求と制限を指定できます。
OpenShift インストールのリソースの割り当ては、Ansible Automation Platform カスタムリソース (CR) を使用して設定します。設定可能な各項目にはデフォルト設定があります。これらの設定はインストールの最小要件ですが、実稼働ワークロードのニーズを満たさない可能性があります。
デフォルトでは、各コンポーネントのデプロイメントは最小限のリソース要求に設定されていますが、リソース制限はありません。OpenShift は、利用可能なリソース要求を持つ Pod のみをスケジュールします。ただし、OpenShift ワーカーノード自体がプレッシャーを受けていない限り、Pod は RAM または CPU を無制限に消費できます。
Operator グローストポロジーでは、Ansible Automation Platform を、32 GB RAM、16 CPU、128 GB のローカルディスク、3000 IOPS を備えた Single Node OpenShift (SNO) にデプロイします。これは共有環境ではないため、Ansible Automation Platform の Pod に、OpenShift SNO のすべてのコンピュートリソースに対するフルアクセス権が付与されます。この場合、Automation Controller のタスク Pod の容量計算が、Pod を実行する基盤となる OpenShift Container Platform ノードに基づいて行われます。ノード全体にはアクセスできません。この容量計算は、Automation Controller が実行できる同時ジョブの数に影響します。
OpenShift は仮想マシンとは別にストレージを管理します。これは、Automation Hub がアーティファクトを保存する方法に影響します。Operator グローストポロジーでは、S3 ストレージを使用します。Automation Hub には、OpenShift のデフォルトのストレージタイプではない ReadWriteMany
タイプのストレージが必要であるためです。
4.1.5. ネットワークポート
Red Hat Ansible Automation Platform は、サービスとの通信に複数のポートを使用します。Red Hat Ansible Automation Platform サーバーを機能させるには、これらのポートを開いてサーバーへの着信接続に利用できるようにする必要があります。これらのポートが利用可能で、サーバーのファイアウォールでブロックされていないことを確認してください。
ポート番号 | プロトコル | サービス | ソース | 宛先 |
---|---|---|---|---|
27199 | TCP | Receptor | OpenShift Container Platform クラスター | 実行ノード |
27199 | TCP | Receptor | OpenShift Container Platform クラスター | ホップノード |
443 | HTTPS | Receptor | 実行ノード | OpenShift Container Platform Ingress |
443 | HTTPS | Receptor | ホップノード | OpenShift Container Platform Ingress |
443 | HTTPS | プラットフォーム | 顧客クライアント | OpenShift Container Platform Ingress |