5.2. 当在 Kubernetes 上部署 Red Hat Quay 时添加自定义 SSL/TLS 证书
在 Kubernetes 上部署时,Red Hat Quay 将作为卷挂载到 secret 中来存储配置资产。目前,这会破坏超级用户面板的上传证书功能。
作为临时解决方案,在部署 Red Hat Quay 后,base64
编码证书可以添加到 secret 中。
在 Kubernetes 上部署 Red Hat Quay 时,请使用以下步骤添加自定义 SSL/TLS 证书。
先决条件
- Red Hat Quay 已部署。
-
您有一个自定义
ca.crt
文件。
流程
输入以下命令对 SSL/TLS 证书的内容进行 Base64 编码:
$ cat ca.crt | base64 -w 0
输出示例
...c1psWGpqeGlPQmNEWkJPMjJ5d0pDemVnR2QNCnRsbW9JdEF4YnFSdVd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
输入以下
kubectl
命令来编辑quay-enterprise-config-secret
文件:$ kubectl --namespace quay-enterprise edit secret/quay-enterprise-config-secret
为证书添加一个条目,并将完整的
base64
编码字符串er 粘贴到该条目下。例如:custom-cert.crt: c1psWGpqeGlPQmNEWkJPMjJ5d0pDemVnR2QNCnRsbW9JdEF4YnFSdVd3PT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
使用
kubectl delete
命令删除所有 Red Hat Quay pod。例如:$ kubectl delete pod quay-operator.v3.7.1-6f9d859bd-p5ftc quayregistry-clair-postgres-7487f5bd86-xnxpr quayregistry-quay-app-upgrade-xq2v6 quayregistry-quay-database-859d5445ff-cqthr quayregistry-quay-redis-84f888776f-hhgms
之后,Red Hat Quay 部署会自动将 pod 替换为新证书数据。