11.4. 为 Web 控制台或 CLI 配置自定义证书
您可以通过主配置文件 的 serviceInfo
部分为 web 控制台和 CLI 指定自定义证书:
-
serviceInfo.namedCertificates
部分为 web 控制台提供自定义证书。 -
serviceInfo
部分提供 CLI 和其它 API 调用的自定义证书。
您可以以这种方式配置多个证书,每个证书都可与多个主机名、多个路由器或 OpenShift Container Platform 镜像 registry 关联。
除了 namedCertificates
外,还必须在 serviceInfo.certFile
和 serviceInfo.keyFile
配置部分中配置默认证书。
namedCertificates
部分应仅为与 /etc/origin/master/master-config.yaml 文件中的 masterPublicURL
和 oauthConfig.assetPublicURL
设置关联的主机名配置。将自定义服务证书用于与
关联的主机名将导致 TLS 错误,因为基础架构组件将尝试使用内部 masterURL 主机联系 master API。
masterURL
自定义证书配置
servingInfo: logoutURL: "" masterPublicURL: https://openshift.example.com:8443 publicURL: https://openshift.example.com:8443/console/ bindAddress: 0.0.0.0:8443 bindNetwork: tcp4 certFile: master.server.crt 1 clientCA: "" keyFile: master.server.key 2 maxRequestsInFlight: 0 requestTimeoutSeconds: 0 namedCertificates: - certFile: wildcard.example.com.crt 3 keyFile: wildcard.example.com.key 4 names: - "openshift.example.com" metricsPublicURL: "https://metrics.os.example.com/hawkular/metrics"
Ansible 清单文件(默认为 /etc/ansible/hosts
)中的 openshift_master_cluster_public_hostname
和 openshift_master_cluster_hostname
参数必须是不同的。如果它们相同,命名的证书将失败,您需要重新安装它们。
# Native HA with External LB VIPs openshift_master_cluster_hostname=internal.paas.example.com openshift_master_cluster_public_hostname=external.paas.example.com
有关在 OpenShift Container Platform 中使用 DNS 的更多信息,请参阅 DNS 安装先决条件。
这种方法允许您利用 OpenShift Container Platform 生成的自签名证书,并根据需要将自定义可信证书添加到各个组件中。
请注意,内部基础架构证书仍是自签名的,这可能被某些安全或 PKI 团队视为不当做法。但是,这里的风险最小,因为信任这些证书的唯一客户端是集群中的其他组件。所有外部用户和系统都使用自定义可信证书。
相对路径基于主配置文件的位置解析。重启服务器以获取配置更改。