默认情况下,节点池会并行更新。这可能会导致两个问题:
配额问题
系统会为每个节点池创建一个超额配置节点,这样,如果并行更新 N 个节点池,系统便会创建 N 个超额配置节点。如果可用来创建这些超额配置节点的额外容量有限,便可能会导致资源耗尽问题。
PDB 死锁问题
一次排空多个节点可能会导致 PDB 死锁问题。
本文档介绍了如何指定节点池更新政策,以配置在节点池更新期间可并发更新的节点数上限,这有助于避免上述两个问题。0 表示保留当前的并行行为,即保留默认值。1 表示依序更新节点池。
请注意,虽然依序更新可以避免上述两个问题,但可能导致节点池更新过程比并行更新花费的时间更长。
配置节点池更新政策
在用户集群种子配置 user-cluster.yaml 中,您可以进行如下设置以依序更新节点池:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
可以将 maximumConcurrentNodePoolUpdate
设置为任意整数值,以配置要同时更新的节点池数。
节点池更新政策适用于节点池更新和升级,但不适用于创建。此外,如果任何节点池更新/创建遇到问题并卡住,当前行为是我们将阻止相应操作,不会继续更新下一个节点池。