在集群中轮换 CA 证书
撤销集群中的现有认证中心 (CA) 证书,并发放新的 CA 证书。
建议定期更换 CA 证书,以确保设置安全。 每次更新工作节点时,轮换 CA 证书 都是一个很好的做法,因为证书轮换的最长步骤包括重新加载或更换工作节点。
缺省情况下,将管理认证中心 (CA) 证书以保护对集群的各种组件 (例如主 API 服务器) 的访问。 在使用集群时,您可能希望撤销现有 CA 颁发的证书。 例如,您团队的管理员可以使用证书签名请求 (CSR) 为集群中的工作程序节点手动生成由集群的 CA 签名的证书。 如果管理员离开您的组织,您可以通过为集群创建新的 CA 和证书,并除去旧的 CA 和证书,确保他们不再具有对集群的管理访问权。
-
为您的集群创建一个证书颁发机构(CA)。 将针对集群主组件发出此新 CA 签署的证书,并刷新 API 服务器。
ibmcloud oc cluster ca create -c CLUSTER -
确保集群的主节点运行状况正常,API 服务器刷新已完成,并且所有主节点更新都已完成。 主 API 服务器刷新可能需要几分钟时间。
ibmcloud oc cluster get --cluster CLUSTER -
检查 CA 创建的状态。 在输出中,记下 操作已完成 字段中的时间戳记。 有关每种状态的说明,请参阅 证书状态和时间戳。
ibmcloud oc cluster ca status -c CLUSTER示例输出
Status: CA certificate created. Reload your worker nodes then begin the CA certificate rotation. Action Started: 2024-08-30T16:17:56+0000 Action Completed: 2024-08-30T16:21:13+0000 -
将更新后的 Kubernetes 配置数据和证书下载到集群的
kubeconfig文件中。ibmcloud oc cluster config -c CLUSTER --admin --network -
验证新证书中的时间戳是否晚于步骤 3 中找到的时间戳。 要检查证书上的日期,可以使用诸如 KeyCDN之类的工具。
-
更新任何依赖于先前证书的工具或网络钩子。 例如,您可能需要更新以下一项或多项内容。
-
重新装入经典工作程序节点 或 替换 VPC 工作程序节点 以获取新 CA 签署的证书。
-
使用新证书轮换旧证书。 将除去集群中的旧 CA 证书。
ibmcloud oc cluster ca rotate -c CLUSTER -
检查 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 -
由于某些客户端可能不允许在证书捆绑包中使用过期的 CA 证书,因此请在群集的
kubeconfig文件中下载更新后的 Kubernetes 配置和证书。ibmcloud oc cluster config -c CLUSTER --admin --network -
更新依赖于先前证书的任何工具。 如果在自己的服务 (例如 Travis 或 Jenkins) 中使用集群的
kubeconfig文件中的证书,或者如果使用calicoctl来管理 Calico 网络策略,请更新服务和自动化以使用新证书。
轮换对群组升级的影响
如果正在轮换 CA 证书,群集主控程序的更新将被阻止。 在更新群集主服务器之前完成轮转。 要检查 CA 证书轮换的 状态,请运行 ibmcloud oc cluster ca status -c CLUSTER。
证书状态和时间戳
要检查 CA 状态,请运行 ibmcloud oc cluster ca status -c CLUSTER。
输出中的时间戳表示启动当前状态的操作的开始和完成时间。 下表列出了每种可能状态的说明。
| 状态 | 说明 | 对群集升级的影响 |
|---|---|---|
CA certificate creation in progress. |
正在为轮换过程创建新证书并将其放入证书链。 | 群集升级受阻 |
CA certificate created and awaiting rotation. Reload your worker nodes then begin CA certificate rotation. |
新证书已创建并放入证书链。 | 群集升级受阻 |
CA certificate rotation in progress. |
证书轮换正在进行中。 旧证书正从证书链中删除。 | 群集升级受阻 |
CA certificate rotation complete. |
旧证书已从证书链中删除。 | 未阻止群集升级 |
| 空状态 | 证书轮换从未启动或完成。 | 集群升级未被阻止 |
关于证书轮换的常问问题
- IBM 是否为集群执行自动证书颁发机构轮换?
- 不,IBM 不会执行自动证书颁发机构轮换。 用户负责执行证书颁发机构轮换流程。
- 何时应轮换CA证书?
- 当需要撤销对群集的现有访问权限时,应轮换 CA 证书。 具体而言,若集群管理员不再需要访问该集群,则可能已生成由当前CA签发的证书用于访问该集群。
- IBM 是否会自动延长CA证书的有效期?
- 是的,新的CA证书是使用现有的私钥生成的。 这使得证书能够拥有新的到期日期,同时仍允许成功验证现有的中间证书和终端实体证书。
- 我的集群的 CA 状态显示为“
CA certificate created”,这种情况下应采取哪些措施? - 创建新 CA 证书是轮换的第一步。 我们的期望是,一旦启动了 CA 轮换流程,就必须按照 流程中的所有步骤 完成。 这确保了使用先前CA生成的中间证书和终端实体证书均被撤销。
- 我的集群CA状态显示
Action Started和 数Action Completed年前的时间戳。 在这种情况下应该采取什么行动? - 时间戳表示启动当前 CA 状态的操作的开始和完成时间。 您必须采取的行动取决于 轮换状态。 例如,如果 CA 状态为
CA certificate created and awaiting rotation. Reload your worker nodes then begin CA certificate rotation,则证书创建已开始,并在时间戳所示时间完成,但全部轮换尚未完成。 - 执行证书轮换是否会导致证书有效期短于当前证书?
- 是的,执行轮换操作可能会导致新证书的有效期短于先前证书。 这是由于默认证书有效期缩短所致。