This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第 3 章 配置证书
3.1. 替换默认入口证书
3.1.1. 了解默认入口证书
					默认情况下,OpenShift Container Platform 使用 Ingress Operator 创建内部 CA 并发布对 .apps 子域下应用程序有效的通配符证书。web 控制台和 CLI 也使用此证书。
				
					内部基础架构 CA 证书是自签名的。虽然这种流程被某些安全或 PKI 团队认为是不当做法,但这里的风险非常小。隐式信任这些证书的客户端仅是集群中的其他组件。将默认通配符证书替换为由 CA bundle 中已包括的公共 CA 发布的证书,该证书由容器用户空间提供,允许外部客户端安全地连接到 .apps 子域下运行的应用程序。
				
3.1.2. 替换默认入口证书
					您可以替换 .apps 子域下所有应用程序的默认入口证书。替换了证书后,包括 web 控制台和 CLI 在内的所有应用程序都会具有指定证书提供的加密。
				
先决条件
- 
							您必须有用于完全限定 .apps子域及其对应私钥的通配符证书。每个文件都应该采用单独的 PEM 格式。
- 私钥必须取消加密。如果您的密钥是加密的,请在将其导入到 OpenShift Container Platform 前对其进行解密。
- 
							证书必须包含显示 *.apps.<clustername>.<domain>的subjectAltName扩展。
- 证书文件可以包含链中的一个或者多个证书。通配符证书必须是文件中的第一个证书。然后可以跟随所有中间证书,文件以 root CA 证书结尾。
- 将 root CA 证书复制到额外的 PEM 格式文件中。
流程
- 创建仅包含用于为通配符证书签名的 root CA 证书的配置映射: - oc create configmap custom-ca \ --from-file=ca-bundle.crt=</path/to/example-ca.crt> \ -n openshift-config- $ oc create configmap custom-ca \ --from-file=ca-bundle.crt=</path/to/example-ca.crt> \- 1 - -n openshift-config- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- </path/to/cert.crt>是 root CA 证书文件在本地文件系统中的路径。
 
- 使用新创建的配置映射更新集群范围的代理配置: - oc patch proxy/cluster \ --type=merge \ --patch='{"spec":{"trustedCA":{"name":"custom-ca"}}}'- $ oc patch proxy/cluster \ --type=merge \ --patch='{"spec":{"trustedCA":{"name":"custom-ca"}}}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建包含通配符证书链和密钥的 secret : - oc create secret tls <secret> \ --cert=</path/to/cert.crt> \ --key=</path/to/cert.key> \ -n openshift-ingress- $ oc create secret tls <secret> \- 1 - --cert=</path/to/cert.crt> \- 2 - --key=</path/to/cert.key> \- 3 - -n openshift-ingress- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 使用新创建的 secret 更新 Ingress Controller 配置: - oc patch ingresscontroller.operator default \ --type=merge -p \ '{"spec":{"defaultCertificate": {"name": "<secret>"}}}' \ -n openshift-ingress-operator- $ oc patch ingresscontroller.operator default \ --type=merge -p \ '{"spec":{"defaultCertificate": {"name": "<secret>"}}}' \- 1 - -n openshift-ingress-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 将<secret>替换为上一步中用于 secret 的名称。