升級 Azure 叢集版本
本頁說明如何升級 GKE on Azure 叢集的 Kubernetes 版本。
必要條件
升級叢集的 Kubernetes 版本是更一般的叢集更新作業的特例。如要瞭解一般叢集更新作業,請參閱「更新叢集」頁面。如要升級叢集版本,請按照下列步驟操作:
- 您必須逐一升級當前版本與目標版本之間的每個子版本。舉例來說,假設您要從 1.20 升級至 1.22,則須先從 1.20 升級至 1.21,再從 1.21 升級至 1.22。
- 您必須具備
gkemulticloud.googleapis.com/azureClusters.update
Identity and Access Management 權限。
Azure 上的 GKE 如何執行更新
由於升級叢集需要重新啟動控制層節點,因此 Azure 上的 GKE 會執行「滾動更新」,步驟如下:
- 選擇要更新的控制層執行個體。GKE on Azure 會先更新健康狀態不良的執行個體 (如有),再更新健康狀態良好的執行個體。
- 刪除執行個體。GKE on Azure 會重建執行個體,並以新設定啟動執行個體。
- 對新執行個體執行健康狀態檢查。
- 如果健康狀態檢查成功,請選取另一個執行個體,並對其執行相同步驟。重複這個週期,直到所有執行個體都重新啟動或重新建立為止。
如果健康狀態檢查失敗,Azure 上的 GKE 會將叢集置於
DEGRADED
狀態,並停止更新。詳情請參閱下節。
更新失敗時
更新後,Azure 上的 GKE 會對叢集執行健康狀態檢查。
如果健康狀態檢查失敗,叢集會標示為 DEGRADED
。您可以使用下列 Google Cloud CLI 指令,顯示叢集狀態:
gcloud container azure clusters describe CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION
更改下列內容:
CLUSTER_NAME
:叢集名稱GOOGLE_CLOUD_LOCATION
:管理叢集的 Google Cloud 區域
執行升級
檢查叢集版本
升級叢集版本前,請先使用下列指令,檢查您所在區域有哪些可用版本:
gcloud container azure get-server-config \
--location=GOOGLE_CLOUD_LOCATION
將 GOOGLE_CLOUD_LOCATION
替換為您管理叢集的位置。 Google Cloud
選擇升級方法
您可以透過 Google Cloud 控制台、Google Cloud CLI 或 GKE Multi-Cloud API 升級叢集版本。如要使用控制台升級叢集,請先選擇並設定登入叢集的驗證方法。詳情請參閱「連線至叢集並進行驗證」。
控制台
在 Google Cloud 控制台中,前往「Google Kubernetes Engine clusters overview」(Google Kubernetes Engine 叢集總覽) 頁面。
選取叢集所在的 Google Cloud 專案。
在叢集清單中選取叢集名稱,然後在側邊面板中選取「查看詳細資料」。
在「詳細資料」分頁中,選取「升級」
。在「升級叢集的 Kubernetes 版本」對話方塊中,選取要升級的版本,然後按一下「完成」。請注意,升級叢集時,您必須逐一升級所有次要版本。
gcloud
如要升級叢集的 Kubernetes 版本,請執行下列指令:
gcloud container azure clusters update CLUSTER_NAME \
--location=GOOGLE_CLOUD_LOCATION \
--cluster-version=CLUSTER_VERSION
更改下列內容:
CLUSTER_NAME
:叢集名稱GOOGLE_CLOUD_LOCATION
:管理叢集的支援 Google Cloud 區域,例如us-west1
CLUSTER_VERSION
:新的支援叢集版本
API
如要透過 API 更新叢集,請對 GKE Multi-Cloud API 使用 PATCH
作業。
建立名為
cluster_update.json
的 JSON 檔案,並在當中加入下列內容:{ "controlPlane": { "version": "CLUSTER_VERSION", }, }
更改下列內容:
CLUSTER_VERSION
:新的支援叢集版本。請注意,升級叢集時,您必須逐一升級所有子版本
使用下列指令,透過 GKE Multi-Cloud API 更新這些設定。
curl -d @cluster_update.json -X PATCH \ ENDPOINT/projects/PROJECT_ID/locations/GOOGLE_CLOUD_LOCATION/azureClusters/CLUSTER_ID?update_mask=controlPlane.Version
更改下列內容:
ENDPOINT
:您的 Google Cloud 服務端點PROJECT_ID
:您的 Google Cloud 專案GOOGLE_CLOUD_LOCATION
:管理叢集的支援 Google Cloud 區域,例如us-west1
CLUSTER_ID
:叢集 ID
詳情請參閱 projects.locations.azureClusters.patch
方法說明文件。
升級節點集區
升級叢集版本後,請升級節點集區,完成整個程序。如要瞭解如何更新節點集區,請參閱更新節點集區。
後續步驟
瞭解如何執行其他叢集更新。
如要進一步瞭解可更新的欄位,請參閱
gcloud container azure clusters update
參考說明文件。請參閱
projects.locations.azureClusters.patch
REST API 說明文件。