維護期間

本頁面說明如何設定 Google Kubernetes Engine 叢集的維護期間。

總覽

「維護期間」共四個小時,是您選擇系統要執行自動升級的期間。如建立維護期間,GKE 會按照指令在所選時段內自動觸發自動化的主機升級IP 輪換以及節點集區升級。例如,如果您建立的維護期間是從下午 4 點開始,那麼維護期間便會持續到晚上 8 點。

升級可以在一週中的任何一天,在時間範圍內的任一時間點進行。維護期間可讓您進一步控制執行叢集或節點上的 Kubernetes 軟體升級的時間。

GKE 會自動升級叢集主要執行個體,如果您啟用了節點自動升級功能,您的節點便會有最新的 Kubernetes 版本。 如果執行工作的時間超出維護期間,GKE 會嘗試停止作業。停止的作業會在下次維護期間再次啟動。

這些自動升級會定期執行,不需要使用者進行額外動作,但執行升級可能造成主要執行個體和/或個別節點短暫停機。不過,在某些情況下,您可能會想要進一步控制執行升級的時間。例如:

  • 離峰時段:安排在流量較小的離峰時段自動升級,盡可能降低停機機率。
  • 值班待命:一定要在工作時間內進行升級,以利相關人員監控升級作業並管理突發狀況。
  • 多叢集升級:按照指定的間隔,逐一升級分佈在不同地區的多個叢集。

GKE 也可能會選擇不在指定的時段執行升級。預定或即將執行的升級通常會公告在版本資訊頁面上。

GKE 保留在維護期間之外,導入非預定、緊急升級的權利。此外,系統可能會在維護期間之外自動強制升級已淘汰或過舊的軟體。

注意事項

當您變更節點而需要重新建立節點時 (例如,當您啟用網路政策後),可能須等到下一次維護期間才能夠重新建立節點,因而造成已知的延遲。如果您不想等待,可以隨時手動升級叢集

事前準備

如要準備這項工作,請執行下列步驟:

  • 確認您已啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 確認您已安裝 Cloud SDK
  • 設定預設的專案 ID
    gcloud config set project [PROJECT_ID]
  • 如果您使用區域叢集,請設定預設的運算區域
    gcloud config set compute/zone [COMPUTE_ZONE]
  • 如果您使用地區叢集,請設定預設的運算地區
    gcloud config set compute/region [COMPUTE_REGION]
  • gcloud 更新到最新版本:
    gcloud components update

在叢集中設定維護期間

下列各節說明如何設定維護期間。

如要建立維護期間,您需要指定一個時間,以在主要執行個體上啟動自動升級。如果您已啟用節點自動升級功能,系統便會自動升級節點。

建立包含維護期間的叢集

gcloud

如要建立包含維護期間的新叢集,請使用 gcloud container clusters create 指令並加入 --maintenance-window 標記:

gcloud container clusters create [CLUSTER_NAME] --maintenance-window [HH:MM]

例如,下列指令建立一個名為 my-cluster 的叢集,其維護期間在上午 2 點:

gcloud container clusters create my-cluster --maintenance-window 2:00

主控台

如要建立包含維護期間的新叢集,請執行下列步驟:

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

    造訪 Google Kubernetes Engine 選單

  2. 按一下 [Create cluster] (建立叢集)

  3. 選擇 [Standard cluster] (標準叢集) 範本,或者根據工作負載選擇適用的範本。若選擇「高可用性」範本,系統會建立有預設維護期間的地區叢集

  4. 視需求設定叢集。

  5. 若要自訂維護期間,或者您用於建立叢集的範本預設不含維護期間,請按一下 [Advanced options] (進階選項),然後在 [Maintenance] (維護期間) 下拉式選單中選取所需時間。

  6. 按一下 [Create] (建立)。

為現有叢集設定維護期間

gcloud

如要為現有叢集建立或修改維護期間,請使用 gcloud container clusters update 指令並加入 --maintenance-window 標記:

gcloud container clusters update [CLUSTER_NAME] --maintenance-window [HH:MM]

例如,下列指令將 my-cluster 中的維護期間改為下午 4 點:

gcloud container clusters update my-cluster --maintenance-window 16:00

主控台

如要為現有叢集建立或修改維護期間:

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

    造訪 Google Kubernetes Engine 選單

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

  3. 從「維護期間」下拉式選單中,選擇您要的時間。

  4. 按一下 [儲存]

移除維護期間

gcloud

如要移除維護期間,請將 --maintenance-window 標記的值設定為 None

gcloud container clusters update [CLUSTER_NAME] --maintenance-window None

主控台

如要移除維護期間:

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

    造訪 Google Kubernetes Engine 選單

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

  3. 從「維護期間」下拉式選單中,選擇 [不限時間]

  4. 按一下 [儲存]

取消升級

在極少數情況下,當升級要超過四個小時才能完成,GKE 會嘗試停止進行中的升級作業,在下個維護期間再繼續執行。如果自動升級已取消,且您已啟用節點自動升級功能,節點的版本可能會不一致,但叢集應能正常運作。

如果想要手動取消、復原或手動升級叢集,請參閱升級容器叢集

後續步驟

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

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

這個網頁
Kubernetes Engine 說明文件