第 14 章 为构建设置其他可信证书颁发机构

在从镜像 registry 中拉取镜像时,参照以下部分设置构建可信任的额外证书颁发机构 (CA) 。

此流程要求集群管理员创建 ConfigMap,并在 configmap 中添加额外的 CA 作为密钥。

  • ConfigMap 必须在 openshift-config 命名空间中创建。
  • domain 是 ConfigMap 中的键;value 是 PEM 编码的证书。

    • 每个 CA 必须与某个域关联。域格式是 hostname[..port]
  • ConfigMap 名称必须在 image.config.openshift.io/cluster 集群范围配置资源的 spec.additionalTrustedCA 字段中设置。

14.1. 在集群中添加证书颁发机构

您可以将证书颁发机构 (CA) 添加到集群,以便按照以下方法在推送和拉取镜像时使用。

先决条件

  • 您必须具有集群管理员特权。
  • 您必须有权访问 registry 的公共证书,通常是位于 /etc/docker/certs.d/ 目录中的 hostname/ca.crt 文件。

流程

  1. openshift-config 命名空间中创建一个 ConfigMap,其中包含使用自签名证书的 registry 的可信证书。对于每个 CA 文件,请确保 ConfigMap 中的键是 hostname[..port] 格式的 registry 主机名:

    $ oc create configmap registry-cas -n openshift-config \
    --from-file=myregistry.corp.com..5000=/etc/docker/certs.d/myregistry.corp.com:5000/ca.crt \
    --from-file=otherregistry.com=/etc/docker/certs.d/otherregistry.com/ca.crt
  2. 更新集群镜像配置:

    $ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-cas"}}}' --type=merge