配置节点池更新政策

默认情况下,节点池会并行更新。这可能会导致两个问题:

  • 配额问题

    系统会为每个节点池创建一个超额配置节点,这样,如果并行更新 N 个节点池,系统便会创建 N 个超额配置节点。如果可用来创建这些超额配置节点的额外容量有限,便可能会导致资源耗尽问题。

  • PDB 死锁问题

    一次排空多个节点可能会导致 PDB 死锁问题。

要并行更新 N 个节点池,必须有 N 个额外的 IP 地址可用于超额配置节点。如果工作器节点从 DHCP 服务器获取其 IP 地址,则您的 DHCP 服务器必须能够提供 N 个额外的 IP 地址。如果您的工作器节点使用静态 IP 地址,除了工作器节点所需的 IP 地址之外,您的 IP 地址块文件还必须包含额外的 N 个 IP 地址。

如果没有足够的额外 IP 地址可用于并行更新所有 N 个节点,我们会并行更新尽可能多的池。当 IP 地址可用时,我们会更新其余节点池。

本文档介绍了如何指定节点池更新政策,以配置在节点池更新期间可并发更新的节点数上限,这有助于避免上述两个问题。0 表示保留当前的并行行为,即保留默认值。1 表示依序更新节点池。

请注意,虽然依序更新可以避免上述两个问题,但可能导致节点池更新过程比并行更新花费的时间更长。

配置节点池更新政策

在用户集群种子配置 user-cluster.yaml 中,您可以进行如下设置以依序更新节点池:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

可以将 maximumConcurrentNodePoolUpdate 设置为任意整数值,以配置要同时更新的节点池数。

节点池更新政策适用于节点池更新和升级,但不适用于创建。此外,如果任何节点池更新/创建遇到问题并卡住,当前行为是我们将阻止相应操作,不会继续更新下一个节点池。