1.3. 为外部数据库修改 Central 自定义资源
重要
外部 PostgreSQL 支持只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
您必须在数据库实例中有一个支持 PostgreSQL 13 和具有以下权限的用户的数据库:
- 对数据库的连接权利。
-
schema 的
Usage
和Create
。 -
对 schema 中的所有表的
Select
,Insert
,Update
, 和Delete
权限。 -
对 schema 中所有序列的
Usage
。
流程
使用 OpenShift Container Platform Web 控制台或终端在部署的命名空间中创建密码 secret。
-
在 OpenShift Container Platform web 控制台中进入 Workloads
Secrets 页面。使用密钥 password
和值创建一个 Key/Value secret,作为纯文本文件的路径,其中包含调配数据库的超级用户密码。 或者,在终端中运行以下命令:
$ 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 编辑器视图。
-
对于
db.passwordSecret.name
,请指定您在前面的步骤中创建的引用的 secret。例如,external-db-password
。 -
对于
db.connectionString
,使用keyword=value
格式指定连接字符串,例如 host=<host> port=5432 database=stackrox user=stackrox sslmode=verify-ca
-
对于
db.persistence
,请删除整个块。 如果需要,您可以通过在顶层 spec 中添加 TLS 块来为 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。