關於發布版本


使用 Google Kubernetes Engine (GKE) 的發布版本,在可用功能與穩定性之間權衡,為叢集選用合適的版本。

GKE 會隨著新版本推出自動升級所有叢集 (包括未在發布管道註冊的叢集),確保叢集收到安全性更新、已知問題的修正內容、新功能,並執行支援的 Kubernetes 版本。您可以透過維護期間和排除時段控管升級時間點。

建議您將叢集註冊至發布管道,因為這樣您就能充分控管維護排除範圍 (防止特定類型的升級,而非所有升級),並安排叢集升級的推出順序。Autopilot 叢集只能註冊發布版本。

如果未在發布版本中註冊標準叢集,可以停用所選節點集區的節點自動升級功能,並手動管理這些節點集區中節點的升級作業。不過,所有叢集的控制層都會自動升級,且當版本終止支援時,無論是否已註冊發布版本,叢集控制層和節點都會自動升級。如要瞭解詳情,請參閱已註冊和未註冊發布版本的叢集比較

可用的發布版本

下表說明可用發布通路的屬性,每個通路都在功能可用性和穩定性之間取得平衡。所有發布管道都提供支援的 GKE 版本,且視為正式版 (GA),但個別功能可能不一定是正式版,如標示所示。這些管道中的 Kubernetes 版本是官方 Kubernetes 版本,包含正式發布和 Beta 版 Kubernetes API。

管道 新 Kubernetes 版本推出時間 使用這個管道的時機
快速 上游開放原始碼正式發布後的數週 系統會盡早取得最新的 Kubernetes 版本,因此能夠在新的 GKE 功能正式發行時就搶先使用。GKE 會經常升級叢集,確保採用最新的修補程式版本,並提供最新的 Kubernetes 功能。訂閱搶鮮版的叢集會使用正式發布版本,但我們建議您使用搶鮮版,在試產環境測試較新的 Kubernetes 版本和 API。
一般 (預設) 搶鮮版推出後的 2 到 3 個月 系統會在 GKE 和 Kubernetes 功能正式發行後,在相當短的時間內就存取這些功能,不過會使用經過較長時間驗證的版本。兼顧功能可用性與版本穩定性,適合大多數使用者。
穩定 一般版推出後的 2 到 3 個月 首重穩定性,而非新功能。GKE 會先在搶鮮版和一般版驗證變更和新版本,最後再透過這個發布版推出。
延長 與一般版一致 使用這個管道可獲得長期支援,讓叢集盡可能長時間執行特定子版本。 詳情請參閱「透過延展管道取得長期支援」。
不使用發布版本 (不建議) 與一般版一致 我們不建議採用這個選項。控制層和節點會根據「一般」和「穩定」發布版本自動升級。如要在節點集區層級停用節點自動升級功能,可以使用這個設定選項。或者,您也可以使用發布版本在叢集層級停用節點自動升級功能。詳情請參閱已註冊和未註冊發布版本的叢集比較

在發布版本中註冊叢集後,叢集會在 GKE 發布時間表的「自動升級」欄中指定日期當天或之後,自動升級。

當版本累積使用量並在「快速版」中展現出叢集穩定性時,就會升級至「一般版」。最終,該版本會升級至「穩定版」,只接收高優先順序的更新。每次升級都會根據觀察到執行該版本的叢集效能,發出提升穩定性與生產準備就緒的訊號。

所有發布版本都會收到重要的安全性修補程式,藉以保護您的叢集與 Google 的基礎架構。在罕見的緊急情況下,GKE 可能會將叢集自動升級至發布版本中尚未提供的版本。

管道中可用的版本

每個發布管道都提供多個子版本。這些版本已符合該特定頻道的資格標準。這組可用版本包含叢集建立作業的預設版本,該版本是從該管道的一組可用版本中選取。如要查看發布版本中可用的版本,請按照操作說明查看發布版本的預設版本和可用版本

  • 新修補程式版本會在成為所有頻道的自動升級目標至少一週前推出。
  • 推出新的次要版本:
    • 至少在「快速」管道成為自動升級目標的兩週前。
    • 至少四週前,成為 Regular 和 Stable 管道的自動升級目標。

您可以在升級正式環境前,先測試新推出的 GKE 版本。舉例來說,您可以訂閱升級通知,瞭解最新版本,然後在正式環境叢集自動升級至新版本前,主動將試前環境升級至新版本。

