Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

11.5. 配置自定义 master 主机证书

为了促进与 OpenShift Container Platform 的外部用户的可信连接,您可以置备一个与 Ansible 清单文件(默认为 /etc/ansible/hosts)中的 openshift_master_cluster_public_hostname 参数提供的域名匹配的命名证书。

您必须将此证书放在 Ansible 可访问的目录中,并在 Ansible 清单文件中添加路径,如下所示:

openshift_master_named_certificates=[{"certfile": "/path/to/console.ocp-c1.myorg.com.crt", "keyfile": "/path/to/console.ocp-c1.myorg.com.key", "names": ["console.ocp-c1.myorg.com"]}]

如果参数值是:

  • cert File 是包含 OpenShift Container Platform 自定义主 API 证书的文件的路径。
  • keyfile 是包含 OpenShift Container Platform 自定义主 API 证书密钥的文件的路径。
  • name 是集群的公共主机名。

对于 Ansible 允许,文件路径需要是系统的本地路径。证书被复制到 master 主机,并部署到 /etc/origin/master 目录中。

在保护 registry 时,将服务主机名和 IP 地址添加到 registry 的服务器证书中。主题备用名称(SAN)必须包含以下内容:

  • 两个服务主机名:

    docker-registry.default.svc.cluster.local
    docker-registry.default.svc
  • 服务 IP 地址.

    例如:

    172.30.252.46

    使用以下命令获取容器镜像 registry 服务 IP 地址:

    oc get service docker-registry --template='{{.spec.clusterIP}}'
  • 公共主机名.

    docker-registry-default.apps.example.com

    使用以下命令获取容器镜像 registry 公共主机名:

    oc get route docker-registry --template '{{.spec.host}}'

例如,服务器证书应包含类似如下的 SAN 详情:

X509v3 Subject Alternative Name:
               DNS:docker-registry-public.openshift.com, DNS:docker-registry.default.svc, DNS:docker-registry.default.svc.cluster.local, DNS:172.30.2.98, IP Address:172.30.2.98