自動升級節點

本頁面說明如何在 Google Kubernetes Engine 中設定節點自動升級功能。

總覽

當主要執行個體代替您進行更新時,「節點自動升級」可協助您讓叢集中的節點保持與叢集主要執行個體版本一致。根據預設,當您使用 Google Cloud Platform 主控台建立新叢集時,會啟用節點自動升級。

如要進一步瞭解升級,請參閱升級容器叢集

使用自動升級功能的好處如下:

  • 降低管理負擔:當主要執行個體代替您升級時,您不必手動追蹤和更新節點。
  • 更高的安全性:有時系統會發佈新的二進位檔以修正安全性問題。有了自動升級功能,GKE 會確保自動套用安全性更新,保持在最新狀態。
  • 使用方便:提供簡單的方式來讓節點保持在最新狀態,擁有 Kubernetes 的最新功能。

節點集區啟用自動升級功能後,當叢集的主要執行個體升級後,節點集區就會自動排程進行升級。執行升級時,節點會被清空並重新建立,以符合目前叢集主要執行個體版本。重新建立節點後,對該節點 VM 開機磁碟所做的修改便會失效。如要讓重新建立的節點沿用原有修改,請使用 DaemonSet

Alpha 叢集無法使用節點自動升級。

如果您希望進一步控制節點升級的時間,可以排定維護期間

您可以隨時停用一或多個節點集區的自動升級功能。然而停用自動升級並不會停止進行中的升級。

節點自動升級的工作原理

啟用節點集區的節點自動升級功能時,主要執行個體被升級之後不久,節點會被升級,以符合主要執行個體的版本。

首先,以下是一些關於節點自動升級的指南︰

  • 一次只會升級一個節點集區的節點。
  • 在一給定節點集區中,一次升級一個節點。順序是隨機選擇的。
  • 節點在維護期間不會自動升級。

當節點自動升級時,會發生以下情況:

  1. 該節點會被封鎖和清空。此時無法安排它執行新的 Pod。
  2. 節點上的 Pod 會在其他節點上重新排程。如果某一 Pod 無法重新排程,則該 Pod 將停留在 PENDING 狀態,直到該節點被重新建立。
  3. 節點被刪除,然後重新建立為新版本。
  4. 如果新節點無法註冊為健康狀態良好,整個節點集區的自動升級會被停用。
  5. 如果某一特定版本造成整個 GKE 機群中的多個節點在自動升級時產生健康狀態不良的節點,則調查問題時會停止對該版本的升級。

建立具有節點自動升級功能的叢集或節點集區

gcloud

如要為「預設節點集區」建立一個啟用自動升級功能的叢集,請在 gcloud container clusters create 指令中指定 --enable-autoupgrade 標記:

gcloud container clusters create [CLUSTER_NAME] --zone [COMPUTE_ZONE] \
    --enable-autoupgrade

如要建立具有自動升級功能的節點集區:

gcloud container node-pools create [NODE_POOL] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --enable-autoupgrade

主控台

透過 GCP 主控台建立的叢集和節點集區,預設已啟用自動升級功能。如需建立叢集和節點集區的操作說明,請造訪建立叢集新增和管理節點集區

您可以停用新叢集或節點集區的自動升級功能。如要進行此項操作,請在設定叢集或節點集區時,按一下 [進階編輯功能],接著取消選取 [啟用自動升級功能]

啟用現有節點集區的節點自動升級功能

gcloud

如要啟用現有節點集區的自動升級功能,請執行下列指令:

gcloud container node-pools update [NODE_POOL] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --enable-autoupgrade

主控台

如要啟用現有節點集區的自動升級功能,請執行下列步驟:

  1. 造訪 GCP 主控台的「Google Kubernetes Engine」選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下鉛筆形狀的叢集 [編輯] 按鈕。

  3. 在「節點集區」區段,按一下要修改的節點集區的 [進階編輯功能] 按鈕。

  4. 選取 [啟用自動升級]

  5. 按一下 [儲存] 即可關閉 [進階編輯功能] 視窗。

  6. 再按一次 [儲存] 即可修改叢集。

停用現有節點集區的節點自動升級功能

gcloud

若要停用現有節點集區的自動升級功能,請執行下列指令:

gcloud container node-pools update [NODE_POOL] --cluster [CLUSTER_NAME] \
    --zone [COMPUTE_ZONE] --no-enable-autoupgrade

主控台

若要停用現有節點集區的自動升級功能,請執行下列步驟:

  1. 造訪 GCP 主控台的「Google Kubernetes Engine」選單。

    造訪 Google Kubernetes Engine 選單

  2. 按一下鉛筆形狀的叢集 [編輯] 按鈕。

  3. 在「節點集區」區段,按一下要修改的節點集區的 [進階編輯功能] 按鈕。

  4. 取消選取 [啟用自動升級功能]

  5. 按一下 [儲存] 即可關閉 [進階編輯功能] 視窗。

  6. 再按一次 [儲存] 即可修改叢集。

相關資源

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Kubernetes Engine 說明文件