第6章 クラスタリング
クラスタリングでは、ホスト間で負荷が共有されます。各インスタンスは、UI および API アクセスのエントリーポイントとして機能できる必要があります。これにより、Automation Controller 管理者は必要な数のインスタンスの手前でロードバランサーを使用し、良好なデータ可視性を維持できるようになります。
負荷分散はオプションで、必要に応じて 1 つまたはすべてのインスタンスで受信することも可能です。
各インスタンスは、Automation Controller のクラスターに参加して、ジョブを実行する機能を拡張できる必要があります。これは、ジョブをどこで実行するかを指定するのではなく、ジョブをどこでも実行できる簡単なシステムです。また、自動化実行の使用 で説明されているように、クラスターインスタンスを インスタンスグループ と呼ばれる異なるプールまたはキューにグループ化することもできます。
Ansible Automation Platform は、Kubernetes を使用したコンテナーベースのクラスターをサポートしています。つまり、このプラットフォームに新しい Automation Controller インスタンスを、機能の変更や転換を行うことなくインストールできます。Kubernetes コンテナーを指定するインスタンスグループを作成できます。詳細は、自動化実行の使用 の インスタンスとコンテナーグループ セクションを参照してください。
サポート対象オペレーティングシステム
クラスター環境の確立には、以下のオペレーティングシステムがサポートされます。
- Red Hat Enterprise Linux 8.7 以降である。
OpenShift での分離インスタンスと Automation Controller の実行の組み合わせはサポートされません。
6.1. セットアップに関する考慮事項
クラスターの初期セットアップを説明します。既存のクラスターをアップグレードするには、Ansible Automation Platform Upgrade and Migration Guide の Upgrade Planning を参照してください。
新規のクラスタリング環境では、次の重要な留意事項に注意してください。
- PostgreSQL はスタンドアロンインスタンスであり、クラスター化されていません。Automation Controller は、(ユーザーがスタンバイレプリカを設定した場合) レプリカ設定やデータベースフェイルオーバーを管理しません。
- クラスターを起動する場合は、データベースノードをスタンドアロンサーバーにする必要があります。PostgreSQL は Automation Controller ノードの 1 つにインストールしないでください。
-
PgBouncer は、Automation Controller を使用した接続プールには推奨されません。Automation Controller は、さまざまなコンポーネント間でのメッセージの送信に
pg_notify
を使用しているため、PgBouncer
をトランザクションプールモードですぐに使用することはできません。 - 全インスタンスは他のすべてのインスタンスからアクセス可能であり、データベースにアクセスできる必要があります。ホストが安定したアドレスまたはホスト名を持つことも重要です (Automation Controller ホストの設定に応じて異なります)。
- 全インスタンスは、地理的に近い場所に配置する必要があります。インスタンス間はレイテンシーが低く信頼性のある接続を使用します。
-
クラスター環境にアップグレードするには、プライマリーインスタンスがインベントリーの
default
グループに属し、default
グループの最初のホストとしてリストされている必要があります。 - 手動のプロジェクトでは、顧客が手動で全インスタンスを同期して、一度に全インスタンスを更新する必要があります。
-
プラットフォームデプロイメントの
inventory
ファイルは、保存または永続化する必要があります。新規インスタンスをプロビジョニングする場合は、インストールプログラムでパスワード、設定オプション、およびホスト名を使用する必要があります。