1.3. 外部データベースの Central カスタムリソースの変更
外部 PostgreSQL サポートはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
前提条件
- PostgreSQL 13 をサポートするデータベースをプロビジョニングしており、それを RHACS にのみ使用している。
- ユーザーは、データベースを作成および削除できるスーパーユーザーである。
- マルチテナントデータベースは現在サポートされていません。
- PgBouncer を介した接続はサポートされていません。
手順
OpenShift Container Platform Web コンソールまたはターミナルを使用して、デプロイされた namespace にパスワードシークレットを作成します。
-
OpenShift Container Platform Web コンソールで、Workloads
Secrets ページに移動します。キー password、およびプロビジョニングされたデータベースのスーパーユーザーのパスワードを含むプレーンテキストファイルのパスとしての値を使用して、キー/値のシークレット を作成します。 または、ターミナルで次のコマンドを実行します。
$ oc create secret generic external-db-password \1 --from-file=password=<password.txt>2
-
OpenShift Container Platform Web コンソールで、Workloads
- OpenShift Container Platform Web コンソールの Red Hat Advanced Cluster Security for Kubernetes Operator ページに移動します。上部のナビゲーションバーで Central を選択し、データベースに接続するインスタンスを選択します。
- YAML editor ビューに移動します。
-
db.passwordSecret.nameには、前の手順で作成した参照シークレットを指定します。たとえば、external-db-passwordです。 -
db.connectionStringには、keyword=value形式で接続文字列を指定します。たとえば、host=<host> port=5432 user=postgres sslmode=verify-caです。 -
db.persistenceの場合は、ブロック全体を削除します。 必要に応じて、次の例に示すように、最上位の仕様の下に TLS ブロックを追加することで、Central がデータベース証明書を信頼する認証局を指定できます。
次の設定で Central カスタムリソースを更新します。
spec: tls: additionalCAs: - name: db-ca content: | <certificate> central: db: isEnabled: Default1 connectionString: "host=<host> port=5432 user=<user> sslmode=verify-ca" passwordSecret: name: external-db-password- 1
IsEnabledの値をEnabledに変更しないでください。
- Save をクリックします。