6.2. 将自定义 CA 添加到正在运行的集群中
对于正在运行的集群,您可以通过创建一个包含证书的 ConfigMap 对象来添加自定义 CA,然后在集群 Proxy 对象中引用该 ConfigMap 对象。
当您修改集群 Proxy 对象时,Machine Config Operator (MCO) 会启动所有节点的滚动重启以应用更改。这是预期的行为,不需要人工干预。
此流程使用 Proxy 对象中的 trustedCA 字段。如果您还需要同时配置或修改出口代理设置,请参阅"配置集群范围代理"章节以了解详细信息。
先决条件
- 有 cluster-admin 权限。
-
已安装 OpenShift CLI (
oc)。 - 您有 PEM 编码格式的自定义 CA 证书。
流程
该流程涉及两个阶段:使用证书创建 ConfigMap 对象,然后更新集群以信任它。
使用您的 CA 证书创建
ConfigMap对象。-
创建名为
custom-ca.yaml的 YAML 文件,以定义ConfigMap对象。 在文件中添加以下内容:
apiVersion: v1 kind: ConfigMap metadata: name: custom-ca-bundle1 namespace: openshift-config2 data: ca-bundle.crt: |3 -----BEGIN CERTIFICATE----- <MY_PEM_ENCODED_CA_CERT> -----END CERTIFICATE-----
-
创建名为
应用清单以在集群中创建
ConfigMap对象:$ oc apply -f custom-ca.yaml引用集群
Proxy对象中的ConfigMap对象。运行以下
oc patch命令以更新集群Proxy对象,以引用您刚才创建的ConfigMap对象。$ oc patch proxy/cluster --type=merge --patch='{"spec":{"trustedCA":{"name":"custom-ca-bundle"}}}'
运行此命令后,Machine Config Operator (MCO) 会检测到更改,并开始将新的可信 CA 分发到集群中的所有节点。