如需讓叢集維持在特定版本,例如在升級前驗證或測試新版,建議使用維護排除時段

次要版本在發布版本中推出後,會持續在該版本中提供給新叢集或現有叢集,直到支援服務終止日期為止。

版本成為發布版本的自動升級目標時會發生什麼情況

GKE 會陸續自動將叢集升級至新的自動升級目標。有新的自動升級目標時,GKE 會評估是否應將特定叢集升級至該新版本。GKE 會考量叢集是否設有維護政策或其他限制,導致無法自動升級,除非是罕見的緊急情況,否則不會忽略這些原因。

您可以透過下列方式,找出叢集的自動升級目標:

  • 如要取得特定叢集的自動升級目標,請參閱取得叢集升級資訊
  • 目前版本表列出每個發布版本的目前自動升級目標。適用於叢集的具體版本取決於叢集次要版本和特定限制。
  • GKE 發布說明會列出執行特定次要版本的叢集的新自動升級目標,並提供版本更新,例如 2024-R33 說明

如果新版本成為發布管道中叢集子版本的自動升級目標後,已過了 10 天,但叢集尚未開始自動升級,可能是因為下列原因:

  • 您的叢集暫時不符合自動升級資格。可能的原因如下:
    • 叢集不在已設定的維護期間內。
    • 叢集處於「維護作業排除項目」的時間範圍內。
    • 自動升級已暫停,因為您的叢集使用已淘汰的 Kubernetes 功能,這些功能會在下一個子版本中移除。
    • 系統在不到 24 小時前,自動將叢集升級至修補程式版本
    • 叢集在不到 30 天前自動升級至子版本,且自動升級目標是新的子版本。
  • 基於技術或業務原因,GKE 暫停推出新的自動升級目標:
    • 新版本有技術問題。
    • 因黑色星期五等重要業務季節而暫停發布。

建議的自動升級目標是 GKE 隨著時間逐步升級叢集的版本。在發布版本中,GKE 會在執行自動升級時,將叢集升級至最接近自動升級目標的版本。

在多次自動升級期間,除非有自動升級限制,否則 GKE 會逐步將叢集升級至發布管道的建議自動升級目標,直到叢集達到目標為止。達到目標後,叢集會持續使用現有的建議自動升級目標,並在新的建議目標發布時改用該目標。

預設版本為何?

在發布版本中建立叢集時,叢集預設會使用所選發布版本中的叢集建立預設修補程式版本。不過,在發布版本中建立叢集時,您可以指定其他可用版本。

發布版本提供多個子版本,預設版本有時會是發布版本的自動升級目標之一。

搶先取得修補程式版本

如要提早取得修補程式版本,可以透過本節所述方法,自動或手動升級。

加速修補程式自動升級

GKE 會先在發布版本中推出新的修補程式版本,讓使用者建立新叢集及手動升級。GKE 判斷修補程式版本符合資格後,就會將新修補程式版本設為自動升級目標,也就是開始自動將叢集升級至這個新修補程式版本。從版本推出到自動升級,通常至少會間隔一週,但實際時間取決於發布版本和版本資格的具體情況。

如要進一步瞭解目前版本的適用情形,請按照下列步驟操作:

如要在版本推出後立即取得修補程式升級,且在 GKE 將該版本設為管道中的自動升級目標前取得升級,可以使用加速修補程式自動升級功能。如果您想透過自動升級盡快取得安全性修補程式,這項設定就很有用。

在 GKE 判定應將發布版本中的叢集自動升級至新修補程式版本之前,您必須瞭解以加速時間表自動升級叢集所帶來的風險。這項加速計畫會跳過發布管道中修補程式版本的資格程序步驟,所有修補程式版本 (不只是含安全性修補程式的修補程式版本) 都會依此加速排程升級。這項設定不會影響次要版本升級,且僅適用於在發布版本中註冊的叢集。

這項設定只會影響 GKE 自動將叢集升級至新修補程式版本的時間。GKE 仍會遵守維護時間範圍和排除條件,並按照推出作業排序功能設定的順序,套用通常用於自動升級的其他標準做法。

如要進一步瞭解如何設定這項功能,請參閱「使用加速修補程式自動升級」。

或者,如果想在特定修補程式版本推出後立即升級,且該版本尚未設為自動升級目標,您可以手動升級叢集

從較新的管道執行修補程式版本

除了發布管道的可用修補程式版本外,如果子版本適用於叢集的發布管道,且您使用 gcloud CLI 或 GKE API,也可以執行比叢集註冊管道更新的發布管道修補程式版本。

