1.3. 外部データベースの Central カスタムリソースの変更
前提条件
PostgreSQL 13 をサポートするデータベースインスタンスと、以下のパーミッションを持つユーザーにデータベースが必要です。
- データベースに接続する権限。
-
スキーまでの
Usage
およびCreate
。 -
スキーマ内のすべてのテーブルでの
Select
、Insert
、Update
、およびDelete
。 -
スキーマ内のすべてのシーケンスでの
Usage
。
手順
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 database=stackrox user=stackrox sslmode=verify-ca
)。 -
db.persistence
の場合は、ブロック全体を削除します。 必要に応じて、次の例に示すように、最上位の仕様の下に TLS ブロックを追加することで、Central がデータベース証明書を信頼する認証局を指定できます。
次の設定で Central カスタムリソースを更新します。
spec: tls: additionalCAs: - name: db-ca content: | <certificate> central: db: isEnabled: Default 1 connectionString: "host=<host> port=5432 user=<user> sslmode=verify-ca" passwordSecret: name: external-db-password
- 1
IsEnabled
の値をEnabled
に変更しないでください。
- Save をクリックします。