3.2. 在 OpenShift Container Platform 上的 Red Hat Quay 中添加额外的证书颁发机构


在 OpenShift Container Platform 上的 Red Hat Quay 中,使用 extra_ca_certs 配置字段将额外证书颁发机构(CA)填充到 CA 目录中,然后将 CA 添加到系统信任捆绑包中。Red Hat Quay 使用这些证书来验证与 LDAP、OIDC 和存储系统等外部服务的 SSL/TLS 连接。

在 OpenShift Container Platform 上部署或重新部署 Red Hat Quay 时,您可以将一个或多个 CA 添加到 CA 目录中,以确保外部服务被正确保护并验证。在 OpenShift Container Platform 部署的 Red Hat Quay 中,您必须手动将 extra_ca_certs 配置字段添加到 config.yaml 文件中,并将 config.yaml 重新上传到 OpenShift Container Platform。

以下流程演示了如何下载现有配置文件,将额外的 CA 添加到 OpenShift Container Platform 部署的 Red Hat Quay 中,然后重新上传配置文件。

3.2.1. 下载现有配置

以下流程演示了如何通过查找 Config Bundle Secret 来下载现有配置。

流程

  1. 输入以下命令描述 QuayRegistry 资源:

    $ oc describe quayregistry -n <quay_namespace>
    # ...
      Config Bundle Secret:  example-registry-config-bundle-v123x
    # ...
  2. 输入以下命令来获取 secret 数据:

    $ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'

    输出示例

    {
        "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo="
    }

  3. 输入以下命令解码数据:

    $ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode

    输出示例

    FEATURE_USER_INITIALIZE: true
    BROWSER_API_CALLS_XHR_ONLY: false
    SUPER_USERS:
    - quayadmin
    FEATURE_USER_CREATION: false
    FEATURE_QUOTA_MANAGEMENT: true
    FEATURE_PROXY_CACHE: true
    FEATURE_BUILD_SUPPORT: true
    DEFAULT_SYSTEM_REJECT_QUOTA_BYTES: 102400000

  4. 可选。您可以通过传递 >> config.yaml 标志,将数据导出到当前目录中。例如:

    $ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml

3.2.2. 在 OpenShift Container Platform 上的 Red Hat Quay 中添加额外的证书颁发机构

以下示例演示了如何在 OpenShift Container Platform 部署的 Red Hat Quay 中添加额外的证书颁发机构。

先决条件

  • 您有 base64 将原始配置捆绑包解码为一个 config.yaml 文件。如需更多信息 ,请参阅下载现有配置
  • 您有一个证书颁发机构(CA)文件或文件。

流程

  1. 创建新的 YAML 文件,如 extra-ca-certificate-config-bundle-secret.yaml

    $ touch extra-ca-certificate-config-bundle-secret.yaml
  2. 创建 extra-ca-certificate-config-bundle-secret 资源。

    1. 运行以下命令来创建资源:

      $ oc -n <namespace> create secret generic extra-ca-certificate-config-bundle-secret \
        --from-file=config.yaml=</path/to/config.yaml> \ 1
        --from-file=extra_ca_cert_<name-of-certificate-one>=<path/to/certificate_one> \ 2
        --from-file=extra_ca_cert_<name-of-certificate-two>=<path/to/certificate_two> \ 3
        --from-file=extra_ca_cert_<name-of-certificate-three>=<path/to/certificate_three> \ 4
        --dry-run=client -o yaml > extra-ca-certificate-config-bundle-secret.yaml
      1
      其中 <config.yaml& gt; 是您的 base64 解码config.yaml 文件。
      2
      要添加到系统信任捆绑包中的额外 CA 文件。
      3
      可选。要添加到系统信任捆绑包中的第二个 CA 文件。
      4
      可选。要添加到系统信任捆绑包中的第三个 CA 文件。
  3. 可选。您可以输入以下命令来检查 extra-ca-certificate-config-bundle-secret.yaml 文件的内容:

    $ cat extra-ca-certificate-config-bundle-secret.yaml

    输出示例

    apiVersion: v1
    data:
      config.yaml: QUxMT1dfUFVMTFNfV0lUSE9VVF9TVFJJQ1RfTE9HR0lORzogZmFsc2UKQVVUSEVOVElDQVRJT05fVFlQRTogRGF0YWJhc2UKREVGQVVMVF9UQUdfRVhQSVJBVElPTjogMncKUFJFRkVSU...
      extra_ca_cert_certificate-one: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQyVENDQXNHZ0F3SUJBZ0lVS2xOai90VUJBZHBkNURjYkdRQUo4anRuKzd3d0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
      extra_ca_cert_certificate-three: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ0ekNDQXN1Z0F3SUJBZ0lVQmJpTXNUeExjM0s4ODNWby9GTThsWXlOS2lFd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
      extra_ca_cert_certificate-two: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQ0ekNDQXN1Z0F3SUJBZ0lVVFVPTXZ2YVdFOFRYV3djYTNoWlBCTnV2QjYwd0RRWUpLb1pJaHZjTkFRRUwKQlFBd2ZERUxNQWtHQ...
    kind: Secret
    metadata:
      creationTimestamp: null
      name: custom-ssl-config-bundle-secret
      namespace: <namespace>

  4. 输入以下命令来创建 configBundleSecret 资源:

    $ oc create -n <namespace> -f extra-ca-certificate-config-bundle-secret.yaml

    输出示例

    secret/extra-ca-certificate-config-bundle-secret created

  5. 输入以下命令更新 QuayRegistry YAML 文件,以引用 extra-ca-certificate-config-bundle-secret 对象:

    $ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"extra-ca-certificate-config-bundle-secret"}}'

    输出示例

    quayregistry.quay.redhat.com/example-registry patched

  6. 输入以下命令来确保 QuayRegistry YAML 文件已更新为使用额外的 CA 证书 configBundleSecret 资源:

    $ oc get quayregistry <registry_name> -n <namespace> -o yaml

    输出示例

    # ...
      configBundleSecret: extra-ca-certificate-config-bundle-secret
    # ...

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.