關於發布管道

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

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

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

如果未在發布管道中註冊 Standard 叢集,所有叢集的控制層仍會自動升級,且當版本支援期限結束時,無論是否已註冊發布管道,叢集控制層和節點都會自動升級。詳情請參閱已註冊和未註冊發布管道的叢集比較

可用的發布版本

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

管道 子版本適用情形 設為自動升級目標 使用這個管道的時機
快速

上游開放原始碼正式發布後 1 至 2 週

在 GKE 向 Rapid 中的所有叢集提供子版本之前,Alpha 修補程式版本只適用於 Alpha 叢集,最多四個月。

搶鮮版推出後的 1 到 2 個月

系統會盡早取得最新的 Kubernetes 版本,因此能夠在新的 GKE 功能正式發行時就搶先使用。GKE 會經常升級叢集,確保採用最新的修補程式版本,並提供最新的 Kubernetes 功能。訂閱搶鮮版的叢集會使用正式發布版本,但我們建議您使用搶鮮版,在試產環境測試較新的 Kubernetes 版本和 API。

建議您為Alpha 版叢集使用搶鮮版,啟用所有 Kubernetes Alpha 版功能閘道和 Alpha 版 API,以進行測試。在搶鮮版管道中,Alpha 版叢集最多可在 GKE 向搶鮮版管道中的所有叢集提供該子版本前四個月,執行即將推出的子版本的 Alpha 版修補程式版本

一般版 (預設) 搶鮮版推出後約 2 個月 一般版推出後約 3 個月 系統會在 GKE 和 Kubernetes 功能正式發行後,在相當短的時間內就存取這些功能,不過會使用經過較長時間驗證的版本。兼顧功能可用性與版本穩定性,也是我們推薦給大多數使用者的選項。
穩定 一般版推出後的 3 到 4 個月 穩定版發布後約 2 個月 首重穩定性,而非新功能。GKE 會先在搶鮮版和一般版驗證變更和新版本,最後再透過這個發布版推出。
延長 與一般版一致 與一般版一致 使用這個管道可獲得長期支援,盡可能讓叢集持續執行特定子版本。 詳情請參閱「透過延展管道取得長期支援」。
不使用發布管道 (已淘汰) 與一般版一致 與穩定版一致 控制層和節點會依據一般和穩定版管道自動升級。如需在節點集區層級停用節點自動升級功能,您可以改用發布管道,並執行下列任一操作: 如要進一步瞭解「無管道」,請參閱已註冊和未註冊發布管道的叢集比較

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

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

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

管道中可用的版本

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

  • 新修補程式版本會在下列時間內推出:
    • 至少一週前,成為相應管道的自動升級目標
    • 至少兩週 (在先前的管道中發布後)
  • 新的次要版本會在下列時間內推出:
    • 至少四週前,成為快速通道的自動升級目標
    • 至少八週前,成為一般和穩定版管道的自動升級目標

如要測試即將推出的 Kubernetes 子版本,搶鮮版管道會提前最多四個月提供Alpha 版修補程式版本,讓您搶先體驗。Alpha 版修補程式版本僅適用於 Alpha 版叢集。

您可以先測試新推出的 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 並註冊加入「一般版」管道。

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

瞭解頻道的新內容

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

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

為叢集選擇最合適的發布管道

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

發布版本採用週期

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

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

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

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

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

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

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

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

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

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

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

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

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

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

延長支援期定價

如要在延長版註冊叢集,請務必先查看延長支援服務的價格。如果您的叢集註冊於延長版管道,且叢集的子版本進入延長支援期限,就會按照用量計費。

擴展頻道最佳做法

請參閱下列情境,瞭解如何使用「延長」管道,盡量減少次要版本升級造成的干擾。

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

支援及不支援的情境

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

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

未註冊發布管道的叢集

您可以選擇不將 Standard 叢集註冊至發布管道。不過,如果未註冊,叢集就無法使用特定功能,而且這個設定選項已淘汰,將會移除。無論註冊哪個發布管道,所有叢集的控制層都會自動升級,且當版本終止支援時,叢集控制層和節點也會自動升級。

如要從這個設定選項遷移,請參閱「註冊現有叢集」一文。

如果您考慮不要在發布管道中註冊叢集,因為您有無法自動升級的個別節點集區,且必須手動升級這些節點,則可透過發布管道達成相同行為。使用發布版本時,如要停用所有節點集區的節點自動升級功能,直到支援期結束為止,可以採用「不執行子版本或節點升級作業」範圍的叢集維護排除條件。或者,如果叢集的部分節點集區要停用自動升級功能,請使用節點集區維護排除項目

已註冊發布管道和未註冊發布管道的叢集比較

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

功能 叢集已註冊發布管道 叢集未註冊任何發布管道
共用升級行為
升級時間 與各自的發布管道一致
  • 子版本的自動升級開始日期與穩定版相同
  • 與一般版發布版本提供相同的子版本、修補程式自動升級版本和預設版本
  • 如果一般版提供這些子版本,搶鮮版也會提供相同的修補程式版本
加快修補程式自動升級速度 可用 無法使用
控制節點集區中斷
  • 預設節點自動升級
  • 您可以透過下列方式停用節點自動升級功能:
  • 您可以為標準叢集節點集區「停用節點自動修復功能」
  • 預設節點自動升級
  • 您可以透過下列方式停用節點自動升級功能:
    • 在叢集層級建立「不得升級」範圍的維護作業排除時段,最多可排除 90 天
    • 在節點集區層級,直到子版本支援期結束為止,方法是停用節點自動升級。建立節點集區維護排除項目,即可透過發布管道達到相同結果。
維護期間 可用 可用
維護作業排除時段 僅限「不升級」範圍 (最多 90 天)
推出作業排序 可用 無法使用
長期支援 僅適用於「延長」發布管道 無法使用
Autopilot 可用 無法使用

為 Alpha 版叢集選擇「搶鮮版」管道

「搶鮮版」管道會盡快提供新版本,包括即將推出的次要版本的Alpha 修補程式版本,讓 GKE 叢集搶先使用。Alpha 版叢集可讓您測試新功能,這些功能會先在較新版本中推出。在 Alpha 版叢集中,所有 Kubernetes API (包括 Alpha 版 API) 都會啟用。系統預設會啟用所有 Kubernetes Alpha 版功能閘道,您可以切換特定 Alpha 版和 Beta 版功能閘道。部署 Alpha 版叢集前,請先瞭解限制

您也可以在「一般」或「穩定」發布管道中註冊 Alpha 版叢集,但無法在這些管道中存取最新 Kubernetes 版本,包括 Alpha 版修補程式版本。選擇不將叢集註冊至發布管道是已淘汰的設定選項,將會移除。詳情請參閱上一節「未在發布管道中註冊的叢集」。

後續步驟