4.5. Red Hat Ansible Automation Platform Operator での Automation Hub 用の外部データベースの設定
外部データベースを使用して Ansible Automation Platform をデプロイすることを希望するユーザーは、インスタンスの認証情報と接続情報を使用してシークレットを設定し、oc create コマンドを使用してクラスターに適用するとデプロイできるようになります。
デフォルトでは、Ansible Automation Platform Operator は、Ansible Automation Platform デプロイメントと同じ namespace にマネージド PostgreSQL Pod を自動的に作成および設定します。
専用のノードを使用して専用のリソースを確保する場合や、バックアップ、アップグレード、またはパフォーマンス調整を手動で管理する場合は、代わりに外部データベースを選択できます。
データベース名が異なる限り、Automation Hub と Automation Controller の両方に同じ外部データベース (PostgreSQL インスタンス) を使用できます。つまり、単一の PostgreSQL インスタンス内に異なる名前のデータベースを複数指定できます。
次のセクションでは、Ansible Automation Platform Operator に Automation Hub 用の外部データベースを設定する手順を説明します。
前提条件
外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。
Ansible Automation Platform 2.4 は PostgreSQL 15 をサポートします。
手順
外部の postgres インスタンスのクレデンシャルと接続情報はシークレットに保存する必要があります。シークレットは Automation Hub の仕様に設定されます。
以下のテンプレートに従って、.yaml ファイル
postgres_configuration_secretを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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をクラスターに適用します。oc create -f external-postgres-configuration-secret.yml
$ oc create -f external-postgres-configuration-secret.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow AutomationHubカスタムリソースオブジェクトを作成するときは、以下の例に従って、仕様にシークレットを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.5.1. Automation Hub PostgreSQL データベースの hstore 拡張機能の有効化 リンクのコピーリンクがクリップボードにコピーされました!
Ansible Automation Platform 2.4 以降、データベース移行スクリプトは hstore フィールドを使用して情報を保存するため、Automation Hub PostgreSQL データベースの hstore 拡張機能を有効にする必要があります。
Ansible Automation Platform インストーラーとマネージド PostgreSQL サーバーを使用する場合、このプロセスは自動的に行われます。
PostgreSQL データベースが外部にある場合は、Automation Hub をインストールする前に、Automation Hub PostreSQL データベースの hstore 拡張機能を手動で有効にする必要があります。
Automation Hub のインストール前に hstore 拡張機能が有効になっていない場合は、データベースの移行中にエラーが発生します。
手順
拡張機能が PostgreSQL サーバー (Automation Hub データベース) で利用できるかどうかを確認します。
psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"
$ psql -d <automation hub database> -c "SELECT * FROM pg_available_extensions WHERE name='hstore'"Copy to Clipboard Copied! Toggle word wrap Toggle overflow <automation hub database>のデフォルト値はautomationhubです。hstoreが利用できる場合の出力例:name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version |comment ------+-----------------+-------------------+--------------------------------------------------- hstore | 1.7 | | data type for storing sets of (key, value) pairs (1 row)Copy to Clipboard Copied! Toggle word wrap Toggle overflow hstoreが利用できない場合の出力例:name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)
name | default_version | installed_version | comment ------+-----------------+-------------------+--------- (0 rows)Copy to Clipboard Copied! Toggle word wrap Toggle overflow RHEL ベースのサーバーでは、
hstore拡張機能はpostgresql-contribRPM パッケージに含まれていますが、PostgreSQL サーバー RPM パッケージのインストール時に自動的にインストールされません。RPM パッケージをインストールするには、次のコマンドを使用します。
dnf install postgresql-contrib
dnf install postgresql-contribCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、Automation Hub データベースに
hstorePostgreSQL 拡張機能を作成します。psql -d <automation hub database> -c "CREATE EXTENSION hstore;"
$ psql -d <automation hub database> -c "CREATE EXTENSION hstore;"Copy to Clipboard Copied! Toggle word wrap Toggle overflow その出力は次のとおりです。
CREATE EXTENSION
CREATE EXTENSIONCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の出力では、使用されている
hstore拡張子がinstalled_versionフィールドに含まれており、hstoreが有効であることを示しています。name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)
name | default_version | installed_version | comment -----+-----------------+-------------------+------------------------------------------------------ hstore | 1.7 | 1.7 | data type for storing sets of (key, value) pairs (1 row)Copy to Clipboard Copied! Toggle word wrap Toggle overflow