系统会为每个节点池创建一个超额配置节点,这样,如果并行更新 N 个节点池,系统便会创建 N 个超额配置节点。如果可用来创建这些超额配置节点的额外容量有限,便可能会导致资源耗尽问题。
PDB 死锁问题
一次排空多个节点可能会导致 PDB 死锁问题。
要并行更新 N 个节点池,必须有 N 个额外的 IP 地址可用于超额配置节点。如果工作器节点从 DHCP 服务器获取其 IP 地址,则您的 DHCP 服务器必须能够提供 N 个额外的 IP 地址。如果您的工作器节点使用静态 IP 地址,除了工作器节点所需的 IP 地址之外,您的 IP 地址块文件还必须包含额外的 N 个 IP 地址。
如果没有足够的额外 IP 地址可用于并行更新所有 N 个节点,我们会并行更新尽可能多的池。当 IP 地址可用时,我们会更新其余节点池。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-04-30。"],[],[],null,["Node pools are updated in parallel by default. This can potentially\ncause the following issues:\n\n- Quota issue\n\n For each node pool, it will create one surge node, so that N node pools will\n create N surge nodes when they are updated in parallel. This may result in\n resource exhaustion if there is limited extra capacity for creating those\n surge nodes.\n- PDB deadlock issue\n\n Draining more than one node at a time could potentially cause PDB deadlocks.\n\nFor N node pools to be updated in parallel, there must be N extra IP addresses\navailable for the surge nodes. If your worker nodes get their IP addresses from a\n[DHCP server](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#network-ipmode-type-field),\nthen your DHCP server must be able to provide N extra IP addresses. If\nyour worker nodes use static IP addresses, then your\n[IP block file](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#network-ipmode.ipblockfilepath-field)\nmust contain N extra IP addresses in addition to those needed for the worker\nnodes.\n\nIf there aren't enough extra IP addresses available to update all N nodes in\nparallel, then we update as many pools as possible in parallel. As IP addresses\nbecome available, we update the remaining node pools.\n\nThis document shows how to specify a node pool update policy to configure the\nmaximum number of nodes to be updated concurrently during node pool update,\nwhich can help avoid the two issues mentioned. 0 means preserving the current\nparallel behavior, which is the default value. 1 means updating the node pools\nsequentially.\n\nNote that while sequential update can avoid the two issues, it could make the\nnode pool update process take longer time than updating in parallel.\n\nNote the following limitation with advanced clusters:\n\n- Version 1.31: node pool update policies aren't supported on\n [advanced clusters](/kubernetes-engine/distributed-cloud/vmware/docs/how-to/user-cluster-configuration-file-latest#enable-advanced-cluster-field).\n\n- Version 1.32: node pool update policies are supported on advanced clusters.\n\nConfigure node pool update policy\n\nIn user cluster seed config user-cluster.yaml, you can configure the node pool\nupdate to be done sequentially as follows:\n\n```\nnodePoolUpdatePolicy:\n maximumConcurrentNodePoolUpdate: 1\n```\n\nThe `maximumConcurrentNodePoolUpdate` can be set to an arbitrary integer value\nto configure the number of node pools you want to update at the same time.\n\nThe node pool update policy applies to both node pool update and\nupgrade, but not create. Also in case any node pool\nupdate/upgrade encountered issues and got stuck, the current behavior is that we\nwill block there and won't move on to update next node pool."]]