3.4. 使用配置捆绑包配置自定义 SSL/TLS 证书
您可以在初始部署前配置自定义 SSL/TLS 证书,或者在 OpenShift Container Platform 上部署 Red Hat Quay 后配置。这可以通过创建或更新配置捆绑包 secret 来完成。
如果要将证书添加到现有部署中,则必须在新配置捆绑包 secret 中包含现有的 config.yaml 文件,即使您没有进行任何更改。
使用以下步骤添加自定义 SSL/TLS 证书。
流程
在
QuayRegistryYAML 文件中,将kind: tls设置为managed:false,例如:- kind: tls managed: false导航到 Events 页面,这应该显示更改被阻止,直到您设置适当的配置为止。例如:
- lastTransitionTime: '2022-03-28T12:56:49Z' lastUpdateTime: '2022-03-28T12:56:49Z' message: >- required component `tls` marked as unmanaged, but `configBundleSecret` is missing necessary fields reason: ConfigInvalid status: 'True'使用嵌入式数据或使用文件创建 secret。
直接将配置详情嵌入到
Secret资源 YAML 文件中。例如:custom-ssl-config-bundle.yaml
apiVersion: v1 kind: Secret metadata: name: custom-ssl-config-bundle-secret namespace: quay-enterprise data: config.yaml: | 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 extra_ca_cert_my-custom-ssl.crt: | -----BEGIN CERTIFICATE----- MIIDsDCCApigAwIBAgIUCqlzkHjF5i5TXLFy+sepFrZr/UswDQYJKoZIhvcNAQEL BQAwbzELMAkGA1UEBhMCSUUxDzANBgNVBAgMBkdBTFdBWTEPMA0GA1UEBwwGR0FM .... -----END CERTIFICATE-----从 YAML 文件创建 secret:
$ oc create -f custom-ssl-config-bundle.yaml
..
另外,您可以创建包含所需信息的文件,然后从这些文件创建 secret。
输入以下命令创建一个包含
config.yaml文件和custom-ssl.crt文件的通用Secret对象:$ oc create secret generic custom-ssl-config-bundle-secret \ --from-file=config.yaml \ --from-file=extra_ca_cert_my-custom-ssl.crt=my-custom-ssl.crt
创建或更新
QuayRegistryYAML 文件,引用创建的Secret,例如:QuayRegistryYAML 文件示例apiVersion: quay.redhat.com/v1 kind: QuayRegistry metadata: name: example-registry namespace: quay-enterprise spec: configBundleSecret: custom-ssl-config-bundle-secret
输入以下命令使用 YAML 文件部署或更新 registry:
oc apply -f quayregistry.yaml