在集群中轮换 CA 证书
撤销集群中的现有认证中心 (CA) 证书,并发放新的 CA 证书。
缺省情况下,将管理认证中心 (CA) 证书以保护对集群的各种组件 (例如主 API 服务器) 的访问。 在使用集群时,您可能希望撤销现有 CA 颁发的证书。 例如,您团队的管理员可以使用证书签名请求 (CSR) 为集群中的工作程序节点手动生成由集群的 CA 签名的证书。 如果管理员离开您的组织,您可以通过为集群创建新的 CA 和证书,并除去旧的 CA 和证书,确保他们不再具有对集群的管理访问权。
-
为您的集群创建一个CA。 将针对集群主组件发出此新 CA 签署的证书,并刷新 API 服务器。
ibmcloud ks cluster ca create -c CLUSTER
-
确保集群的主节点运行状况正常,API 服务器刷新已完成,并且所有主节点更新都已完成。 主API服务器可能需要几分钟才能刷新。
ibmcloud ks cluster get --cluster CLUSTER
-
检查 CA 创建的状态。 在输出中,记下 操作已完成 字段中的时间戳记。
ibmcloud ks cluster ca status -c CLUSTER
示例输出
Status: CA certificate creation complete. Ensure that your worker nodes are reloaded before you start a CA certificate rotation. Action Started: 2020-08-30T16:17:56+0000 Action Completed: 2020-08-30T16:21:13+0000
-
将更新后的 Kubernetes 配置数据和证书下载到集群的
kubeconfig
文件中。ibmcloud ks cluster config -c CLUSTER --admin --network
-
更新依赖于先前证书的任何工具。
- 如果在自己的服务 (例如 Travis 或 Jenkins) 中使用集群的
kubeconfig
文件中的证书,或者如果使用calicoctl
来管理 Calico 网络策略,请更新服务和自动化以使用新证书。
- 如果在自己的服务 (例如 Travis 或 Jenkins) 中使用集群的
-
验证新证书上的时间戳记是否晚于您在步骤 3 中找到的时间戳记。 要检查证书上的日期,可以使用诸如 KeyCDN之类的工具。
-
重新装入经典工作程序节点 或 替换 VPC 工作程序节点 以获取新 CA 签署的证书。
-
使用新证书轮换旧证书。 将除去集群中的旧 CA 证书。
ibmcloud ks cluster ca rotate -c CLUSTER
-
检查 CA 证书轮换的状态。
ibmcloud ks cluster ca status -c CLUSTER
示例输出
Status: CA certificate rotation complete. Action Started: 2020-08-30T16:37:56+0000 Action Completed: 2020-08-30T16:41:13+0000