轮替用户集群证书授权机构

Anthos clusters on Bare Metal 使用证书和私钥来对用户集群中的系统组件之间的连接进行身份验证和加密。这些证书授权机构和密钥由集群证书授权机构 (CA) 进行管理。运行 bmctl update credentials --cluster-ca 命令时,Anthos clusters on Bare Metal 会执行以下操作:

  • 创建一个新的集群证书授权机构并将其上传到管理员集群中的用户集群命名空间。

  • 管理员集群控制器会将用户集群证书授权机构替换为新生成的证书授权机构。

  • 管理员集群控制器会将新的公共 CA 证书和叶证书密钥对分发给用户集群系统组件。

为了维护安全的集群通信,请定期轮替用户集群 CA,并在可能出现安全漏洞时轮替。

准备工作

在轮替用户集群证书授权机构之前,请根据以下条件和影响进行规划:

  • 在启动用户集群 CA 轮替之前,请确保管理员和用户集群的版本为 1.8.2 或更高版本。

  • 用户集群 CA 轮替是增量轮替,允许系统组件在轮替期间进行通信。

  • 用户集群轮替过程会重启用户集群中的 API 服务器、控制平面进程和 pod。

  • 预计工作负载会在 CA 轮替期间重启并重新调度。

  • 对于非高可用性集群配置,预计 CA 轮替期间会出现短暂的控制平面停机时间。

  • CA 轮替期间不允许用户集群管理操作。

  • 用户集群 CA 轮替时长取决于集群的大小。例如,对于具有一个控制平面和 50 个工作器节点的用户集群,用户集群 CA 轮替可能需要大约两个小时才能完成。

限制

预览版时,用户集群证书授权机构轮替功能具有以下限制:

  • 只有用户集群支持集群 CA 轮替。

  • 用户集群 CA 轮替仅限于集群 CA。用户集群 CA 轮替不会轮替用户集群的 etcd CA 或前端代理 CA。

  • 用户集群 CA 轮替不会更新管理员手动颁发的证书,即使集群 CA 为证书签名也是如此。在用户集群 CA 轮替完成后更新和重新分发任何手动颁发的证书。

  • 启动后,用户集群 CA 轮替无法暂停或回滚。

  • 集群 CA 轮替是一项预览功能,其接口和操作随时可能更改。

启动集群 CA 轮替

使用以下命令启动 CA 轮替过程:

bmctl update credentials --cluster-ca --cluster-name USER_CLUSTER_NAME \
    --kubeconfig ADMIN_KUBECONFIG

请替换以下内容:

  • USER_CLUSTER_NAME:用户集群的名称。
  • ADMIN_KUBECONFIG:管理员集群 kubeconfig 文件的路径。

在集群 CA 成功轮替并生成新的 kubeconfig 文件后,bmctl 命令会退出。kubeconfig 文件的标准路径为 bmctl-workspace/USER_CLUSTER_NAME/USER_CLUSTER_NAME-kubeconfig

排查集群 CA 轮替问题

bmctl update credentials 命令显示集群 CA 轮替的进度。关联的 update-credentials.log 文件将保存到以下带有时间戳的目录中:

bmctl-workspace/USER_CLUSTER_NAME/log/update-credentials-TIMESTAMP