3.3. Red Hat Ansible Automation Platform Operator に Automation Controller 用の外部データベースを設定する
外部データベースを使用して Ansible Automation Platform をデプロイすることを希望するユーザーは、インスタンスの認証情報と接続情報を使用してシークレットを設定し、oc create
コマンドを使用してクラスターに適用するとデプロイできるようになります。
デフォルトでは、Ansible Automation Platform Operator は、Ansible Automation Platform デプロイメントと同じ namespace にマネージド PostgreSQL Pod を自動的に作成および設定します。Ansible Automation Platform Operator が自動的に作成するマネージド PostgreSQL Pod の代わりに、外部データベースを使用して Ansible Automation Platform をデプロイすることもできます。
外部データベースを使用すると、リソースを共有して再利用でき、バックアップ、アップグレード、およびパフォーマンスの最適化を手動で管理できます。
データベース名が異なる限り、Automation Hub と Automation Controller の両方に同じ外部データベース (PostgreSQL インスタンス) を使用できます。つまり、単一の PostgreSQL インスタンス内に異なる名前のデータベースを複数指定できます。
次のセクションでは、Ansible Automation Platform Operator に Automation Controller の外部データベースを設定する手順を説明します。
前提条件
外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。
Ansible Automation Platform 2.4 は PostgreSQL 13 をサポートします。
手順
外部の postgres インスタンスの認証情報と接続情報はシークレットに保存する必要があります。この情報は、Automation Controller 仕様に設定されます。
以下のテンプレートに従って、.yaml ファイル
postgres_configuration_secret
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: v1 kind: Secret metadata: name: external-postgres-configuration namespace: <target_namespace> stringData: host: "<external_ip_or_url_resolvable_by_the_cluster>" port: "<external_port>" database: "<desired_database_name>" username: "<username_to_connect_as>" password: "<password_to_connect_with>" sslmode: "prefer" type: "unmanaged" type: Opaque
apiVersion: v1 kind: Secret metadata: name: external-postgres-configuration namespace: <target_namespace>
1 stringData: host: "<external_ip_or_url_resolvable_by_the_cluster>"
2 port: "<external_port>"
3 database: "<desired_database_name>" username: "<username_to_connect_as>" password: "<password_to_connect_with>"
4 sslmode: "prefer"
5 type: "unmanaged" type: Opaque
- 1
- シークレットを作成する namespace。これは、デプロイ先の namespace と同じにする必要があります。
- 2
- データベースノードの解決可能なホスト名です。
- 3
- 外部ポートのデフォルトは
5432
です。 - 4
- 変数
password
の値には、デプロイ、バックアップ、または復元中の問題を回避するために、一重引用符 (')、二重引用符 (")、またはバックスラッシュ (\) を含めないでください。 - 5
- 変数
sslmode
は、external
データベースに対してのみ有効です。使用できる値は、prefer
、disable
、allow
、require
、verify-ca
、およびverify-full
です。
oc create
コマンドを使用して、external-postgres-configuration-secret.yml
をクラスターに適用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f external-postgres-configuration-secret.yml
$ oc create -f external-postgres-configuration-secret.yml
AutomationController
カスタムリソースオブジェクトを作成するときは、以下の例に従って、仕様にシークレットを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: automationcontroller.ansible.com/v1beta1 kind: AutomationController metadata: name: controller-dev spec: postgres_configuration_secret: external-postgres-configuration
apiVersion: automationcontroller.ansible.com/v1beta1 kind: AutomationController metadata: name: controller-dev spec: postgres_configuration_secret: external-postgres-configuration