設定節點集區的突增更新

本文說明如何啟用及管理節點集區的突增更新。如要瞭解節點集區的節點數擴充更新運作方式,請參閱「關於節點數擴充更新」。

執行尖峰更新前的注意事項

執行大量更新前,請注意下列事項:

  • 在這個激增步驟中建立的其他執行個體,可能會超過 AWS 執行個體配額限制。如果配額不足,且無法佈建這些額外執行個體,更新作業可能會失敗。
  • 如果 max-unavailable-update 設為 0,Pod 遭到撤銷並重新排程到較新的節點時,工作負載仍可能中斷。
  • 可同時更新的節點數量上限等於 max-surge-updatemax-unavailable-update 的總和,但不得超過 20 個。

啟用及設定節點數擴充更新

如要啟用尖峰時段更新,請與Google Cloud 支援團隊聯絡。支援團隊啟用這項功能後,您可以在建立或更新節點集區時,為 max-surge-updatemax-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_surgemax_unavailable 參數的值。

管理進行中的尖峰時段更新

您可以取消進行中的尖峰時段更新、還原失敗的尖峰時段更新,或繼續更新中斷的尖峰時段。

取消 (暫停) 及繼續進行尖峰時段更新

在 GKE on AWS 中,「取消」大量更新實際上是指暫停更新。如要進一步瞭解如何取消更新,請參閱取消更新作業

換句話說,取消尖峰時段更新不會復原更新。而是可能會讓節點集區處於部分更新狀態,並有兩個自動調度群組:一個是執行先前設定的節點,另一個是執行新設定的節點。如要解決這個問題,請再次執行更新指令,並使用與中斷作業相同的目標參數,繼續進行大量更新。先前的更新完成前,您無法使用不同的節點集區參數啟動更新。

復原失敗的節點數擴充更新

如果取消或無法完成突增更新,您可以將節點集區還原為原始狀態。

復原 Surge 更新的注意事項

  • 您只能復原處於部分更新狀態 (或 DEGRADED 狀態) 的啟用突增升級節點集區。
  • 節點集區一旦啟動回溯作業,就無法取消。
  • 回溯作業成功完成前,您無法執行更多更新作業。
  • 只有在復原失敗時,才能重試復原。
  • 節點集區成功更新後就不能復原。

如何復原失敗的節點數擴充更新

如要復原節點集區上未成功的更新作業,請執行下列指令:

gcloud container aws node-pools rollback NODE_POOL_NAME
    --cluster CLUSTER_NAME

更改下列內容:

  • NODE_POOL_NAME:要更新的節點集區名稱。
  • CLUSTER_NAME:叢集名稱。

回溯的運作方式

在內部啟動復原作業時,節點集區會開始新的更新作業。(此處的「內部」是指這個程序是在系統本身內執行,不需要您介入)。這項作業會盡可能將節點集區節點還原至原始狀態。

舊自動調度群組的節點會取消封鎖,並啟用這個群組的叢集自動調度器,允許在節點上排定工作負載。新自動調度資源群組中部分更新的節點集區節點,會根據您在初始突增更新嘗試中定義的突增設定,遭到封鎖、排空和終止。

管理更新失敗的價格變動

您可以透過下列三種方式解決更新失敗的問題:

  1. 繼續更新:您可以繼續進行更新,並使用與先前失敗嘗試相同的目標節點集區設定。
  2. 復原:使用復原指令將節點集區還原至原始狀態。
  3. 修改並重新啟動:如要變更尖峰更新的參數,必須刪除現有節點集區,然後使用新設定重新建立。如需如何刪除節點集區的操作說明,請參閱「刪除節點集區」。