長期支援

Kubernetes 社群大約每四個月發行一個新的次要版本,而且每個版本都有一年的支援時段。 在 Azure Kubernetes Service (AKS) 中,此支援時段稱為「社群支援」。

AKS 支援在此社群支援時段內的 Kubernetes 版本,以推送來自社群版本的錯誤 (bug) 修正和安全性更新。

雖然此版本所提供的創新可為您提供巨大的好處,但挑戰是您要跟上 Kubernetes 版本的最新狀態,根據您必須維護的 AKS 叢集數目,這可能會更加困難。

AKS 支援類型

大約一年後,Kubernetes 版本會結束社群支援,而且您的 AKS 叢集現在會有錯誤 (bug) 修正和安全性更新無法使用的風險。

AKS 提供一年社群支援和一年的長期支援 (LTS),以支援公用存放庫中社群上游的連接埠安全性修正。 我們的上游 LTS 工作群組致力於支援社群,為客戶提供較長的支援時段。

LTS 旨在給您一段較長的時間,來規劃和測試從所指定 Kubernetes 版本正式發行算起的兩年期間的升級。

社群支援 長期支援
使用時機 當您可以跟上上游 Kubernetes 版本時 當您需要控制何時從某個版本移轉至另一個版本時
支援版本 三個 GA 次要版本 一個 Kubernetes 版本 (目前 1.27) 兩年

啟用長期支援

啟用和停用長期支援是將叢集移至進階層並明確選取 LTS 支援方案的組合。

注意

雖然可以在叢集處於社群支援時啟用 LTS,但將會在啟用進階層之後向您收取費用。

建立已啟用 LTS 的叢集

az aks create --resource-group myResourceGroup --name myAKSCluster --tier premium --k8s-support-plan AKSLongTermSupport --kubernetes-version 1.27

注意

啟用和停用 LTS 是將叢集移至進階層與啟用長期支援的組合。 兩者都必須予以開啟或關閉。

在現有叢集上啟用 LTS

az aks update --resource-group myResourceGroup --name myAKSCluster --tier premium --k8s-support-plan AKSLongTermSupport

在現有叢集上停用 LTS

az aks update --resource-group myResourceGroup --name myAKSCluster --tier [free|standard] --k8s-support-plan KubernetesOfficial

長期支援、附加元件和功能

AKS 小組目前會追蹤 Kubernetes Community 支援所在的附加元件版本。 版本離開社群支援之後,我們依賴受控附加元件的開放原始碼專案,以繼續該支援。 因為各種外部因素,所以某些附加元件和功能可能不支援這些上游社群支援時段外的 Kubernetes 版本。

如需不支援的附加元件和功能清單以及原因,請參閱下表。

附加元件/功能 不支援的原因
Istio Istio 支援週期很短 (六個月),而且 Kubernetes 1.27 將不會有維護版本
Keda 無法保證未來與 Kubernetes 1.27 的版本相容性
Calico 需要 Calico Enterprise 合約過去社群支援
Cillium 需要 Cillium Enterprise 合約過去社群支援
金鑰管理服務 (KMS) KMSv2 會在此 LTS 週期期間取代 KMS
Dapr 不支援 AKS 延伸模組
應用程式閘道輸入控制器 移轉至適用於容器的應用程式閘道發生在 LTS 期間
Open Service Mesh OSM 將予以淘汰
AAD Pod 身分識別 已棄用以取代工作負載身分識別

注意

如果啟用其中任何附加元件或功能,則您無法將叢集移至長期支援。
雖然 Microsoft 不支援這些 AKS 受控附加元件,但如果您想要將叢集用於社群支援,則可以在叢集上安裝這些項目的開放原始碼版本。

我們如何決定下一個 LTS 版本

Kubernetes LTS 的版本在從正式發行算起的兩年內都可以使用,我們會根據下列準則,以將 Kubernetes 的更新版本標示為 LTS:

  • 客戶有足夠的時間從先前的 LTS 版本移轉至目前已通過的版本
  • 舊版本有兩年的支援時段

閱讀 AKS 發行備註,以隨時掌握何時可以規劃移轉。

從 LTS 移轉至社群支援

使用 LTS 是延長期限以規劃 Kubernetes 版本升級的方法。 您可能想要移轉至標準支援時段內的 Kubernetes 版本。

若要從已啟用 LTS 的叢集移至標準支援時段內的 Kubernetes 版本,您需要停用叢集上的 LTS:

az aks update --resource-group myResourceGroup --name myAKSCluster --tier [free|standard] --k8s-support-plan KubernetesOfficial

然後,將叢集升級至更新的受支援版本:

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.28.3

注意

Kubernetes 1.28.3 在這裡用作範例,請檢查 AKS 版本追蹤器是否有可用的 Kubernetes 版本。

一個 LTS 版本與下一個版本之間大約有兩年的時間。 除了移轉兩個以上次要版本的上游支援之外,您的應用程式很有可能相依於已棄用的 Kubernetes API。 建議您在目標 LTS Kubernetes 版本上徹底測試您的應用程式,並將藍色/綠色部署從某個版本執行到另一個版本。

從 LTS 移轉至下一個 LTS 版本

上游 Kubernetes 社群支援兩個次要版本升級路徑。 此程序會在升級程序移轉 Kubernetes 叢集中的物件,並提供經過測試且認可的移轉路徑。

針對想要執行就地移轉的客戶,AKS 服務會將控制平面從先前的 LTS 版本移轉至最新版本,然後移轉您的資料平面。

若要進行就地升級至最新的 LTS 版本,您需要將已啟用 LTS 的 Kubernetes 版本指定為升級目標。

az aks upgrade --resource-group myResourceGroup --name myAKSCluster --kubernetes-version 1.32.2

注意

Kubernetes 1.32 版是 1.27 之後的下一個長期支援版本。 客戶在 1.27 LTS 和 1.32 LTS 版本之間至少會有 6 個月的重疊,以規劃升級。
Kubernetes 1.32.2 會作為本文中的範例版本。 請檢查 AKS 版本追蹤器是否有可用的 Kubernetes 版本。