平台管理員可以為叢集選擇特定發布版本,確保 GKE 會自動將叢集升級至合適的版本,在可用功能與穩定性之間權衡。如要進一步瞭解發布版本,請參閱「關於發布版本」。
GKE 會在發布管道中註冊所有 Autopilot 叢集,並預設在發布管道中註冊 Standard 叢集。在所有叢集模式中,您都可以選擇特定發布版本。使用標準叢集時,您可以選擇不要在發布版本中註冊叢集。
本頁面說明如何對發布管道執行下列操作:
事前準備
開始之前,請確認你已完成下列工作:
- 啟用 Google Kubernetes Engine API。 啟用 Google Kubernetes Engine API
- 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update
,取得最新版本。
- 如要在延長版註冊叢集,請務必先查看延長支援服務的價格。如果專案已啟用 GKE Enterprise,您可以將叢集註冊至擴充發布版本,無須額外付費。或者,如果是 GKE Standard 版本叢集,如果叢集註冊於延長版,叢集的子版本也進入延長支援期,就會按照用量計費。
在發布版本中註冊叢集
本節說明如何為新叢集選取特定發布版本,或為先前未使用發布版本的現有叢集選取發布版本。您也可以為已註冊發布版本的現有叢集變更發布版本。
在特定發布管道中註冊新叢集
所有叢集預設都會註冊至「Regular」發布管道。建立叢集時,您可以選擇叢集的特定發布版本,也可以在建立叢集後變更發布版本。Autopilot 叢集必須註冊發布版本。標準叢集可以註冊或取消註冊發布版本。如要選擇延長版,請先參閱「透過延長版取得長期支援」。
您可以使用Google Cloud 控制台或 gcloud CLI,在特定發布版本中建立及註冊新叢集。
控制台
視叢集模式而定,按照下列步驟建立叢集:
Autopilot 叢集:
在 Autopilot 叢集建立頁面中,按一下導覽窗格中的「Advanced settings」(進階設定):
在「發布版本」下拉式清單中,選取要註冊叢集的發布版本,或保留「一般管道」的預設值。
如果是 Standard 叢集:
在 Standard 叢集建立頁面的「叢集基本資訊」專區中,找到「發布版本」子專區:
在「發布版本」下拉式清單中,選取要註冊叢集的發布版本,或保留「一般管道」的預設值。
gcloud
如要在特定發布管道中建立及註冊 Autopilot 叢集,請執行下列指令:
gcloud container clusters create-auto CLUSTER_NAME \ --location=COMPUTE_LOCATION --release-channel=CHANNEL
如要在特定發布管道中建立及註冊標準叢集,請執行下列指令:
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --release-channel=CHANNEL
更改下列內容:
CLUSTER_NAME
:新叢集的名稱。CLUSTER_LOCATION
:新叢集的 Compute Engine 位置。CHANNEL
:發布版本類型,可以是rapid
、regular
、stable
,或僅限標準版的extended
。
如需可指定的其他選項清單,請參閱 gcloud container clusters create-auto
和 gcloud container clusters create
參考說明文件。
您也可以使用 --cluster-version
旗標,建立特定版本的叢集。如果您未指定發布版本,GKE 會將叢集註冊至最成熟的發布版本,該版本提供您指定的 Kubernetes 版本。
或者,如果您未指定發布版本或叢集版本,叢集預設會使用預設版本的 Regular 發布版本。
註冊現有叢集
只要叢集的控制層次要版本在目標發布版本中提供,您就可以在發布版本中註冊現有叢集。如要確認叢集控制層次要版本是否適用於目標發布版本,請查看發布版本的預設和可用版本。如要進一步瞭解如何將叢集的控制層版本與目標發布版本的可用版本對齊,請參閱「選取新的發布版本」。
GKE 不會造成任何停機時間,即可變更叢集的發布管道註冊。不過,GKE 可能會在其他發布版本中提供不同的自動升級選項,因此變更後,GKE 可能會自動升級叢集。建議您使用維護期間和排除時段控管升級時間點。
如要註冊,請將叢集發布管道更新為目標 CHANNEL
。
註冊時,GKE 不會立即將叢集控制層和節點升級至該發布版本中子版本的自動升級目標。而是透過 GKE 自動升級程序逐步升級。如要取得特定叢集的自動升級目標,請參閱「取得叢集升級資訊」。
註冊未註冊發布版本且停用節點自動升級功能的現有叢集
如果您有未註冊發布版本的現有 Standard 叢集,且已停用一或多個叢集節點集區的節點自動升級功能,但想存取發布版本的其他功能,則可改用維護排除項目來防止節點升級。如果您改用發布版本並設定維護作業排除項目,就無法在節點集區層級防止節點自動升級,只能在叢集層級防止。不過,您隨時可以手動升級節點集區。
如要註冊現有叢集的發布管道,同時繼續防止節點自動升級,請執行下列步驟:
- 設定維護作業排除時段,並將範圍設為「不執行任何升級作業」。如果叢集未註冊發布管道,這是唯一可用的維護排除範圍。這樣一來,如果所選發布管道中有新符合資格的自動升級目標,叢集就不會立即自動升級。
- 在目標發布版本中註冊現有叢集。這項變更會導致 GKE 對節點集區的設定進行下列變更:
- GKE 會為停用這項功能的節點集區啟用節點自動升級設定,但不會自動升級節點,因為您已在步驟 1 中設定維護排除項目。
- GKE 會為停用這項功能的節點集區啟用節點自動修復功能,但如果您想繼續停用節點自動修復功能,可以再次使用 gcloud CLI 停用節點自動修復功能。
- 設定維護作業排除時段,範圍為「不得執行子版本或節點升級作業」。這樣可防止所有升級作業,但控制層的修補程式升級作業除外。叢集註冊至發布管道後,您就可以使用這個維護排除範圍,最長可到叢集發布管道中子版本的支援期限為止。
- 您已在上一個步驟中新增排除的維護時間,因此現在請移除步驟 1 中建立的排除時間。
完成這些步驟後,您就會擁有一個叢集。在您移除維護作業排除時段,或節點的次要版本終止支援前,GKE 不會自動升級節點。
找出叢集的發布版本
您可以使用 Google Cloud 主控台或 gcloud CLI,判斷叢集的發布管道。
控制台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下要檢查的叢集名稱。
在「叢集基本資訊」下方,查看「發布版本」欄位中的值 (例如「Regular Channel」)。
如果值為「無」,表示叢集未註冊至發布管道。
gcloud
gcloud container clusters describe CLUSTER_NAME \ --location=COMPUTE_LOCATION --format="value(releaseChannel.channel)"
更改下列內容:
CLUSTER_NAME
:叢集名稱。COMPUTE_LOCATION
:叢集的 Compute Engine 位置。
如果輸出內容為空白,表示叢集未註冊發布版本。
查看發布通路的預設版本和可用版本
如要使用Google Cloud 控制台或 gcloud CLI,查看特定發布管道可用的版本,請按照操作說明查看可用和預設版本。
變更叢集的發布版本
如果目標發布版本提供控制層的次要版本,您就可以變更叢集的發布版本。您可能需要將叢集的控制層升級或降級至可用版本。
如要檢查叢集的控制層版本是否適用於目標發布版本,請查看發布版本的預設和可用版本。目標管道必須提供該版本。
- 如果叢集的控制層版本已在目標發布版本中提供,您可以選取新的發布版本。
- 如果叢集的控制層版本不適用於目標發布版本,您可以將叢集的控制層升級至適用版本。或者,如果目標管道只有較舊的版本,只要目標版本是同一次要版本的較舊修補程式版本,您就可以降級叢集。
如要選取新的發布版本,請將叢集發布版本更新為目標 CHANNEL
。如要在選取新管道時暫時禁止叢集自動升級,請先設定維護排除項目,再選取新管道。
如果叢集執行的版本不適用於目標發布版本,您就無法選取該版本。此時,您可以採取下列行動:
- 設定維護作業排除時段,範圍為「不得執行子版本升級作業」。
- 等待目標發布管道提供叢集的 Kubernetes 次要版本。
- 在目標發布管道中註冊現有叢集。
或者,您也可以在目標管道中建立新叢集,然後遷移工作負載。
將叢集變更為延長版
如要取得長期支援,盡可能讓叢集維持在該版本,請在延長版註冊叢集。
請務必詳閱將叢集註冊至擴展頻道的定價,以及功能限制。如果叢集使用特定功能,就無法註冊至擴充管道。
將叢集從延長版變更為其他版本
如果叢集在延長支援期間註冊延長版,叢集可以繼續執行其他管道不支援的子版本。如要將叢集從「擴充」管道變更為支援次要版本的管道,請按照下列步驟操作:
- 請完成下列兩個步驟,順序不限:
- 更新叢集的發布管道。
更新叢集發布版本
您可以使用 Google Cloud 控制台或 gcloud CLI 變更叢集的發布版本。
控制台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下要檢查的叢集名稱。
在「叢集基本資訊」下方的「發布版本」欄位中,按一下 edit。
在「發布版本」下拉式選單中,選取目標發布版本。
選取「我瞭解升級版本時可能會停機」,表示您已閱讀並確認警告。
按一下 [儲存變更]。
gcloud
變更現有叢集的發布版本屬性:
gcloud container clusters update CLUSTER_NAME \ --release-channel CHANNEL
更改下列內容:
CLUSTER_NAME
:叢集名稱。CHANNEL
:目標發布管道,可以是rapid
、regular
、stable
,以及 (僅限標準版)extended
或None
。
取消訂閱發布管道
您可以取消註冊標準叢集的發布管道,但強烈建議您先參閱「已註冊和未註冊發布管道的叢集比較」,確保瞭解註冊與未註冊叢集發布管道的取捨。
您可以使用 Google Cloud 控制台、gcloud CLI 或 GKE API 執行這項動作。您也可以在建立叢集時,指定不要將標準叢集註冊至發布管道。你無法取消訂閱自動駕駛叢集的發布管道。
控制台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下要檢查的叢集名稱。
在「叢集基本資訊」下方的「發布版本」欄位中,按一下 edit。
從下拉式選單中選取「No channel」(無管道) 版本。
選取「我瞭解升級版本時可能會停機」,表示您已閱讀並確認警告。
按一下 [儲存變更]。
gcloud
將叢集的發布管道更新為 None
值:
gcloud container clusters update CLUSTER_NAME \ --release-channel None
API
建立或更新叢集時,請指定 "releaseChannel": { "channel": UNSPECIFIED}
。
找出未註冊發布版本的叢集
如果您有未註冊發布版本的 GKE Standard 叢集,且所有節點集區都已啟用節點自動升級功能,建議您將叢集註冊至發布版本。GKE 會透過 Recommender 服務,以深入分析和建議的形式提供這項指引。這項指引不適用於 Autopilot 叢集,這類叢集一律會註冊發布版本。
如要找出未註冊發布版本的叢集,可以使用下列任一方式:
- 使用 Google Cloud 控制台。
- 使用 gcloud CLI 或 Recommender API,並指定
CLUSTER_RELEASE_CHANNEL_UNSPECIFIED
recommender subtype。
如需操作說明,請參閱這篇文章,瞭解如何查看洞察資料和建議。
如要導入這項建議,請按照操作說明註冊現有叢集。如要進一步瞭解是否要導入這項最佳化建議,請參閱「關於發布管道」。如要比較已註冊和未註冊發布管道的叢集功能,請參閱已註冊和未註冊發布管道的叢集比較。
使用加速修補程式自動升級功能
您可以啟用加速修補程式自動升級,讓 GKE 在發布版本推出修補程式版本時,立即自動升級叢集,而不是等到 GKE 將這些版本設為自動升級目標 (至少一週後) 才升級。
如要使用加速修補程式自動升級功能,請在建立叢集或更新叢集時,使用 gcloud CLI 設定 --patch-update=accelerated
標記。
這項設定僅適用於在發布版本中註冊的叢集,且不會影響次要版本升級。
停用加速修補程式自動升級功能
您可以更新叢集,停用叢集的加速修補程式自動升級功能,這樣一來,叢集只會在 GKE 將修補程式版本設為自動升級目標後,才會接收修補程式版本。這項動作會將叢集還原為預設設定,但不會停用自動升級功能。
如要更新叢集,請設定 --patch-update=default
標記。