節點集區更新政策可限制同時更新或升級的節點集區數量。根據預設,節點集區會平行更新,因此降低並行數量有助於避免 PodDisruptionBudget (PDB) 死結,以及資源或 IP 位址耗盡。但更新和升級需要較長時間。
資源和 IP 位址需求
根據預設,節點集區會平行更新。針對每個更新中的節點集區,叢集會建立一個激增節點。同時更新多個節點集區可能會導致下列限制:
- 資源耗盡:如果額外容量有限,同時為多個節點集區建立激增節點,可能會超過可用的運算配額或主機容量。
- PDB 死結:一次排空多個節點可能會導致 PodDisruptionBudget (PDB) 死結。
- IP 位址可用性:每個平行更新的節點集區都需要一個額外的 IP 位址,供其激增節點使用。舉例來說,如要同時更新三個節點集區,必須有三個額外的 IP 位址可用:
如果可用的額外 IP 位址不足,無法同時更新所有節點集區,叢集會盡可能同時更新多個集區。當 IP 位址可用時,系統會更新剩餘的節點集區。
設定節點集區更新政策
進階叢集的注意事項如下:
1.31 版:進階叢集不支援節點集區更新政策。
1.32 版:進階叢集支援節點集區更新政策。
1.32.0 至 1.32.1000、1.33.0 至 1.33.600 和 1.34.0 至 1.34.200 版:在進階叢集上,
maximumConcurrentNodePoolUpdate預設為1,因此節點集區會依序更新。在後續修補程式版本和 1.35 以上版本中,預設值為0,因此節點集區會平行更新。詳情請參閱nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate。
在使用者叢集種子設定 user-cluster.yaml 中,您可以設定節點集區更新政策,依序更新節點集區,或設定並行限制:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
maximumConcurrentNodePoolUpdate 欄位可控管更新並行作業:
0:在所有節點集區中保留預設並行行為。1:依序更新節點集區。雖然依序更新可避免資源和 IP 耗盡,但更新程序所需的時間會比平行更新長。- 大於
1的整數:設定同時更新的節點集區數量上限。
節點集區更新政策適用於節點集區更新和升級,但不適用於建立。如果任何節點集區更新或升級作業遇到問題而卡住,程序就會在該集區中斷,不會繼續處理下一個節點集區。