本文說明如何啟用及管理節點集區的突增更新。如要瞭解節點集區的節點數擴充更新運作方式,請參閱「關於節點數擴充更新」。
執行尖峰更新前的注意事項
執行大量更新前,請注意下列事項:
- 在這個激增步驟中建立的其他執行個體,可能會超過 AWS 執行個體配額限制。如果配額不足,且無法佈建這些額外執行個體,更新作業可能會失敗。
- 如果
max-unavailable-update
設為 0,Pod 遭到撤銷並重新排程到較新的節點時,工作負載仍可能中斷。 - 可同時更新的節點數量上限等於
max-surge-update
和max-unavailable-update
的總和,但不得超過 20 個。
啟用及設定節點數擴充更新
如要啟用尖峰時段更新,請與Google Cloud 支援團隊聯絡。支援團隊啟用這項功能後,您可以在建立或更新節點集區時,為 max-surge-update
和 max-unavailable-update
參數指派值:
建立
gcloud container aws node-pools create NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--max-surge-update MAX_SURGE \
--max-unavailable-update MAX_UNAVAILABLE
更新
gcloud container aws node-pools update NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
--max-surge-update MAX_SURGE \
--max-unavailable-update MAX_UNAVAILABLE
更改下列內容:
NODE_POOL_NAME
:要更新的節點集區名稱。CLUSTER_NAME
:叢集名稱。GOOGLE_CLOUD_LOCATION
:管理叢集的支援 Google Cloud 區域。例如:us-west1
。MAX_SURGE
:更新期間可暫時建立的額外節點數量上限,超過目前的節點集區大小。調整這個值即可控制同時更新的節點數量。預設值為 1,但您可以設為 0。 如果將max-surge-update
設為大於 0 的值,AWS 上的 GKE 會建立可建立的節點數量上限;如果設為 0,則不會建立。MAX_UNAVAILABLE
:更新程序期間可同時無法使用的節點數量上限。增加這個值可同時更新更多節點。預設值為 0,但可以向上調整。
檢查節點集區的節點數擴充更新設定
如要查看節點集區的突波更新設定,請執行下列指令:
gcloud alpha container aws node-pools describe NODE_POOL_NAME
--cluster CLUSTER_NAME \
--location GOOGLE_CLOUD_LOCATION \
更改下列內容:
NODE_POOL_NAME
:節點集區的名稱。CLUSTER_NAME
:叢集名稱。GOOGLE_CLOUD_LOCATION
:管理叢集的支援 Google Cloud 區域。例如:us-west1
。
如果節點集區已啟用節點數擴充更新功能,這項指令的輸出內容會顯示標示為 surge_settings
的區段。這個 surge_settings
區段會顯示 max_surge
和 max_unavailable
參數的值。
管理進行中的尖峰時段更新
您可以取消進行中的尖峰時段更新、還原失敗的尖峰時段更新,或繼續更新中斷的尖峰時段。
取消 (暫停) 及繼續進行尖峰時段更新
在 GKE on AWS 中,「取消」大量更新實際上是指暫停更新。如要進一步瞭解如何取消更新,請參閱取消更新作業。
換句話說,取消尖峰時段更新不會復原更新。而是可能會讓節點集區處於部分更新狀態,並有兩個自動調度群組:一個是執行先前設定的節點,另一個是執行新設定的節點。如要解決這個問題,請再次執行更新指令,並使用與中斷作業相同的目標參數,繼續進行大量更新。先前的更新完成前,您無法使用不同的節點集區參數啟動更新。
復原失敗的節點數擴充更新
如果取消或無法完成突增更新,您可以將節點集區還原為原始狀態。
復原 Surge 更新的注意事項
- 您只能復原處於部分更新狀態 (或
DEGRADED
狀態) 的啟用突增升級節點集區。 - 節點集區一旦啟動回溯作業,就無法取消。
- 回溯作業成功完成前,您無法執行更多更新作業。
- 只有在復原失敗時,才能重試復原。
- 節點集區成功更新後就不能復原。
如何復原失敗的節點數擴充更新
如要復原節點集區上未成功的更新作業,請執行下列指令:
gcloud container aws node-pools rollback NODE_POOL_NAME
--cluster CLUSTER_NAME
更改下列內容:
NODE_POOL_NAME
:要更新的節點集區名稱。CLUSTER_NAME
:叢集名稱。
回溯的運作方式
在內部啟動復原作業時,節點集區會開始新的更新作業。(此處的「內部」是指這個程序是在系統本身內執行,不需要您介入)。這項作業會盡可能將節點集區節點還原至原始狀態。
舊自動調度群組的節點會取消封鎖,並啟用這個群組的叢集自動調度器,允許在節點上排定工作負載。新自動調度資源群組中部分更新的節點集區節點,會根據您在初始突增更新嘗試中定義的突增設定,遭到封鎖、排空和終止。
管理更新失敗的價格變動
您可以透過下列三種方式解決更新失敗的問題:
- 繼續更新:您可以繼續進行更新,並使用與先前失敗嘗試相同的目標節點集區設定。
- 復原:使用復原指令將節點集區還原至原始狀態。
- 修改並重新啟動:如要變更尖峰更新的參數,必須刪除現有節點集區,然後使用新設定重新建立。如需如何刪除節點集區的操作說明,請參閱「刪除節點集區」。