你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

长期支持

Kubernetes 社区大约每四个月发布一个新的次要版本,每个版本的支持窗口为一年。 在 Azure Kubernetes 服务 (AKS) 中,这一支持称为“社区支持”。

AKS 支持在此“社区支持”窗口中的 Kubernetes 版本,以从社区版本推送 bug 修复和安全更新。

虽然借助此版本 Cadence 提供的创新为你带来了巨大的好处,但很难跟上 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 社区支持的附加产品版本。 版本离开社区支持后,我们将依赖托管附加产品的开放源代码项目来继续该支持。 由于各种外部因素,某些附加产品和功能可能不支持这些上游社区支持窗口之外的 Kubernetes 版本。

有关不支持的附加产品和功能列表以及原因,请参阅下表。

附加产品/功能 不支持的原因
Istio Istio 支持周期较短(6 个月),Kubernetes 1.27 不会有维护版本
Keda 无法保证与 Kubernetes 1.27 的未来版本兼容性
Calico 要求 Calico Enterprise 协议通过社区支持
Cillium 要求 Cillium Enterprise 协议通过社区支持
Azure Linux Azure Linux 2 的支持时间范围在此 LTS 周期中结束
密钥管理服务 (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 之后的下一个长期支持版本。 客户将至少获得 6 个月的 1.27 LTS 与 1.32 LTS 版本重叠时间,用来安排升级。
本文以 Kubernetes 1.32.2 版本为例。 查看 AKS 发布跟踪器是否有可用的 Kubernetes 版本。