$ oc create configmap trusted-ca -n cert-manager
如果在 OpenShift Container Platform 中配置了集群范围的出站代理,则 Operator Lifecycle Manager (OLM) 会自动为其管理的运算符配置集群范围的代理。OLM 会自动使用HTTP_PROXY
、HTTPS_PROXY
、NO_PROXY
环境变量更新所有运算符的部署。
您可以将任何用于代理 HTTPS 连接所需的 CA 证书注入到 Red Hat OpenShift 的 cert-manager 运算符中。
如果您的 OpenShift Container Platform 集群启用了集群范围的代理,您可以将任何用于代理 HTTPS 连接所需的 CA 证书注入到 Red Hat OpenShift 的 cert-manager 运算符中。
您可以作为具有cluster-admin
角色的用户访问集群。
您已为 OpenShift Container Platform 启用集群范围的代理。
通过运行以下命令在cert-manager
命名空间中创建配置映射
$ oc create configmap trusted-ca -n cert-manager
通过运行以下命令将 OpenShift Container Platform 信任的 CA 捆绑包注入到配置映射中
$ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
通过运行以下命令更新 Red Hat OpenShift 的 cert-manager 运算符的部署以使用配置映射
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
通过运行以下命令验证部署是否已完成推出
$ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator && \
oc rollout status deployment/cert-manager -n cert-manager && \
oc rollout status deployment/cert-manager-webhook -n cert-manager && \
oc rollout status deployment/cert-manager-cainjector -n cert-manager
deployment "cert-manager-operator-controller-manager" successfully rolled out
deployment "cert-manager" successfully rolled out
deployment "cert-manager-webhook" successfully rolled out
deployment "cert-manager-cainjector" successfully rolled out
通过运行以下命令验证 CA 捆绑包是否已作为卷挂载
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.'containers[0].volumeMounts'}
[{"mountPath":"/etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt","name":"trusted-ca","subPath":"ca-bundle.crt"}]
通过运行以下命令验证 CA 捆绑包的来源是否为trusted-ca
配置映射
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.volumes}
[{"configMap":{"defaultMode":420,"name":"trusted-ca"},"name":"trusted-ca"}]