系統會為每個節點集區建立一個臨時節點,因此平行更新 N 個節點集區時,會建立 N 個臨時節點。如果建立這些尖峰節點的額外容量有限,可能會導致資源耗盡。
PDB 死結問題
一次排空多個節點可能會導致 PDB 死結。
如要平行更新 N 個節點集區,必須有 N 個額外 IP 位址可供湧現節點使用。如果工作節點是從 DHCP 伺服器取得 IP 位址,DHCP 伺服器就必須能夠提供 N 個額外 IP 位址。如果工作站節點使用靜態 IP 位址,則IP 區塊檔案必須包含 N 個額外的 IP 位址,以及工作站節點所需的 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"]],["上次更新時間:2025-07-14 (世界標準時間)。"],[],[],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."]]