10.2. 关于执行 canary rollout 更新

本主题描述了此 canary rollout 更新过程的一般工作流。以下小节介绍了工作流中执行每项任务的步骤。

  1. 根据 worker 池创建 MCP。每个 MCP 中的节点数量取决于几个因素,如每个 MCP 的维护窗口持续时间以及集群中可用的保留容量(即额外的 worker 节点)。

    注意

    您可以更改 MCP 中的 maxUnavailable 设置,以指定在任意给定时间可以更新的机器的百分比或数量。默认值为 1。

  2. 将节点选择器添加到自定义 MCP。对于您不想与剩余的集群同时更新的每个节点,请向节点添加匹配的标签。该标签将节点与 MCP 相关联。

    注意

    不要从节点中删除默认 worker 标签。节点 必须具有 role 标签才能在集群中正常工作。

  3. 在更新过程中暂停您不想更新的 MCP。

    注意

    暂停 MCP 还会暂停 kube-apiserver-to-kubelet-signer 自动 CA 证书轮转。在自安装日期起的 292 天生成新 CA 证书,旧证书将从安装日期的 365 天后删除。请参阅红帽 OpenShift 4 中的了解 CA 证书自动续订,以了解您在下一次自动 CA 证书轮转前的时间。确保发生 CA 证书轮转时,池已被取消暂停。如果 MCP 暂停,则不会发生证书轮转,这会导致集群降级,并导致多个 oc 命令失败,包括但不限于 oc debugoc logsoc execoc attach

  4. 执行集群更新。更新过程更新没有暂停的 MCP,包括 control plane 节点。
  5. 在更新的节点上测试应用,以确保它们按预期工作。
  6. 逐一取消暂停剩余的 MCP,并在这些节点上测试应用程序,直到所有 worker 节点都已更新。取消暂停 MCP 会启动与该 MCP 关联的节点的更新过程。您可以通过点击 AdministrationCluster settings 从 web 控制台检查更新的进度。或者,使用 oc get machineconfigpools CLI 命令。
  7. (可选)从更新的节点中删除自定义标签并删除自定义 MCP。