×

如果在 OpenShift Container Platform 中配置了集群范围的出站代理,则 Operator Lifecycle Manager (OLM) 会自动为其管理的运算符配置集群范围的代理。OLM 会自动使用HTTP_PROXYHTTPS_PROXYNO_PROXY环境变量更新所有运算符的部署。

您可以将任何用于代理 HTTPS 连接所需的 CA 证书注入到 Red Hat OpenShift 的 cert-manager 运算符中。

为 Red Hat OpenShift 的 cert-manager 运算符注入自定义 CA 证书

如果您的 OpenShift Container Platform 集群启用了集群范围的代理,您可以将任何用于代理 HTTPS 连接所需的 CA 证书注入到 Red Hat OpenShift 的 cert-manager 运算符中。

先决条件
  • 您可以作为具有cluster-admin角色的用户访问集群。

  • 您已为 OpenShift Container Platform 启用集群范围的代理。

步骤
  1. 通过运行以下命令在cert-manager命名空间中创建配置映射

    $ oc create configmap trusted-ca -n cert-manager
  2. 通过运行以下命令将 OpenShift Container Platform 信任的 CA 捆绑包注入到配置映射中

    $ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
  3. 通过运行以下命令更新 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"}]}}}'
验证
  1. 通过运行以下命令验证部署是否已完成推出

    $ 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
  2. 通过运行以下命令验证 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"}]
  3. 通过运行以下命令验证 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"}]