舉例來說,如果「快速」和「一般」管道提供下列版本:

  • 快速:1.23.2-gke.700、1.22.4-gke.1500
  • 一般版:1.21.4-gke.400、1.22.1-gke.400

如果叢集已註冊一般版,且執行 GKE 1.22.1-gke.400 版,則可手動升級至 1.22.4-gke.1500 版,但無法升級至 1.23.2-gke.700 版,因為這是不同的次要版本。

如要手動升級至較新管道的修補程式版本,叢集的控制層必須執行相同子版本的修補程式版本。舉例來說,如果叢集執行的是 1.21.3-gke.200,您必須先手動將叢集升級至目前發布管道提供的修補程式版本 1.22.1-gke.400。然後將叢集升級至 1.22.4-gke.1500。

您也可以建立新的叢集,執行 1.22.4-gke.1500 並註冊加入 Regular 管道。

在註冊的叢集發布版本中,出現更新的自動升級目標之前,GKE 會讓叢集維持較新發布版本的修補程式版本。

瞭解頻道的新內容

如要瞭解發布管道的新功能,請參閱版本資訊。除了整體版本資訊以外,每次發布版本也會提供個別的版本資訊。

發布 管道 版本資訊
搶鮮版 HTMLAtom 提要
一般版 HTMLAtom 提要
穩定版 頻道 HTMLAtom 提要

為叢集選擇最合適的發布版本

管道只包含 Kubernetes 的正式發布版本,每個管道代表 Kubernetes 和 GKE 發布版本的不同品質和成熟度。下圖說明發布管道的採用週期:

發布版本採用週期

如圖所示,可用的發布管道會使用採用週期中期的版本,包括早期採用者 (快速管道)、早期大眾 (一般管道) 和大眾 (穩定管道)。採用週期最早的階段是創新者,他們會使用上游 Kubernetes 版本測試最新功能。採用週期的最後一部分是後期多數,您使用的版本即將淘汰,因此需要改用支援的版本。

在試產環境中,使用搶鮮版取得較新版本,並在功能正式推出後立即測試。

如為需要成熟功能而非新功能的工作負載,建議使用一般版 (預設) 或穩定版。

  • 如要密切追蹤新功能,建議使用「一般」管道,這個管道提供的 Kubernetes OSS 版本兼具穩定性和新穎性。
  • 如果您的需求是成熟度,尤其是生產環境叢集,請使用穩定版管道。

GKE 會將叢集升級至符合管道品質標準的較新版本。不過,我們建議您提前升級叢集,因為這樣可以:

  • 更有效控管升級作業,並配合工作時間進行。
  • GKE 會略過符合發布目標的叢集 (也就是手動升級至下一個目標版本的叢集),因此可提供更準確的預測。節點會自動升級至所選管道中的建議版本,與控制層版本保持一致,並防範安全漏洞和不支援的版本偏差

透過「延伸」管道取得長期支援

GKE 透過延長版,為 Kubernetes 子版本提供長期支援。使用這個管道,您最多可以持續使用子版本 24 個月。在 14 個月的標準支援期過後,叢集會在延長支援期內,大約再接收 10 個月的安全性修補程式。

GKE 如何在延長版發布版本中自動升級叢集

如果叢集已註冊延長版管道,GKE 會自動升級叢集,方式如下:

  • 標準支援期間:GKE 會按照與一般版相同的頻率,將叢集升級至相同子版本的較新修補程式版本。
  • 延長支援期間:GKE 會繼續提供子版本的安全性修補程式更新。延長支援期結束前約 2 個月,GKE 會開始將叢集升級至下一個子版本,除非叢集使用已淘汰的功能或 API。您可以使用維護作業排除時段,避免在延長支援期結束前升級至子版本。
  • 延長支援期結束後:如果叢集仍執行不受支援的子版本,GKE 會升級所有叢集,無論是否會妨礙運作。這個日期過後,您就無法設定維護作業排除時段。

如要進一步瞭解不同有效期限,以及 GKE 在延長支援期間提供的升級服務,請參閱 GKE 子版本生命週期

在延長版管道註冊叢集的限制

請參閱下列限制,瞭解已註冊 Extended 管道的叢集:

延長支援期定價

