使用 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 天,但叢集尚未開始自動升級,可能是因為下列原因:
- 您的叢集暫時不符合自動升級資格。可能的原因如下:
- 基於技術或業務原因,GKE 暫停推出新的自動升級目標:
- 新版本有技術問題。
- 因黑色星期五等重要業務季節而暫停發布。
建議的自動升級目標為何?
建議的自動升級目標是 GKE 隨著時間逐步升級叢集的版本。在發布版本中,GKE 會在執行自動升級時,將叢集升級至最接近自動升級目標的版本。
在多次自動升級期間,除非有自動升級限制,否則 GKE 會逐步將叢集升級至發布管道的建議自動升級目標,直到叢集達到目標為止。達到目標後,叢集會持續使用現有的建議自動升級目標,並在新的建議目標發布時改用該目標。
預設版本為何?
在發布版本中建立叢集時,叢集預設會使用所選發布版本中的叢集建立預設修補程式版本。不過,在發布版本中建立叢集時,您可以指定其他可用版本。
發布版本提供多個子版本,預設版本有時會是發布版本的自動升級目標之一。
搶先取得修補程式版本
如要提早取得修補程式版本,可以透過本節所述方法,自動或手動升級。
加速修補程式自動升級
GKE 會先在發布版本中推出新的修補程式版本,讓使用者建立新叢集及手動升級。GKE 判斷修補程式版本符合資格後,就會將新修補程式版本設為自動升級目標,也就是開始自動將叢集升級至這個新修補程式版本。從版本推出到自動升級,通常至少會間隔一週,但實際時間取決於發布版本和版本資格的具體情況。
如要進一步瞭解目前版本的適用情形,請按照下列步驟操作:
- 請參閱 GKE 版本資訊頁面,包括「目前版本」表格和「版本更新」項目,例如 2025-R26 版本資訊。
- 查看可用的版本和預設版本,瞭解發布管道提供哪些版本。
如要在版本推出後立即取得修補程式升級,且在 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 會讓叢集維持較新發布版本的修補程式版本。
瞭解頻道的新內容
如要瞭解發布管道的新功能,請參閱版本資訊。除了整體版本資訊以外,每次發布版本也會提供個別的版本資訊。
發布 管道 | 版本資訊 |
---|---|
搶鮮版 | HTML 或 Atom 提要。 |
一般版 | HTML 或 Atom 提要。 |
穩定版 頻道 | HTML 或 Atom 提要。 |
為叢集選擇最合適的發布版本
管道只包含 Kubernetes 的正式發布版本,每個管道代表 Kubernetes 和 GKE 發布版本的不同品質和成熟度。下圖說明發布管道的採用週期:
如圖所示,可用的發布管道會使用採用週期中期的版本,包括早期採用者 (快速管道)、早期大眾 (一般管道) 和大眾 (穩定管道)。採用週期最早的階段是創新者,他們會使用上游 Kubernetes 版本測試最新功能。採用週期的最後一部分是後期多數,您使用的版本即將淘汰,因此需要改用支援的版本。
在試產環境中,使用搶鮮版取得較新版本,並在功能正式推出後立即測試。
如為需要成熟功能而非新功能的工作負載,建議使用一般版 (預設) 或穩定版。
- 如要密切追蹤新功能,建議使用「一般」管道,這個管道提供的 Kubernetes OSS 版本兼具穩定性和新穎性。
- 如果您的需求是成熟度,尤其是生產環境叢集,請使用穩定版管道。
GKE 會將叢集升級至符合管道品質標準的較新版本。不過,我們建議您提前升級叢集,因為這樣可以:
- 更有效控管升級作業,並配合工作時間進行。
- GKE 會略過符合發布目標的叢集 (也就是手動升級至下一個目標版本的叢集),因此可提供更準確的預測。節點會自動升級至所選管道中的建議版本,與控制層版本保持一致,並防範安全漏洞和不支援的版本偏差。
透過「延伸」管道取得長期支援
GKE 透過延長版,為 Kubernetes 子版本提供長期支援。使用這個管道,您最多可以持續使用子版本 24 個月。在 14 個月的標準支援期過後,叢集會在延長支援期內,大約再接收 10 個月的安全性修補程式。
GKE 如何在延長版發布版本中自動升級叢集
如果叢集已註冊延長版管道,GKE 會自動升級叢集,方式如下:
- 標準支援期間:GKE 會按照與一般版相同的頻率,將叢集升級至相同子版本的較新修補程式版本。
- 延長支援期間:GKE 會繼續提供子版本的安全性修補程式更新。延長支援期結束前約 2 個月,GKE 會開始將叢集升級至下一個子版本,除非叢集使用已淘汰的功能或 API。您可以使用維護作業排除時段,避免在延長支援期結束前升級至子版本。
- 延長支援期結束後:如果叢集仍執行不受支援的子版本,GKE 會升級所有叢集,無論是否會妨礙運作。這個日期過後,您就無法設定維護作業排除時段。
如要進一步瞭解不同有效期限,以及 GKE 在延長支援期間提供的升級服務,請參閱 GKE 子版本生命週期。
在延長版管道註冊叢集的限制
請參閱下列限制,瞭解已註冊 Extended 管道的叢集:
- 您只能在延長版管道中註冊執行 1.27 以上版本的標準叢集。叢集控制層和節點都必須執行 1.27 以上版本。
- 在延長支援期間,如果 Container-Optimized OS 里程碑達到支援期限,GKE 會更新 GKE 次要版本使用的里程碑。GKE 會暫停修補節點自動升級作業,並傳送叢集通知。如要進一步瞭解這項異動,請參閱「延展支援期間的 Container-Optimized OS 更新」。
- 延長支援期限不會延長叢集憑證的到期日。輪替叢集憑證,以免憑證過期。
如果叢集使用下列功能,就無法在 Extended 通道中註冊:
延長支援期定價
如要在延長版註冊叢集,請務必先查看延長支援服務的價格。如果專案已啟用 GKE Enterprise,您可以免費將叢集註冊至「延長」管道。或者,如果是 GKE Standard 版本叢集,如果叢集註冊於延長版,叢集的子版本也進入延長支援期,就會按照用量計費。
延長版頻道的最佳做法
請查看下列情境,瞭解如何使用「延長」管道,盡量減少次要版本升級造成的服務中斷。
支援的情境需要一段時間的手動操作,才能從管道獲得最大效益。如果您沒有打算遷移至下一個子版本,我們不建議您在管道中註冊叢集,因為 GKE 最終會以與其他管道相同的頻率,將叢集升級至較新的子版本,而您的叢集可能會產生較高的費用,且最後才會收到新功能。
支援及不支援的情境
如要進一步瞭解支援和不支援的情況,請參閱下表,並參閱「需要長期支援時使用 Extended 管道」一文。勾號 () 表示支援的案例:
升級情境 | 支援 | 摘要 | 次要版本變更間隔時間 | 須手動操作 |
---|---|---|---|---|
暫時延長使用子版本的時間 | 維持使用特定子版本,以解決無法升級的問題。 | 平均頻率相同,但其中一個子版本會因額外時間而中斷。 |
|
|
每年手動升級子版本 1 到 2 次 | 取得新功能,但次要升級頻率較低,適合叢集中的工作負載。 | 每年 1 到 2 次。 |
|
|
不採取任何行動,以相同頻率接收次要升級 | 以與其他管道相同的頻率取得次要版本升級,並盡可能延後取得新功能。 | 平均每 4 個月一次。 |
|
未註冊發布版本的叢集
由於未註冊發布版本的叢集有許多限制,因此我們不建議使用這個設定選項,但您可以選擇不將標準叢集註冊至發布版本 (稱為「無頻道」,先前稱為「靜態」)。除非個別節點集區無法自動升級,且您必須改為手動升級這些節點,否則請勿使用這個選項。如果叢集未註冊任何發布版本,您可以為選取的節點集區停用節點自動升級功能。使用發布管道,您可以在叢集層級為所有節點集區達成相同結果。不過,無論是否註冊發布版本,所有叢集的控制層都會自動升級,且當版本支援期限結束時,叢集控制層和節點也會自動升級。
建議您使用維護排除時段,防止整個 Standard 叢集或所有節點集區自動升級,並將叢集註冊至發布版本。如要為所有節點集區停用節點自動升級功能,請設定維護作業排除項目。如果叢集未註冊發布管道,則可以在節點集區層級停用節點自動升級功能。
已註冊發布版本和未註冊發布版本的叢集比較
請參閱下表,瞭解叢集註冊與未註冊至發布管道的相似之處和差異:
功能 | 已在發布版本中註冊的叢集 | 叢集未註冊任何發布版本 |
---|---|---|
共用升級行為 |
|
|
升級時間 | 與相應的發布版本一致 |
|
加速修補程式自動升級 | 可用 | 無法使用 |
控制節點集區中斷 |
|
|
維護期間 | 可用 | 可用 |
維護作業排除時段 |
可用的維護作業排除範圍:
|
僅限「不升級」範圍 (30 天) |
推出作業排序 | 適用於以車隊為準和以範圍為準的序列 | 無法使用 |
長期支援 | 僅適用於延長發布版本 | 無法使用 |
Autopilot | 可用 | 無法使用 |
快速版本叢集與 Alpha 版叢集之間的差異
使用快速發布版本建立的叢集不是 Alpha 版叢集。兩者差異如下:
- 您可以升級使用發布版本的叢集,自動升級會啟用,且無法停用。Alpha 版叢集無法升級。
- 使用發布版本的叢集不會到期。Alpha 版叢集會在 30 天後到期。
- Alpha 版 Kubernetes API 不會在使用發布版本的叢集上啟用。