本頁面說明 Google Kubernetes Engine (GKE) 的版本管理機制,以及版本支援政策。GKE 會隨著時間將叢集升級至較新的 Kubernetes 版本。如要進一步瞭解升級作業的運作方式,請參閱「關於 GKE 叢集升級」。
您可以在 GKE 發布時間表中,查看目前版本的推出和支援時間表。
次要版本支援
GKE 對 Kubernetes 子版本的支援,是依據 Kubernetes 開放原始碼政策。為在可用子版本的生命週期內提供支援,GKE 會提供修補程式版本,並定期自動升級叢集,套用較新的修補程式。如要瞭解 GKE 如何支援修補程式版本,請參閱「修補程式版本支援」。
除了支援可用的子版本外,GKE 還提供 Kubernetes 發布週期中下一個子版本的 Alpha 版修補程式版本,最多可提前四個月,在該子版本開放給搶鮮版中的所有叢集使用前提供。這些 Alpha 版僅適用於搶鮮版中的 GKE Alpha 版叢集,適合想試用即將推出功能的早期採用者。
Kubernetes 如何支援子版本
Kubernetes 開放原始碼軟體 (OSS) 社群每年會發布三次子版本,提供新功能和強化項目。每個發布週期約為 15 週。
Kubernetes 支援各子版本 14 個月。如果支援的子版本中發現重大錯誤和安全漏洞,我們會發布臨時修補程式版本來修正。Kubernetes 社群有時會視需要修訂版本支援時程。詳情請參閱「支援期限」。
GKE 如何支援子版本
在發布穩定的新子版本之前,Kubernetes 專案會發布該子版本的實驗性不穩定修補程式版本。GKE 推出Alpha 修補程式版本,這些版本是以搶鮮版中的實驗版本為基礎,僅適用於 GKE Alpha 版叢集。與搶鮮版中的其他修補程式版本類似,Alpha 版不適用 GKE 服務水準協議。
Kubernetes 發布穩定的新子版本後,GKE 會移除該子版本的 Alpha 版,並為該子版本提供修補程式版本,供搶鮮版中的任何叢集使用。由於搶鮮版提供最新的 GKE 修補程式版本,因此這些版本不適用 GKE 服務水準協議,且可能包含沒有已知解決方法的問題。
在搶鮮版中推出後,GKE 會將新的子版本升級至一般版。子版本在一般版中開放用於建立新叢集後,GKE 最多會提供 24 個月的支援。這項支援包括約 14 個月的標準支援,以及約 10 個月的延長支援,可透過延長版本取得。如要查看特定子版本的供應情形,請參閱 GKE 發布時間表。
GKE 子版本生命週期
GKE 子版本的生命週期包含下列重要步驟:
- 在子版本發布日期前最多四個月,GKE 會在搶鮮版中提供該子版本的 Alpha 修補程式版本,僅供 Alpha 版叢集使用。
- Kubernetes 發布新的子版本。
- GKE 會在快速版中提供新的子版本,並移除該子版本的所有現有 Alpha 版修補程式版本。
- GKE 在一般版中推出新的子版本 (標準支援期限開始)。
- 在標準支援期間,GKE 會提供子版本的修補程式,包括新功能、安全性修正和錯誤修正。
- 子版本在約 14 個月後結束標準支援,進入延長支援期。之後,GKE 會為 Extended 管道中的叢集提供安全性修補程式。
- 子版本達到延長支援期結束時間,代表子版本不會再收到安全性修補程式。
調整版本供應情形
如果 Kubernetes OSS 社群政策異動、發現安全漏洞,或發生其他無法合理排除的技術問題,GKE 可能會修訂 GKE 版本的支援終止日期。GKE 也可能在黑色星期五和網購星期一等重要業務期間,延長支援終止日期。
GKE 提供至少 14 個月的標準支援,以及最多 24 個月的延長支援。
如要取得最新可用版本,請參閱 GKE 版本資訊。GKE 會定期更新發布時間表,反映自動升級的時間。
子版本生命週期中的可用期間
GKE 為 Kubernetes 子版本提供下列可用期間:
請參閱下表,瞭解可用期間的摘要,詳情請參閱下一節:
| 開放期間 | 一般版推出後的大約時間 | GKE 提供哪些支援 | 這段供應期間的存取權 |
|---|---|---|---|
| Alpha 版開放期間 | 第 -5 個月到第 -1 個月 | 在僅限搶鮮版可用期開始前,GKE 會在搶鮮版中推出新的 Alpha 版修補程式版本。Alpha 修補程式版本僅適用於 Alpha 叢集,不提供技術支援或服務水準協議,且極可能含有問題。當子版本在僅限 Alpha 版的可用期結束時,可供搶鮮版中的所有叢集使用,GKE 會從搶鮮版中移除所有 Alpha 版。 | 僅限搶鮮版 (需要 Alpha 版叢集) |
| 僅限 Rapid 方案的供應期間 | 第 -1 個月到第 0 個月 | GKE 會提供包含新功能、安全性修正和修正錯誤的修補程式版本,讓搶鮮版中的所有叢集都能使用子版本。不過,這些版本不適用 GKE 服務水準協議,且可能包含沒有已知應變措施的問題。GKE 也會從搶鮮版中移除該子版本的所有可用 Alpha 版。 | 僅限搶鮮版 |
| 標準支援期限 | 第 1 個月到第 14 個月 | GKE 提供的修補程式版本會包含新功能、安全性修正和修正錯誤。 | 搶鮮版、一般版、穩定版、擴充版、無版本 (已淘汰) |
| 延長支援期限 | 第 15 個月到第 24 個月 | GKE 提供的修補程式版本包含安全性修正。 | 僅限擴充版 (每個叢集須額外付費,詳情請參閱「透過擴充版取得長期支援」) |
Alpha 版提供期間
GKE 會在即將推出的子版本發布前最多四個月,在搶鮮版中發布該子版本的 Alpha 修補程式版本。Alpha 版僅適用於 Alpha 版叢集。GKE 會在接下來幾週內發布其他 Alpha 版修補程式版本,通常會維持一到三個有效的 Alpha 版。
這段期間會持續到 GKE 在搶鮮版中發布穩定子版本為止。穩定版發布後,GKE 會從搶鮮版中移除該子版本的所有 Alpha 版修補程式版本,因為已有穩定版修補程式版本可供安裝。
僅提供 Rapid 級別的期間
GKE 會先在搶鮮版推出新的子版本。版本會先累積用量,並在該管道的叢集中展現穩定性,然後才會升級至一般版。只有在搶鮮版註冊的叢集,才能在這段期間執行新的子版本。
這段期間通常約為 1 到 2 個月,但確切時間取決於各個子版本。詳情請參閱「發布管道預估時程」。
標準支援期
GKE 子版本的標準支援期,從該版本發布至一般版開始計算。無論是否註冊發布管道,所有 GKE 叢集都能在標準支援期間執行子版本。在此期間,GKE 會定期自動將叢集升級至新的修補程式版本,其中包含新功能、安全性修正和修正錯誤。
GKE 會自動升級叢集,方式如下:
- 快速、一般、穩定、無版本 (已淘汰):自動升級至其他支援的子版本,或相同子版本的修補程式版本。
- 擴充:GKE 只會自動升級至相同子版本的新修補程式版本。
如果叢集未註冊擴充發布管道,GKE 最終會在標準支援期結束前,根據叢集發布管道的時間表,自動將叢集升級至下一個支援的子版本。詳情請參閱「發布管道預估時程」。不過,如果叢集使用已淘汰的功能或 API,GKE 就不會在這段期間升級叢集。您可以使用維護排除,暫時防止 GKE 將叢集升級至下一個子版本。
標準支援結束日期 (原稱產品停產)
標準支援期限結束後,子版本會進入標準支援終止階段 (舊稱產品停產),不再支援且無法用於未註冊延長版頻道的叢集。
如果客戶執行的版本即將終止支援,系統會在終止支援前,傳送電子郵件通知專案聯絡人。此外,為確保安全性和相容性,GKE 也會開始逐步自動升級執行不支援版本的節點 (無論是否啟用自動升級),因為終止支援的版本不會再收到新的安全性修補程式或錯誤修正。如果叢集或節點執行的版本不受支援,您必須先將叢集和節點升級至支援的版本,才能向 Cloud Customer Care 尋求協助。
已停止支援的 GKE 子版本不會再收到安全性修補程式或錯誤修正。如果子版本已終止支援,其修補程式版本將不受支援且無法使用。GKE 會自動升級所有未註冊擴充版本的叢集。詳情請參閱「支援終止後的自動升級作業」。
延長支援期
標準支援期結束後,子版本會進入延長支援期 (第 15 個月到第 24 個月)。在此期間,GKE 會提供安全性修正修補程式,包括下列類型的修正:
- 中度、高度和重大安全性修補程式,適用於核心 Kubernetes 元件、節點作業系統,以及與 GKE 叢集版本搭配的 Google 代管容器。
- 如果是 Container-Optimized OS,節點作業系統的支援終止日期可能會早於 GKE 子版本的延長支援終止日期,或可能導入不相容的變更。如要進一步瞭解 GKE 如何持續提供支援,請參閱「延長支援期限的 Container-Optimized OS 更新」。
延長支援期即將結束時,GKE 會開始將叢集升級至下一個子版本。GKE 不會升級使用已淘汰功能或 API 的叢集。您可以使用維護排除項目,暫時防止 GKE 將叢集升級至下一個子版本。
延長支援結束日期
延長支援期結束後,GKE 不會提供任何安全性修正修補程式,子版本也將不受支援。無論叢集是否使用已淘汰的功能或 API,GKE 都會將仍執行不支援子版本的叢集升級至下一個子版本。
支援終止時自動升級
在子版本終止支援前,GKE 會安排叢集自動升級至下一個支援的子版本。升級時間取決於叢集發布管道的排程。詳情請參閱「發布管道預估時程」。舉例來說,相較於註冊搶鮮版的叢集,註冊穩定版的叢集會在標準支援期即將結束時,升級至下一個子版本。
在標準支援期限和延長支援期限 (適用於註冊延長版頻道的叢集) 內,您可以在叢集層級設定維護排除項目,或選擇 GKE 在推出序列中執行的升級類型,防止系統升級子版本。此外,GKE 不會升級使用已淘汰功能或 API 的叢集。
不過,在標準支援期結束時,或註冊 Extended 管道的叢集延長支援期結束時,GKE 會自動將叢集升級至下一個支援的子版本,確保叢集維持高效能、可用性和安全性。
每個 GKE 子版本都享有 14 個月的標準支援,以及 24 個月的總支援 (含延長支援)。您無法無限期地將叢集保留在子版本,因為 GKE 不會為終止支援的子版本提供安全性修補程式或修正錯誤,因此使用不支援的 GKE 子版本運作叢集,會帶來重大的安全性、可靠性和相容性風險。GKE 無法承諾在支援期結束後,為子版本提供修補程式或更新。
GKE 會以下列方式升級叢集:
- 控制層:如果控制層版本不再適用於建立新叢集,GKE 會自動將叢集控制層升級至支援的版本。
- 節點:子版本終止支援後,GKE 會自動升級執行不支援子版本的節點,確保叢集健康狀態良好,並符合 GKE 版本偏誤政策。如果節點執行的子版本不受支援,系統通常會在支援終止日期後一個月內,排定自動升級至支援的子版本。如果節點執行的子版本不受支援,在子版本終止服務時,可能不會立即升級,實際時間可能因 Google 的決定而異。
同樣地,GKE 會升級 90 天內未升級至新版本的叢集控制層。詳情請參閱「控制層 90 天修補政策」。
在支援終止時,暫時緊急停用自動升級
在沒有其他選擇的緊急情況下,您可以設定維護作業排除時段,並將預設範圍設為「不執行任何升級作業」,暫時將終止支援時的自動升級作業延後最多 90 天。由於執行不支援的版本會帶來風險,因此我們不建議這麼做。維護排除期結束後,GKE 會升級叢集。
找出執行子版本的叢集,且該版本已超過標準支援期
GKE 會找出同時符合下列兩項條件的叢集:
執行不支援的子版本會有風險,因此 GKE 建議您升級這些叢集。如果叢集的發布管道不支援現有版本,GKE 會將叢集升級至下一個支援的子版本。
GKE 會透過建議工具服務,提供深入分析和建議。這項指引不適用於註冊延長版的叢集,這類叢集可繼續執行子版本,直到延長支援結束。如要進一步瞭解如何管理 Recommender 的深入分析和建議,請參閱「運用深入分析和建議,最佳化 GKE 使用情形」。
如要找出控制層執行的版本已超過支援終止日期的叢集,可以採用下列任一方法:
- 使用 Google Cloud 控制台。
- 使用 gcloud CLI 或 Recommender API,並指定
CLUSTER_VERSION_END_OF_LIFERecommender 子類型。
如需操作說明,請參閱「查看洞察和建議」。
如要採行這項建議,請將叢集的控制層升級至支援的子版本。如要瞭解支援的子版本和支援終止日期,請參閱 GKE 發布時間表。或者,如果您想繼續使用現有的子版本,直到擴充支援結束,請將叢集變更為擴充版本。
延長支援期限的 Container-Optimized OS 更新
在 GKE 子版本的延長支援期,GKE 會提供叢集的修補程式升級。這些修補程式升級可能包含 Container-Optimized OS 更新,適用於 GKE 子版本使用的現有 Container-Optimized OS 里程碑。GKE 子版本通常會在標準支援期到延長支援期開始期間,使用一個里程碑。
不過,GKE 子版本使用的 Container-Optimized OS 版本會達到支援期限,通常是在 GKE 子版本的延長支援期內。發生這種情況時,GKE 會使用下一個 Container-Optimized OS 里程碑,建構所有後續的 GKE 修補程式版本。如要進一步瞭解里程碑生命週期,請參閱 Container-Optimized OS 的版本管理配置。
請參閱下列情境,瞭解自動升級的進行方式,以及當 GKE 無法再為 GKE 子版本推出相同里程碑的 Container-Optimized OS 更新時,叢集管理員必須做出哪些決策。
Container-Optimized OS 版本的支援終止日期,早於子版本的延長支援終止日期
Container-Optimized OS 里程碑的支援終止日期,早於使用該里程碑的子版本延長支援終止日期。在這種情況下,GKE 會使用下一個可用的 Container-Optimized OS 里程碑,進行日後的修補程式升級。GKE 會在子版本使用的 Container-Optimized OS 階段版本終止支援前,執行這項更新。
叢集管理員必須評估是否要升級叢集的 worker 節點,因為 GKE 不會自動將這些節點升級至新里程碑的下一個修補程式版本。您可以手動將節點升級至下一個 GKE 修補程式版本,其中包含新的里程碑。或者,您也可以讓節點繼續執行相同的 GKE 修補程式版本,不使用新的里程碑。不過,節點必須升級至下一個修補程式或子版本,才會收到安全性修補程式。
自動升級至新的 Container-Optimized OS 里程碑
在延長支援期間,GKE 子版本的下一個修補程式版本會使用比先前修補程式版本更新的 Container-Optimized OS 里程碑。當新的修補程式版本成為自動升級目標時,GKE 會自動升級叢集,方式如下:
- 控制層升級:
- GKE 會照常將控制層升級至下一個修補程式版本。
- 節點升級:
- GKE 不會將節點升級至下一個修補程式版本。
- 在延長支援期即將結束時,GKE 會照常將節點升級至下一個子版本。詳情請參閱「支援終止時自動升級」。
由於新的里程碑版本可能會導入與工作負載不相容的變更,GKE 會暫停自動升級至下一個修補程式版本。如果您確定工作負載與下一個 Container-Optimized OS 里程碑相容,可以手動升級至新的修補程式版本。如果您手動將節點升級至使用新版 Container-Optimized OS 的修補程式版本,GKE 會恢復節點的自動修補程式升級作業,因為節點現在執行的是新版本。
新修補程式版本使用新里程碑時的叢集通知
發生這種情況時,GKE 會傳送叢集通知。當第一個使用新版 Container-Optimized OS 的修補程式版本在擴充頻道中推出時,系統會傳送這則通知。
收到這則通知後,請評估是否要手動將節點升級至下一個修補程式或子版本,或是在延長支援期間不接收這個子版本的後續修補程式版本。詳情請參閱「在延長支援期間,新的修補程式版本會變更為新的 Container-Optimized OS 里程碑」。
版本管理架構
Kubernetes 版本採用語意化版本標準,版本號碼為 X.Y.Z。GKE 會在 Kubernetes 版本 (X.Y.Z-gke.N) 後方附加 GKE 修補程式版本號碼。
- Kubernetes 主要版本 (X)
- 如果公開 API 導入任何回溯不相容的變更,主要版本通常會遞增。主要版本會將 Kubernetes 版本從 X.Y 遞增至 X+1.Y。
- Kubernetes 子版本 (Y)
- Kubernetes 一年會推出三個新的子版本,每個發布週期約為 15 週。已淘汰的 API 可能會在新子版本中移除,例如 1.22。子版本發布會將 Kubernetes 版本從 1.Y 遞增至 1.Y+1。舉例來說,Kubernetes 1.32 是 Kubernetes 1.31 之後的次要版本。
- Kubernetes 修補程式版本 (Z)
- Kubernetes 會在子版本發布後的 12 個月內推出修補程式版本。修補程式版本會將 Kubernetes 版本從 X.Y.Z 遞增至 X.Y.Z+1。舉例來說,1.32.6 是 1.32.5 之後的修補程式版本。
- GKE 修補程式版本 (-gke.N)
GKE 發布的修補程式版本會對應上游 Kubernetes 修補程式版本。GKE 修補程式版本可能包含 GKE 的安全性更新、功能變更和錯誤修正,以及開放原始碼 Kubernetes 軟體。這些更新或修正項目是為了與 Google Cloud相容及互通而必要。
GKE 可能會針對每個 Kubernetes 修補程式版本,發布多個 GKE 修補程式版本。舉例來說,Kubernetes 修補程式版本 1.35.6 有 1.35.6-gke.1638000、1.35.6-gke.1641000 和 1.35.6-gke.1250000 等 GKE 修補程式版本。
GKE 修補程式版本通常每週發布一次。修補程式版本會逐步推出至各個可用區。
- GKE Alpha 修補程式版本 (X.Y+1.Z-gke.N+preview) - 僅限 Alpha 叢集
GKE 會在 Kubernetes 子版本發布前最多四個月,推出該版本的 Alpha 修補程式版本。這些預先發布版修補程式版本,可在註冊快速發布管道的 GKE Alpha 版叢集中進行實驗和測試。Alpha 修補程式版本一律會指定 Kubernetes 發布週期中,下一個子版本發布前的子版本。舉例來說,如果子版本 1.36 是最新穩定版本,而 1.37 尚未發布,則 Alpha 修補程式版本會用於 1.37 版。
檢查可用的版本和預設版本
如要瞭解可用版本,請參閱 GKE 版本資訊。
如要查看預設和可用的 GKE 版本,請選取下列其中一個選項:
控制台
在 Google Cloud 控制台中,前往「Create a Kubernetes cluster」(建立 Kubernetes 叢集) 頁面:
在「Location type」(位置類型) 區段中,選擇叢集控制層的位置類型和區域或可用區。
在「目標發布管道」清單中,選取發布管道。
開啟「Target version」(目標版本) 清單。這份清單會顯示發布管道中所有可用的 GKE 修補程式版本。系統會自動選取發布管道的預設修補程式版本。如果選取「快速發布」管道,也會看到即將推出的子版本可用的 Alpha 修補程式版本。
gcloud
如要查看特定發布管道的可用版本和預設版本,請執行下列任一指令:
查看可用版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RELEASE_CHANNEL" \ --format="yaml(channels.channel,channels.validVersions)" \ --location=COMPUTE_LOCATION更改下列內容:
RELEASE_CHANNEL:發布管道的名稱。指定下列其中一個值:RAPIDREGULARSTABLEEXTENDED
COMPUTE_LOCATION:要檢查的 Compute Engine 位置。
輸出結果會與下列內容相似:
channels: channel: RAPID validVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.34.9-gke.1610000 - 1.34.9-gke.1322000 - 1.33.13-gke.1269000 - 1.33.13-gke.1109000在搶鮮版中,
previewVersions欄位會指出即將推出的 Kubernetes 子版本 GKE Alpha 修補程式版本。這些版本僅適用於 Alpha 版叢集。查看預設版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RELEASE_CHANNEL" \ --format="yaml(channels.channel,channels.defaultVersion)" \ --location=COMPUTE_LOCATION輸出結果會與下列內容相似:
channels: channel: RAPID defaultVersion: 1.36.2-gke.1498000查看快速版中可用的 Alpha 修補程式版本:
gcloud container get-server-config \ --flatten="channels" \ --filter="channels.channel=RAPID" \ --format="yaml(channels.channel,channels.previewVersions)" \ --location=COMPUTE_LOCATION輸出結果會與下列內容相似:
channels: channel: RAPID previewVersions: - 1.37.0-gke.2064000+preview
如要查看未使用任何版本群組 (已淘汰) 的叢集可用版本和預設版本,請執行下列任一指令:
查看預設版本:
gcloud container get-server-config \ --format="value(defaultClusterVersion)" \ --location=COMPUTE_LOCATION將
COMPUTE_LOCATION替換為要檢查的 Compute Engine 位置。輸出內容會與
1.35.6-gke.1127000相似。查看可用的控制層版本:
gcloud container get-server-config \ --format="yaml(validMasterVersions)" \ --location=COMPUTE_LOCATION輸出結果會與下列內容相似:
validMasterVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.36.2-gke.1346000 - 1.36.0-gke.4681000 - 1.36.0-gke.4447000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.35.6-gke.1250000 - 1.35.6-gke.1127000 - 1.35.6-gke.1049000查看可用的節點版本:
gcloud container get-server-config \ --format="yaml(validNodeVersions)" \ --location=COMPUTE_LOCATION輸出結果會與下列內容相似:
validNodeVersions: - 1.36.2-gke.2064000 - 1.36.2-gke.1498000 - 1.36.2-gke.1346000 - 1.36.0-gke.4681000 - 1.36.0-gke.4447000 - 1.35.6-gke.1641000 - 1.35.6-gke.1638000 - 1.35.6-gke.1258000 - 1.35.6-gke.1250000 - 1.35.6-gke.1127000 - 1.35.6-gke.1049000 # Multiple lines are omitted here
指定叢集版本
使用 gcloud CLI 建立或升級叢集時,可以使用 --cluster-version 旗標指定叢集版本或別名。
對於 Autopilot 和 Standard 叢集,您可以在建立叢集時使用下列別名:
upgrade-target(預先發布版): 如果叢集已註冊推出序列,這個別名會解析為叢集階段的目標版本。否則,GKE 會使用發布管道的自動升級目標版本。這個別名只能在建立叢集時使用。叢集升級期間無法使用。
僅限標準叢集:您可以指定可用版本 (例如 1.30.2-gke.1500),或使用下列其中一個別名:
latest:叢集可用區或區域中支援的最高 Kubernetes 版本。指定latest不會自動升級。啟用節點自動升級功能,確保叢集中的節點一律採用最新穩定版本。1.X:指定子版本中最高的有效修補程式版本。1.X.Y:指定修補程式版本中最高的有效gke.N修補程式。-:控制層的預設 Kubernetes 版本。如果是節點升級,這會指定叢集控制層執行的版本。建立及升級叢集時,都可以使用這些別名。
指定節點版本
本節僅適用於在標準模式下建立的叢集。在 Autopilot 叢集中,節點會自動升級至控制層版本,您無法指定版本。
建立或升級節點集區時,可以指定版本。根據預設,節點執行的 GKE 版本與控制層相同。節點的版本不得比控制層舊超過兩個子版本。
在子版本停止支援前,節點仍可使用舊版修補程式,即使控制層已不再支援這些版本。在極少數情況下,節點版本可能會提早停用。
控制層 90 天修補政策
為確保 GKE 叢集能及時收到重大安全性修補程式和其他修正程式,GKE 要求叢集的控制層至少每 90 天升級至新的修補程式 (或子版本)。根據預設,GKE 會自動升級叢集的控制層,頻率高於每 90 天一次。不過,您可以設定維護排除項目,或選擇 GKE 在推出序列中執行的升級類型,延遲這些控制層升級作業。不過,與支援結束時自動升級類似,如果 GKE 叢集未依規定升級,GKE 會自動將叢集升級至較新的修補程式版本,無論您設定的政策為何。
GKE 版本偏誤政策
GKE 版本偏誤政策可確保 GKE 叢集維持控制層和節點之間的相容性。在 GKE 叢集中,節點可以與控制層版本相符,或比控制層早最多兩個子版本。
節點執行的版本不得高於控制層版本。舉例來說,如果叢集的控制層執行 1.31 版,節點可以執行 1.31、1.30 或 1.29 版,但不能執行 1.28 或更早版本。根據 Kubernetes OSS 版本偏差政策,節點版本不得高於控制層版本。
為確保支援性和可靠性,節點應使用支援的版本,無論是否遵循有效的版本偏斜。
找出版本偏差不受支援的叢集
GKE 會找出節點因版本偏差而與控制層不相容的叢集。GKE 建議您升級執行這個不支援版本的節點,並透過建議工具服務提供深入分析和建議。如要進一步瞭解如何管理 Recommender 的深入分析和建議,請參閱「依據深入分析和建議,最佳化 GKE 使用情形」。
如要找出版本偏誤不受支援的叢集,可以採用下列任一方法:
- 使用 Google Cloud 控制台。
- 使用 gcloud CLI 或 Recommender API,並指定
CLUSTER_VERSION_SKEW_UNSUPPORTEDRecommender 子類型。
如需操作說明,請參閱「查看洞察和建議」。
如要採行這項建議,請升級所有節點,確保節點執行的子版本與控制層版本相差不超過兩個子版本。
支援略過子版本
GKE 不允許略過叢集控制層的子版本,但可以略過修補版本。worker 節點可以略過子版本。舉例來說,節點集區可以從 1.32 版升級至 1.34 版,略過 1.33 版。
如要跨多個子版本升級叢集,請一次升級一個控制層子版本,並每次都將 worker 節點升級至相同版本。舉例來說,如要將控制層從 1.32 版升級至 1.34 版,請先從 1.32 版升級至 1.33 版,然後升級 worker 節點,使其與控制層版本相符,接著重複上述程序,從 1.33 版升級至 1.34 版。
將 worker 節點升級至相符版本,可避免不支援的版本偏差。建議您盡可能避免略過版本。略過 worker 節點版本通常代表測試範圍較大,雖然可以管理,但需要更多考量。
或者,您也可以使用所需版本建立新叢集,並重新部署工作負載。
修補程式版本支援
GKE 會先在搶鮮版推出修補程式版本,然後逐步透過其他發布管道推送。當 GKE 在發布管道中提供修補程式版本時,您可以建立、升級或在特定情況下降級叢集至這個版本。在子版本支援期間,GKE 會持續在發布管道中推出該子版本的新修補程式版本。
在子版本終止支援前,節點的發布管道仍會提供較早的修補程式版本,但在此日期之前,這些版本會從控制層中移除,無法使用。GKE 移除控制層使用的修補程式版本後,您就無法建立、升級或降級叢集的控制層至該版本。如果叢集的控制層執行已移除的修補程式版本,建議您將控制層升級至最新的自動升級目標。
控制層修補程式版本淘汰
如果子版本已在一般版推出,則下列資訊適用於任何修補程式版本。
GKE 會先淘汰修補程式版本,再從發布管道中移除,以免用於叢集控制層。雖然控制層不再列出已淘汰的修補程式版本,但您仍可使用這些版本建立、升級或降級控制層。
建議您盡快升級至較新的修補程式版本;只有在環境的推出程序嚴格禁止您提早升級時,才使用已淘汰的版本。GKE 會淘汰修補程式版本 90 天,或直到子版本達到標準支援期結束 (正規、穩定、無版本) 或延長支援期結束 (延長版本)。
Alpha 版支援
Alpha 版是 GKE 修補程式版本,屬於即將推出的 Kubernetes 子版本,GKE 會在子版本開放給搶鮮版所有叢集前,提前最多四個月發布。這些 Alpha 版僅適用於 GKE Alpha 版叢集,適合想試用即將推出功能,且不要求穩定性或支援的早期採用者。
搶鮮版有一到三個 Alpha 修補程式版本,可用於即將推出的子版本。在 GKE 向搶鮮版中的所有叢集提供子版本的前幾個月,GKE 會推出新的 Alpha 修補程式版本,並移除現有版本。由於 Alpha 修補程式版本僅適用於 Alpha 叢集,因此請考量下列事項:
- Alpha 版叢集無法升級至新版本。如要測試新的 Alpha 版,請建立執行該版本的 Alpha 叢集。
- 執行已移除 Alpha 版本的 Alpha 叢集會繼續存在,直到叢集在建立 30 天後到期,或您刪除叢集為止。
- 特定系統元件中的 CVE 和錯誤修正不會追溯套用至現有的 Alpha 修補程式版本。如要取得這些修正程式,您必須建立執行較新 Alpha 修補程式版本的 Alpha 叢集。
GKE 在搶鮮版發布穩定的子版本後,會移除該子版本的 Alpha 修補程式版本。在發布週期中,下一個子版本的 Alpha 版會在該子版本發布日期前最多四個月,於搶鮮版中推出。
Alpha 版生命週期
Alpha 版生命週期包含下列里程碑:
- Kubernetes 發布即將推出的子版本 (
X.Y+1.0-alpha.0) 的第一個開發中版本。 - 在即將推出的子版本發布日期前,GKE 最多會提前四個月,在搶鮮版 (
X.Y+1.0-gke.N+preview) 中推出該子版本的 Alpha 修補程式版本。 - Kubernetes 發布穩定子版本 (
X.Y.0)。 - GKE 在搶鮮版 (
X.Y.0-gke.N) 中提供穩定的子版本,並從搶鮮版中移除該子版本的 Alpha 版。
Alpha 版的生命週期不會影響 GKE 子版本生命週期。