如要在延長版註冊叢集,請務必先查看延長支援服務的價格。如果專案已啟用 GKE Enterprise,您可以免費將叢集註冊至「延長」管道。或者,如果是 GKE Standard 版本叢集,如果叢集註冊於延長版,叢集的子版本也進入延長支援期,就會按照用量計費。

延長版頻道的最佳做法

請查看下列情境,瞭解如何使用「延長」管道,盡量減少次要版本升級造成的服務中斷。

支援的情境需要一段時間的手動操作,才能從管道獲得最大效益。如果您沒有打算遷移至下一個子版本,我們不建議您在管道中註冊叢集,因為 GKE 最終會以與其他管道相同的頻率,將叢集升級至較新的子版本,而您的叢集可能會產生較高的費用,且最後才會收到新功能。

支援及不支援的情境

如要進一步瞭解支援和不支援的情況,請參閱下表,並參閱「需要長期支援時使用 Extended 管道」一文。勾號 () 表示支援的案例:

升級情境 支援 摘要 次要版本變更間隔時間 須手動操作
暫時延長使用子版本的時間 維持使用特定子版本,以解決無法升級的問題。 平均頻率相同,但其中一個子版本會因額外時間而中斷。
  • 暫時將叢集移至擴充版,或從擴充版移出。
  • 準備就緒後,手動將叢集升級至新的次要版本。
每年手動升級子版本 1 到 2 次 取得新功能,但次要升級頻率較低,適合叢集中的工作負載。 每年 1 到 2 次。
  • 手動將叢集升級至較新的子版本。
不採取任何行動,以相同頻率接收次要升級 以與其他管道相同的頻率取得次要版本升級,並盡可能延後取得新功能。 平均每 4 個月一次。
  • 監控從不支援版本自動升級子版本的情況。

未註冊發布版本的叢集

由於未註冊發布版本的叢集有許多限制,因此我們不建議使用這個設定選項,但您可以選擇不將標準叢集註冊至發布版本 (稱為「無頻道」,先前稱為「靜態」)。除非個別節點集區無法自動升級,且您必須改為手動升級這些節點,否則請勿使用這個選項。如果叢集未註冊任何發布版本,您可以為選取的節點集區停用節點自動升級功能。使用發布管道,您可以在叢集層級為所有節點集區達成相同結果。不過,無論是否註冊發布版本,所有叢集的控制層都會自動升級,且當版本支援期限結束時,叢集控制層和節點也會自動升級。

建議您使用維護排除時段,防止整個 Standard 叢集或所有節點集區自動升級,並將叢集註冊至發布版本。如要為所有節點集區停用節點自動升級功能,請設定維護作業排除項目。如果叢集未註冊發布管道,則可以在節點集區層級停用節點自動升級功能。

已註冊發布版本和未註冊發布版本的叢集比較

請參閱下表,瞭解叢集註冊與未註冊至發布管道的相似之處和差異:

功能 已在發布版本中註冊的叢集 叢集未註冊任何發布版本
共用升級行為
升級時間 與相應的發布版本一致
  • 次要版本的自動升級開始日期與穩定版相同
  • 與一般版發布版本相同,提供可用的子版本、修補程式自動升級版本和預設版本
  • 與搶鮮版相同,一般版子版本可用的修補程式版本
加速修補程式自動升級 可用 無法使用
控制節點集區中斷
  • 預設節點自動升級
  • 您可以建立維護作業排除時段,並將範圍設為「不升級子版本或節點」,在子版本終止支援日期前停用叢集層級的節點自動升級功能
  • 您可以為標準叢集節點集區「停用節點自動修復功能」
維護期間 可用 可用
維護作業排除時段 可用的維護作業排除範圍
  • 「沒有升級」(30 天)
  • 「不執行任何次要升級作業」(支援期結束前)
  • 「不執行任何次要或節點升級作業」(支援終止前)
僅限「不升級」範圍 (30 天)
推出作業排序 適用於以車隊為準和以範圍為準的序列 無法使用
長期支援 僅適用於延長發布版本 無法使用
Autopilot 可用 無法使用

快速版本叢集與 Alpha 版叢集之間的差異

使用快速發布版本建立的叢集不是 Alpha 版叢集。兩者差異如下:

  • 您可以升級使用發布版本的叢集,自動升級會啟用,且無法停用。Alpha 版叢集無法升級。
  • 使用發布版本的叢集不會到期。Alpha 版叢集會在 30 天後到期。
  • Alpha 版 Kubernetes API 不會在使用發布版本的叢集上啟用。

後續步驟