觀點 · 資訊分享

Amazon EKS 升級 Kubernetes 後反悔了?現在 7 天內可以退回上一個版本

AWS 的託管 Kubernetes 服務 EKS 新增「版本回退」:叢集升版後如果發現問題,7 天內可以把控制平面退回前一個次要版本,功能本身不另外收費。

發布
2026-07-02
篇幅
約 4 分鐘 · 1,793 字
結構
7 節 + 3 題常見問題
標籤
#AWS#Amazon EKS#Kubernetes#版本升級
Amazon EKS 升級 Kubernetes 後反悔了?現在 7 天內可以退回上一個版本

一句話看懂:Amazon EKS 現在可以在升級後 7 天內,把 Kubernetes 叢集退回前一個版本,升級終於有了後悔藥。

EKS 現在能把版本升級倒回去資訊圖卡:叢集升級後發現不對勁,7 天內可以退回上一個版本

先用白話講:升級後悔了怎麼辦?

想像你把手機系統更新到新版,結果常用的 App 全部當機。如果系統提供「一鍵退回舊版」,你會安心很多;如果沒有,你只能硬著頭皮等 App 作者修。

Kubernetes(簡稱 K8s)是專門管理一大堆容器的系統,而 Amazon EKS 是 AWS 幫你代管 K8s 的服務。K8s 會定期推出新的次要版本,叢集得跟著升級。但升級之後才發現舊程式用的功能不相容,以前就只能往前修。

這次 AWS 補上了這張安全網:升級完成後 7 天內,可以把叢集退回上一個次要版本。

發生什麼事

AWS 在 2026 年 7 月 1 日的 What’s New 宣布,EKS 支援 Kubernetes 版本回退:

  • 升級後 7 天內,可以退回前一個次要版本
  • 可以用 EKS 主控台、AWS CLI 或 AWS SDK 操作
  • 退之前,EKS 會先跑一輪「回退準備度」檢查:API 相容性、版本差距、附加元件相容性、叢集健康狀態等
  • 如果叢集使用 EKS Auto Mode,EKS 會先自動把工作節點退回去,再退控制平面,而且會遵守你設定的中斷限制
  • 所有提供 EKS 的 AWS 區域都能用,不另外收費

哪些會退、哪些不會退?

依 EKS 使用者指南(整理時的現況頁面):

項目 會不會自動退
Kubernetes API 伺服器與控制平面 會
etcd 資料、你的 Pod 與服務、儲存卷 不動,原樣保留
EKS 附加元件(Add-on) 不會,要自己處理
受管節點群組 不會,要自己呼叫 UpdateNodegroupVersion 退
自管節點、混合節點 不會,要自己處理
Auto Mode 節點 會,先退節點再退控制平面

給開發者的技術細節

條件有幾個要記:

  • 叢集必須是「原地升級」到目前版本的,直接用新版本建立的叢集不能退
  • 只能退一個次要版本。例如從 1.31 升到 1.32 再升到 1.33,只能退到 1.32,不能直接退到 1.31
  • 叢集狀態要是 ACTIVE,而且沒有其他更新在進行
  • 退回到延長支援的版本,要先把升級策略改成 EXTENDED

指令就是原本的更新版本指令,帶上前一個版本號:

aws eks update-cluster-version \
  --name my-cluster \
  --kubernetes-version 1.30

如果回退準備度檢查出現 ERROR,可以加 --force 略過檢查,但官方明講這樣無法保證安全,而且 7 天期限、只退一版這些前提條件不能靠 --force 繞過。Fargate 的 Pod 不支援回退,要先刪掉跟控制平面同版本的 Fargate Pod 再退。

另外要留意,官方提到從標準支援的版本退回到延長支援的版本,會重新開始計算延長支援費用。

我的看法

我接的案子大多是中小企業的網站與系統,多數還沒到需要 Kubernetes 的規模,用 Docker 搭配單機或 NAS 就夠了。但真的用到 EKS 的團隊,這個功能很實用:升級最怕的不是失敗,而是「升級成功、卻在上線第三天才發現某個元件不相容」。有 7 天的緩衝,等於多了一段可以在真實流量下驗證的時間。

不過別把它當成萬能。控制平面能退,但附加元件和節點還是要自己顧,所以升級前就該先想好「萬一要退,節點版本怎麼跟著退」,並用準備度檢查提早找出會卡住的地方。

名詞小辭典

  • Kubernetes(K8s):管理大量容器的開源系統,負責決定程式跑在哪台機器、掛了怎麼重啟。
  • 控制平面(Control Plane):K8s 的大腦,負責接收指令、安排工作;EKS 由 AWS 代管這一塊。
  • 次要版本(Minor Version):版本號中間那一段,例如 1.32 到 1.33 就是升了一個次要版本。
  • 附加元件(Add-on):裝在叢集裡的輔助功能,例如網路外掛。

資料來源

常見問題

EKS 版本回退是什麼意思?
叢集用「原地升級」升到新版 Kubernetes 之後,如果發現應用程式不相容或行為怪怪的,可以把 Kubernetes 的控制平面(API 伺服器等核心元件)退回前一個次要版本,叢集裡的資料和正在跑的工作負載都會保留。
回退有哪些限制?
必須在升級完成後 7 天內、叢集狀態是 ACTIVE、一次只能退一個次要版本;用新版本直接建立的叢集不能退。EKS 的附加元件、受管節點群組、自管節點都不會自動退,要自己處理。
回退要額外付費嗎?
功能本身不另外收費。不過官方文件提醒:如果從標準支援的版本退回到延長支援的版本,叢集會重新開始計算延長支援費用。
LINE