10.3. 关于执行 canary rollout 更新

下列步骤概述了金丝雀 rollout 更新过程的高级工作流:

  1. 根据 worker 池创建自定义机器配置池 (MCP)。

    注意

    您可以更改 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 暂停,MCO 无法将新轮转的证书推送到这些节点。这会导致集群降级,并在多个 oc 命令中造成失败,包括 oc debugoc logsoc execoc attach。如果在轮转证书时,如果 MCP 被暂停,则 OpenShift Container Platform Web 控制台的 Alerting UI 中收到警报。

  4. 执行集群更新。更新过程更新没有暂停的 MCP,包括 control plane 节点。
  5. 在更新的节点上测试应用程序,以确保它们按预期工作。
  6. 取消暂停剩余的 MCP,等待池中的节点完成更新,并在这些节点上测试应用程序。重复此过程,直到所有 worker 节点都已更新。
  7. 可选:从更新的节点中删除自定义标签并删除自定义 MCP。