1.4. 了解 configBundleSecret
spec.configBundleSecret 字段是对与 QuayRegistry 资源相同的命名空间中的 Secret 名称的可选引用。此 Secret 必须包含 config.yaml 键/值对,其中值为 Red Hat Quay 配置文件。
configBundleSecret 存储 config.yaml 文件。Red Hat Quay 管理员可以通过 config.yaml 文件定义以下设置:
- 身份验证后端(如 OIDC、LDAP)
- 外部 TLS 终止设置
- 仓库创建策略
- 功能标记
- 通知设置
Red Hat Quay 可能会因为以下原因更新此 secret:
- 启用一个新的验证方法
- 添加自定义 SSL/TLS 证书
- 启用功能
- 修改安全扫描设置
如果省略此字段,Red Hat Quay Operator 会自动根据默认值和受管组件设置生成配置 secret。如果提供了字段,则 config.yaml 的内容将用作基础配置,并且与来自受管组件的值合并,以组成最终配置,该配置被挂载到 quay 应用程序 Pod 中。
如何配置 QuayRegistry CR,决定哪些字段必须包含在 OpenShift Container Platform 上的 Red Hat Quay 的 configBundleSecret's 'config.yaml 文件中。以下示例显示,当所有组件都由 Operator 管理时,您是一个默认的 config.yaml 文件。请注意,此示例根据组件是管理的还是非受管(受管:false)而不同。
带有 Operator 管理的所有组件的 YAML 示例
在某些情况下,您可以选择自己管理某些组件,如对象存储。在这种情况下,您将修改 QuayRegistry CR,如下所示:
Unmanaged objectstorage 组件
# ...
- kind: objectstorage
managed: false
# ...
# ...
- kind: objectstorage
managed: false
# ...
如果您要管理自己的组件,则必须将部署配置为包含该组件的必要信息或资源。例如,如果 objectstorage 组件被设置为 managed: false,您可以根据 config.yaml 文件中的存储供应商包含相关信息。以下示例显示了使用 Google Cloud Storage 的分布式存储配置:
objectstorage 非受管时所需的信息
同样,如果您要管理 horizontalpodautoscaler 组件,您必须创建一个附带的 HorizontalPodAutoscaler 自定义资源。