IBM Cloud Docs
在集群中轮换 CA 证书

在集群中轮换 CA 证书

撤销集群中的现有认证中心 (CA) 证书,并发放新的 CA 证书。

缺省情况下,将管理认证中心 (CA) 证书以保护对集群的各种组件 (例如主 API 服务器) 的访问。 在使用集群时,您可能希望撤销现有 CA 颁发的证书。 例如,您团队的管理员可以使用证书签名请求 (CSR) 为集群中的工作程序节点手动生成由集群的 CA 签名的证书。 如果管理员离开您的组织,您可以通过为集群创建新的 CA 和证书,并除去旧的 CA 和证书,确保他们不再具有对集群的管理访问权。

  1. 为群集创建 CA。 将针对集群主组件发出此新 CA 签署的证书,并刷新 API 服务器。

    ibmcloud oc cluster ca create -c CLUSTER
    
  2. 确保集群的主节点运行状况正常,API 服务器刷新已完成,并且所有主节点更新都已完成。 主 API 服务器可能需要几分钟才能刷新。

    ibmcloud oc cluster get --cluster CLUSTER
    
  3. 检查 CA 创建的状态。 在输出中,记下 操作已完成 字段中的时间戳记。

    ibmcloud oc 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:     2024-08-30T16:17:56+0000
    Action Completed:   2024-08-30T16:21:13+0000
    
  4. 将更新后的 Kubernetes 配置数据和证书下载到集群的 kubeconfig 文件中。

    ibmcloud oc cluster config -c CLUSTER --admin --network
    
  5. 验证新证书中的时间戳是否晚于步骤 3 中找到的时间戳。 要检查证书上的日期,可以使用诸如 KeyCDN之类的工具。

  6. 更新任何依赖于先前证书的工具或网络钩子。 例如,您可能需要更新以下一项或多项内容。

    • 如果在自己的服务中使用群集 kubeconfig 文件中的证书,如 Jenkins.
    • 如果使用 calicoctl 管理 Calico 网络策略,请更新服务和自动化以使用新证书。
    • 如果将审计日志转发至 IBM Cloud Logs,请更新 主审计网络钩子 的证书。
    • 如果通过专用网络转发审计日志,请更新 主审计网络钩子 的证书。
  7. 重新装入经典工作程序节点替换 VPC 工作程序节点 以获取新 CA 签署的证书。

  8. 使用新证书轮换旧证书。 将除去集群中的旧 CA 证书。

    ibmcloud oc cluster ca rotate -c CLUSTER
    
  9. 检查 CA 证书轮换的状态。

    ibmcloud oc cluster ca status -c CLUSTER
    

    示例输出

    Status:             CA certificate rotation complete.
    Action Started:     2024-08-30T16:37:56+0000
    Action Completed:   2024-08-30T16:41:13+0000
    
  10. 由于某些客户端可能不允许在证书捆绑包中使用过期的 CA 证书,因此请在群集的 kubeconfig 文件中下载更新后的 Kubernetes 配置和证书。

ibmcloud oc cluster config -c CLUSTER --admin --network
  1. 更新依赖于先前证书的任何工具。 如果在自己的服务 (例如 Travis 或 Jenkins) 中使用集群的 kubeconfig 文件中的证书,或者如果使用 calicoctl 来管理 Calico 网络策略,请更新服务和自动化以使用新证书。