1.3. 为外部数据库修改 Central 自定义资源


重要

外部 PostgreSQL 支持只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围

先决条件

  • 您必须在数据库实例中有一个支持 PostgreSQL 13 和具有以下权限的用户的数据库:

    • 对数据库的连接权利。
    • schema 的 UsageCreate
    • 对 schema 中的所有表的 Select, Insert, Update, 和 Delete 权限。
    • 对 schema 中所有序列的 Usage

流程

  1. 使用 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
      1
      如果使用 Kubernetes,请输入 kubectl 而不是 oc
      2
      使用纯文本密码的文件的路径替换 password.txt
  2. 进入 OpenShift Container Platform Web 控制台中的 Red Hat Advanced Cluster Security for Kubernetes operator 页面。在顶部导航栏中选择 Central,再选择您要连接到数据库的实例。
  3. 进入 YAML 编辑器视图。
  4. 对于 db.passwordSecret.name,请指定您在前面的步骤中创建的引用的 secret。例如,external-db-password
  5. 对于 db.connectionString,使用 keyword=value 格式指定连接字符串,例如 host=< host> port=5432 database=stackrox user=stackrox sslmode=verify-ca
  6. 对于 db.persistence,请删除整个块。
  7. 如果需要,您可以通过在顶层 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
  8. 点击 Save
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.