使用 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 天仍未開始自動升級,可能是因為下列原因:
- 您的叢集暫時不符合自動升級資格。可能的原因如下:
- GKE 基於技術或業務原因,暫停推出新的自動升級目標:
- 新版本有技術問題。
- 因黑色星期五等重要業務季節,而實施生產凍結。
建議的自動升級目標為何?
建議的自動升級目標是 GKE 隨著時間逐步將叢集升級至的版本。在發布管道的所有自動升級目標中,GKE 會在執行自動升級時,將叢集升級至更接近這個版本的版本。
在多次自動升級過程中,除非有任何限制導致無法自動升級,否則 GKE 會逐步將叢集升級至接近發布管道建議的自動升級目標,直到叢集達到目標為止。達到目標後,叢集會持續使用現有的建議自動升級目標,並在新的建議目標發布時改用該目標。
什麼是預設版本?
在發布管道中建立叢集時,叢集預設會使用所選發布管道中用於建立叢集的預設修補程式版本。不過,您可以在發布管道中建立叢集時,指定其他可用版本。
發布管道提供多個子版本,預設版本有時會是發布管道的自動升級目標之一。
提早取得修補程式版本
您可以透過自動或手動升級,提早取得修補程式版本,方法請見本節說明。
加速修補程式自動升級
GKE 會先在發布管道中推出新的修補程式版本,讓使用者建立新叢集並手動升級。GKE 判定修補程式版本符合資格後,會將新的修補程式版本設為自動升級目標,也就是說,GKE 會開始自動將叢集升級至這個新的修補程式版本。從版本推出到自動升級,通常至少會間隔一週,但實際時間取決於發布管道和版本通過資格認證的具體情況。
如要進一步瞭解目前版本的適用情形,請按照下列步驟操作:
- 請參閱 GKE 版本資訊頁面,包括「目前版本」表格和「版本更新」項目,例如 2025-R26 版本資訊。
- 查看可用的預設版本,瞭解發布管道提供哪些版本。
如要在版本推出後立即收到修補程式升級,且在 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 子版本生命週期」。
在延長版管道註冊叢集的限制
請詳閱下列限制,瞭解已註冊擴充通道的叢集:
- 在延長支援期間,如果 Container-Optimized OS 里程碑達到支援期限,GKE 會更新 GKE 子版本使用的里程碑。GKE 會暫停修補節點自動升級作業,並傳送叢集通知。 如要進一步瞭解這項異動,請參閱「延展支援期間的 Container-Optimized OS 更新」。
- 延長支援期限不會延長叢集的憑證到期日。在叢集憑證到期前輪替憑證。
如果叢集使用下列功能,就無法在擴充管道中註冊:
延長支援期定價
如要將叢集註冊至延長版,請務必先查看延長支援服務的價格。如果叢集註冊於延長版管道,且叢集的子版本進入延長支援期限,就會按照用量計費。
延長版的最佳做法
請參閱下列情境,瞭解如何使用延長支援通道,盡量減少子版本升級造成的干擾。
支援的情境需要不時手動操作,才能充分發揮管道效益。如果您不打算將叢集移至下一個子版本,建議不要將叢集註冊至該管道,因為 GKE 最終會以與其他管道相同的頻率,將叢集升級至較新的子版本,而您的叢集可能會產生較高的費用,且最後才會收到新功能。
支援及不支援的情境
如要進一步瞭解支援和不支援的情況,請參閱下表,並參閱「需要長期支援時使用延展管道」一文。勾號 () 表示支援的情境:
| 升級情境 | 支援 | 摘要 | 子版本變更間隔時間 | 需要手動操作 |
|---|---|---|---|---|
| 暫時延長使用特定子版本的時間 | 維持使用特定子版本,以解決無法升級的問題。 | 平均頻率相同,但一個子版本會中斷額外時間。 |
|
|
| 每年手動升級子版本 1 到 2 次 | 取得新功能,但減少次要升級的頻率,在叢集工作負載的最佳時機進行升級。 | 每年 1 到 2 次。 |
|
|
| 不採取任何行動,並以相同頻率接收次要升級 | 以與其他管道相同的頻率取得子版本升級,並盡可能延後取得新功能。 | 平均每 4 個月。 |
|
未註冊發布管道的叢集
您可以選擇不將 Standard 叢集註冊至發布管道。 不過,如果不註冊,叢集就無法使用特定功能,而且這個設定選項已淘汰,日後將移除。無論是否註冊發布管道,所有叢集的控制層都會自動升級,且當版本終止支援時,叢集控制層和節點也會自動升級。
如要從這個設定選項遷移,請參閱「註冊現有叢集」一文。
如果您因為個別節點集區無法自動升級,而必須手動升級這些節點,因此考慮不將叢集註冊至發布管道,您可以使用發布管道達到相同的效果。使用發布管道時,如要停用所有節點集區的節點自動升級功能,直到支援期結束,可以搭配「不執行子版本或節點升級作業」範圍,使用叢集維護排除條件。或者,如果您想在叢集中停用部分 (而非全部) 節點集區的自動升級功能,請使用節點集區維護排除項目。
已註冊和未註冊發布管道的叢集比較
請參閱下表,瞭解叢集註冊和未註冊發布管道的異同:
| 功能 | 已在發布管道註冊叢集 | 叢集未註冊任何發布管道 |
|---|---|---|
| 共用升級行為 | ||
| 升級時間 | 與對應的發布管道一致 |
|
| 加速修補程式自動升級 | 可用 | 無法使用 |
| 控管節點集區中斷情形 |
|
|
| 維護期間 | 可用 | 可用 |
| 維護作業排除時段 |
|
僅限「不升級」範圍 (最多 90 天) |
| 推出作業排序 | 可用 | 無法使用 |
| 長期支援 | 僅適用於 Extended 發布管道 | 無法使用 |
| Autopilot | 可用 | 無法使用 |
為 Alpha 版叢集選擇「搶鮮版」管道
透過搶鮮版管道,GKE 叢集可盡早存取新版本,包括即將推出的子版本的 Alpha 修補程式版本。Alpha 版叢集可讓您測試新功能,這些功能會先在較新版本中推出。在 Alpha 版叢集中,所有 Kubernetes API (包括 Alpha 版 API) 都會啟用。系統預設會啟用所有 Kubernetes Alpha 版功能閘道,您可以切換特定 Alpha 版和 Beta 版功能閘道。部署 Alpha 版叢集前,請先瞭解限制。
您也可以在「一般」或「穩定」發布管道中註冊 Alpha 版叢集,但無法在這些管道中存取最新 Kubernetes 版本,包括 Alpha 版修補程式版本。選擇不將叢集註冊至發布管道是已淘汰的設定選項,將會移除。詳情請參閱上一節「未在發布版本註冊叢集」。