自動修復節點

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

總覽

GKE 的「節點自動修復」功能可讓叢集中的節點維持在良好的運作狀態。啟用這項功能之後,GKE 會定期檢查叢集中每個節點的健康狀態。如果節點在延長的時間範圍內持續未通過健康狀態檢查,GKE 就會針對該節點啟動修復程序。

修復條件

GKE 會根據節點的健康狀態來決定是否要修復節點。系統會將狀態回報為 Ready 的節點判定健康狀態良好。如果節點在指定的時間門檻內持續回報為健康狀態不佳,GKE 就會觸發修復動作。健康狀態不佳可能代表下列意義:

  • 節點在指定時間門檻 (約 10 分鐘) 內的連續狀態檢查狀態都回報為 NotReady
  • 節點在指定時間門檻 (約 10 分鐘) 內未回報任何狀態。
  • 節點在延長時間範圍 (約 30 分鐘) 內,開機磁碟的磁碟空間已用盡。

節點修復程序

如果 GKE 偵測到節點需要修復,該節點就會遭到排除並重新建立。如果節點未回應或因健康狀態不佳而無法處理排除指令,則排除作業可能會失敗。

如果有多個節點需要修復,GKE 可能會採用平行修復的方式。GKE 會根據叢集大小 (叢集越大,上限數越高) 和叢集中毀損的節點數量 (太多節點損毀會降低上限數) 來限制修復數量。如果您在修復過程中停用節點自動修復功能,系統「不會」取消進行中的修復作業,會繼續完成目前正在修復的任何節點。

GKE 會在作業記錄中為任何自動修復事件產生一個項目。您可以使用 gcloud container operations list 指令來查看記錄。

啟用節點自動修復

您可以針對「每個節點集區」啟用節點自動修復功能。建立叢集時,您可以為叢集的預設節點集區啟用或停用自動修復功能。如果您建立了其他節點集區,您可以針對那些節點集區啟用或停用節點自動修復功能,不會影響到預設節點集區的自動修復設定。

gcloud

如要建立啟用節點自動修復功能的叢集或節點集區,請在建立叢集或節點集區時,使用 gcloud 指令列工具指定 --enable-autorepair 選項。

如要建立啟用自動修復功能的叢集,請執行下列指令:

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

如要建立啟用自動修復功能的節點集區:

gcloud container node-pools create [POOL_NAME] --cluster [CLUSTER_NAME] \
--zone [COMPUTE_ZONE] --enable-autorepair

如要為現有節點集區啟用自動修復功能:

gcloud container node-pools update [POOL_NAME] --cluster [CLUSTER_NAME] \
--zone [COMPUTE_ZONE] --enable-autorepair

主控台

如要建立預設節點集區已啟用節點自動修復功能的叢集,請執行下列步驟:

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

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [建立叢集]

  3. 選擇 [標準叢集] 範本,或者為您的工作負載選擇適當的範本

  4. 視需求設定叢集。

  5. 按一下 [進階編輯]。選取 [啟用自動修復]。

  6. 按一下 [建立]。

如要建立啟用節點自動修復功能的節點集區:

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

    造訪 Google Kubernetes Engine 選單

  2. 按一下叢集的 [編輯] 按鈕 (類似鉛筆圖示)。

  3. 在「節點集區」選單中,按一下 [新增節點集區]

  4. 視需要設定您的節點集區。接著按一下節點集區的 [進階編輯]。

  5. 選取 [啟用自動修復]。

  6. 按一下 [儲存] 以儲存節點集區設定。

  7. 再按一下 [儲存] 即可修改叢集。

如要為現有節點集區啟用節點自動修復功能:

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

    造訪 Google Kubernetes Engine 選單

  2. 按一下叢集的 [編輯] 按鈕 (類似鉛筆圖示)。

  3. 在「節點集區」選單中,為您要修改的節點集區按一下 [進階編輯]

  4. 選取 [啟用自動修復]。

  5. 按一下 [儲存] 以儲存節點集區設定。

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

停用節點自動修復

gcloud

如要「停用」指定節點集區的自動修復功能,請執行下列指令:

gcloud container node-pools update [POOL_NAME] --cluster [CLUSTER_NAME] \
--zone [COMPUTE_ZONE] --no-enable-autorepair

主控台

如要停用現有節點集區的節點自動修復功能,請執行下列步驟:

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

    造訪 Google Kubernetes Engine 選單

  2. 按一下叢集的 [編輯] 按鈕 (類似鉛筆圖示)。

  3. 在「節點集區」選單中,為您要修改的節點集區按一下 [進階編輯]

  4. 取消選取 [啟用自動修復]。

  5. 按一下 [儲存] 以儲存節點集區設定。

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

相關資源

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

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

這個網頁
Kubernetes Engine 說明文件