關於發布管道

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

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

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

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

有哪些頻道可觀看

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

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

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

在 GKE 向搶鮮版中的所有叢集提供子版本之前,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 自動將叢集升級至新修補程式版本的時間。GKE 仍會遵守維護期間和排除時段,按照推出作業序列的順序執行作業,並套用通常用於自動升級的其他標準做法。

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

或者,您也可以手動升級叢集,在特定修補程式版本推出後立即升級,並在該版本設為自動升級目標前完成升級。

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

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

舉例來說,如果 Rapid 和一般版管道提供下列版本:

  • 快速: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 會將叢集維持在較新版本的修補程式版本,直到叢集註冊的版本有更新的自動升級目標為止。

瞭解頻道的新內容

如要瞭解發布管道的新功能,請參閱版本資訊。除了整體版本資訊外,每個發布管道都有獨立的版本資訊。

發布管道 版本資訊
搶鮮版 HTML 或 Atom 資訊動態饋給。
一般版 HTML 或 Atom 資訊動態饋給。
穩定版 HTML 或 Atom 資訊動態饋給。

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

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

發布管道採用週期

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

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

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

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

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

  • 更妥善地控管升級作業,並配合工作時間。
  • 如果叢集符合發布目標 (也就是手動升級至下一個目標版本的叢集),GKE 會略過自動升級程序,因此預測性更高。節點會自動升級至所選版本中的建議版本,與控制層版本保持一致,並保護您免受安全漏洞和不支援的版本偏差影響。

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

GKE 透過延長版提供 Kubernetes 子版本的長期支援。如果採用這個管道,就能維持使用特定子版本一段時間 (最多 24 個月)。14 個月的標準支援期結束後,叢集會在延長支援期限內繼續收到安全性修補程式,為期約 10 個月。

GKE 如何自動升級擴充版中的叢集

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

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

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

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

請詳閱下列限制,瞭解已註冊擴充通道的叢集:

延長支援期定價

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

延長版的最佳做法

請參閱下列情境,瞭解如何使用延長支援通道,盡量減少子版本升級造成的干擾。

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

支援及不支援的情境

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

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

未註冊發布管道的叢集

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

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

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

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

請參閱下表,瞭解叢集註冊和未註冊發布管道的異同:

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

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

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

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

後續步驟