第3章 Operator トポロジー
Ansible Automation Platform は、OpenShift Container Platform 上の Ansible Automation Platform 用にテスト済みのトポロジーを提供します。Operator ベースのデプロイメント要件に最適なトポロジーを選択します。
1 つの namespace にインストールできる Ansible Automation Platform Operator のインスタンスは 1 つだけです。同じ namespace に複数のインスタンスをインストールすると、両方の Operator インスタンスで不適切な操作が発生する可能性があります。
3.1. Operator グローストポロジー リンクのコピーリンクがクリップボードにコピーされました!
Operator ベースのグローストポロジーは、Red Hat OpenShift Container Platform 上で Ansible Automation Platform を使い始める組織向けに、冗長性のないフットプリントの小さいデプロイメントを提供します。テスト済みのインフラストラクチャートポロジー、システム要件、ネットワークポート設定、およびインストール用のカスタムリソースファイルの例が含まれています。
3.1.1. インフラストラクチャートポロジー リンクのコピーリンクがクリップボードにコピーされました!
Red Hat はこのデプロイメントモデルに対してインフラストラクチャートポロジーをテストしました。
図3.1 インフラストラクチャートポロジー図
Redis と PostgreSQL は Operator ベースのインストールプロセス中にインストールできますが、このトポロジーの図は、Redis と PostgreSQL の両方が Ansible Automation Platform の外部にある、Red Hat によるサポート対象のトポロジーを表しています。
Red Hat は、32 GB の RAM、16 個の CPU、128 GB のローカルディスク、3000 IOPS の要件で、Single Node OpenShift (SNO) クラスターをテストします。
| Count | コンポーネント |
|---|---|
| 1 | Automation Controller Web Pod |
| 1 | Automation Controller タスク Pod |
| 1 | Automation Hub Web 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 |
Ansible Automation Platform の複数の分離されたインスタンスを同じ Red Hat OpenShift Container Platform クラスターにデプロイできます。これを行うには、名前空間スコープのデプロイメントモデル (名前空間内で分離) を使用します。
この方法により、同じクラスターを複数のデプロイメントに使用できます。
3.1.2. テスト済みのシステム構成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、Red Hat Ansible Automation Platform をインストールおよび実行するために、次の設定をテストしました。
| タイプ | 説明 | 注記 |
|---|---|---|
| サブスクリプション | 有効な Red Hat Ansible Automation Platform サブスクリプション | |
| Red Hat OpenShift |
| |
| Ansible-core | Ansible-core バージョン 2.16 以降 | |
| ブラウザー | 現在サポートされている Mozilla Firefox または Google Chrome のバージョン。 | |
| データベース |
|
|
| IP バージョン | IPv4、IPv6 (シングルスタックとデュアルスタック) |
3.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>'
3.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 グローストポロジーでは、Automation Hub に OpenShift のデフォルトのストレージタイプではない ReadWriteMany タイプのストレージが必要であるため、トポロジーは S3 ストレージを使用します。
3.1.5. ネットワークポート リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform は、サービスとの通信に複数のポートを使用します。Red Hat Ansible Automation Platform が動作するには、これらのポートが開いていて利用できるようにする必要があります。これらのポートが利用可能であり、ファイアウォールによってブロックされていないことを確認してください。
| ポート番号 | プロトコル | サービス | ソース | 宛先 |
|---|---|---|---|---|
| 80/443 | HTTP/HTTPS | Receptor | 実行ノード | OpenShift Container Platform Ingress |
| 80/443 | HTTP/HTTPS | Receptor | ホップノード | OpenShift Container Platform Ingress |
| 80/443 | HTTP/HTTPS | プラットフォーム | 顧客クライアント | OpenShift Container Platform Ingress |
| 27199 | TCP | Receptor | OpenShift Container Platform クラスター | 実行ノード |
| 27199 | TCP | Receptor | OpenShift Container Platform クラスター | ホップノード |