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

Azure Kubernetes 服务 (AKS) 中支持的 Kubernetes 版本

Kubernetes 社区大约会每隔三个月发布次要版本。 最近,Kubernetes 社区将每个版本的支持时长从九个月增加到了一年,从版本 1.19 开始。

次要版本包括新增功能和改进。 补丁发布更为频繁(有时每周都会发布),适用于次要版本中的关键 Bug 修复。 修补程序版本包括针对安全漏洞或主要 bug 的修复。

Kubernetes 版本

Kubernetes 对每个版本使用标准的语义化版本控制方案:

[major].[minor].[patch]

Examples:
  1.17.7
  1.17.8

版本中的每个编写表示与前一版本的一般兼容性:

  • 当存在不兼容的 API 更新或者后向兼容性可能损坏时,表示主要版本变化。
  • 当功能更新与其他次要版本向后兼容时,表示次要版本变化。
  • 当进行向后兼容的 bug 修复时,表示修补程序版本变化。

确保运行你正在运行的次要版本的最新修补程序版本。 例如,如果生产群集在 1.17.7 上,则 1.17.8 是可用于 1.17 系列的最新修补程序版本。 应尽快升级到 1.17.8 以确保群集得到完全修补并受支持。

AKS Kubernetes 发布日历

在 AKS Kubernetes 发布日历上查看即将推出的版本发布。 若要查看区域发布状态和版本发行说明的实时更新内容,请访问 AKS 发布状态网页。 若要详细了解发布状态网页,请参阅 AKS 发布跟踪器

注意

AKS 为正式发布 (GA) Kubernetes 版本提供 12 个月的支持。 若要详细了解我们对 Kubernetes 版本控制的支持策略,请阅读常见问题解答

对于过去的发布历史记录,请参阅 Kubernetes 历史记录

K8s 版本 上游版本 AKS 预览版 AKS GA 生命周期结束 平台支持
1.25 2022 年 8 月 2022 年 10 月 2022 年 12 月 2024 年 1 月 14 日 直到 1.29 GA
1.26 2022 年 12 月 2023 年 2 月 2023 年 4 月 2024 年 3 月 直到 1.30 GA
1.27* 2023 年 4 月 2023 年 6 月 2023 年 7 月 2024 年 7 月,LTS,直到 2025 年 7 月 直到 1.31 GA
1.28 2023 年 8 月 2023 年 9 月 2023 年 11 月 2024 年 11 月 直到 1.32 GA
1.29 2023 年 12 月 2024 年 2 月 2024 年 3 月 直到 1.33 GA

* 表示该版本指定用于长期支持

AKS Kubernetes 版本计划甘特图

如果想要直观地查看此信息,下方提供了一个甘特图,其中显示了所有当前版本:

甘特图显示 AKS 中当前处于活动状态的所有 Kubernetes 版本的生命周期。

AKS 组件中断性变更(按版本)

在升级到任何可用的次要版本之前,请注意以下重要更改:

Kubernetes 版本 AKS 托管加载项 AKS 组件 OS 组件 重大更改 说明
1.25 Azure Policy 1.0.1
Metrics-Server 0.6.3
KEDA 2.9.3
开放服务网格 1.2.3
核心 DNS V1.9.4
Overlay VPA 0.11.0
Azure-Keyvault-SecretsProvider 1.4.1
应用程序网关入口控制器 (AGIC) 1.5.3
映像清理器 v1.1.1
Azure 工作负载标识 v1.0.0
MDC Defender 1.0.56
Azure Active Directory Pod 标识 1.8.13.6
GitOps 1.7.0
KMS 0.5.0
Cilium 1.12.8
CNI 1.4.44
群集自动缩放程序 1.8.5.3
OS 映像 Ubuntu 18.04 Cgroups V1
ContainerD 1.7
Azure Linux 2.0
Cgroups V1
ContainerD 1.6
默认使用 cgroupv2 和覆盖 VPA 0.13.0 的 Ubuntu 22.04 CgroupsV2 - 如果使用 JDK 部署 Java 应用程序,则首选使用 JDK 11.0.16 及更高版本或 JDK 15 及更高版本,它们完全支持 cgroup v2
1.26 Azure Policy 1.3.0
Metrics-Server 0.6.3
KEDA 2.10.1
开放服务网格 1.2.3
核心 DNS V1.9.4
Overlay VPA 0.11.0
Azure-Keyvault-SecretsProvider 1.4.1
应用程序网关入口控制器 (AGIC) 1.5.3
映像清理器 v1.2.3
Azure 工作负载标识 v1.0.0
MDC Defender 1.0.56
Azure Active Directory Pod 标识 1.8.13.6
GitOps 1.7.0
KMS 0.5.0
azurefile-csi-driver 1.26.10
Cilium 1.12.8
CNI 1.4.44
群集自动缩放程序 1.8.5.3
OS 映像 Ubuntu 22.04 Cgroups V2
ContainerD 1.7
Azure Linux 2.0
Cgroups V1
ContainerD 1.6
azurefile-csi-driver 1.26.10
1.27 Azure Policy 1.3.0
azuredisk-csi-driver v1.28.5
azurefile-csi-driver v1.28.7
blob-csi v1.22.4
csi-attacher v4.3.0
csi-resizer v1.8.0
csi-snapshotter v6.2.2
snapshot-controller v6.2.2
Metrics-Server 0.6.3
Keda 2.11.2
开放服务网格 1.2.3
核心 DNS V1.9.4
Overlay VPA 0.11.0
Azure-Keyvault-SecretsProvider 1.4.1
应用程序网关入口控制器 (AGIC) 1.7.2
映像清理器 v1.2.3
Azure 工作负载标识 v1.0.0
MDC Defender 1.0.56
Azure Active Directory Pod 标识 1.8.13.6
GitOps 1.7.0
azurefile-csi-driver 1.28.7
KMS 0.5.0
CSI 机密存储驱动程序 1.3.4-1
Cilium 1.13.10-1
CNI 1.4.44
群集自动缩放程序 1.8.5.3
OS 映像 Ubuntu 22.04 Cgroups V2
ContainerD 1.7 for Linux 和 ContainerD 1.6 for Windows
Azure Linux 2.0
Cgroups V1
ContainerD 1.6
Keda 2.11.2
Cilium 1.13.10-1
azurefile-csi-driver 1.28.7
azuredisk-csi-driver v1.28.5
blob-csi v1.22.4
csi-attacher v4.3.0
csi-resizer v1.8.0
csi-snapshotter v6.2.2
snapshot-controller v6.2.2
由于 Ubuntu 22.04 FIPS 认证状态,我们将从 1.27 版本开始将 AKS FIPS 节点从 18.04 切换到 20.04。
1.28 Azure Policy 1.3.0
azurefile-csi-driver 1.29.2
csi-node-driver-registrar v2.9.0
csi-livenessprobe 2.11.0
azuredisk-csi-linux v1.29.2
azuredisk-csi-windows v1.29.2
csi-provisioner v3.6.2
csi-attacher v4.5.0
csi-resizer v1.9.3
csi-snapshotter v6.2.2
snapshot-controller v6.2.2
Metrics-Server 0.6.3
KEDA 2.11.2
开放服务网格 1.2.7
核心 DNS V1.9.4
Overlay VPA 0.13.0
Azure-Keyvault-SecretsProvider 1.4.1
应用程序网关入口控制器 (AGIC) 1.7.2
映像清理器 v1.2.3
Azure 工作负载标识 v1.2.0
MDC Defender 安全发布服务器 1.0.68
CSI 机密存储驱动程序 1.3.4-1
MDC Defender 旧文件清理器 1.3.68
MDC Defender Pod 收集器 1.0.78
MDC Defender 低级别收集器 1.3.81
Azure Active Directory Pod 标识 1.8.13.6
GitOps 1.8.1
Cilium 1.13.10-1
CNI v1.4.43.1(默认)/v1.5.11(Azure CNI 覆盖)
群集自动缩放程序 1.27.3
Tigera-Operator 1.28.13
OS 映像 Ubuntu 22.04 Cgroups V2
适用于 Linux 的 ContainerD 1.7.5 和适用于 Windows 的 ContainerD 1.7.1
Azure Linux 2.0
Cgroups V1
ContainerD 1.6
azurefile-csi-driver 1.29.2
csi-resizer v1.9.3
csi-attacher v4.4.2
csi-provisioner v4.4.2
blob-csi v1.23.2
azurefile-csi driver v1.29.2
azuredisk-csi driver v1.29.2
csi-livenessprobe v2.11.0
csi-node-driver-registrar v2.9.0
1.29 Azure Policy 1.3.0
csi-provisioner v4.0.0
csi-attacher v4.5.0
csi-snapshotter v6.3.3
snapshot-controller v6.3.3
Metrics-Server 0.6.3
KEDA 2.11.2
开放服务网格 1.2.7
核心 DNS V1.9.4
Overlay VPA 0.13.0
Azure-Keyvault-SecretsProvider 1.4.1
应用程序网关入口控制器 (AGIC) 1.7.2
映像清理器 v1.2.3
Azure 工作负载标识 v1.2.0
MDC Defender 安全发布服务器 1.0.68
MDC Defender 旧文件清理器 1.3.68
MDC Defender Pod 收集器 1.0.78
MDC Defender 低级别收集器 1.3.81
Azure Active Directory Pod 标识 1.8.13.6
GitOps 1.8.1
CSI 机密存储驱动程序 1.3.4-1
azurefile-csi-driver 1.29.3
Cilium 1.13.5
CNI v1.4.43.1(默认)/v1.5.11(Azure CNI 覆盖)
群集自动缩放程序 1.27.3
Tigera-Operator 1.30.7
OS 映像 Ubuntu 22.04 Cgroups V2
适用于 Linux 的 ContainerD 1.7.5 和适用于 Windows 的 ContainerD 1.7.1
Azure Linux 2.0
Cgroups V1
ContainerD 1.6
Tigera-Operator 1.30.7
csi-provisioner v4.0.0
csi-attacher v4.5.0
csi-snapshotter v6.3.3
snapshot-controller v6.3.3

别名次要版本

注意

别名次要版本需要使用 Azure CLI 2.37 或更高版本,以及 API 版本 20220401 或更高版本。 使用 az upgrade 安装最新版本的 CLI。

通过 AKS,无需指定确切的修补程序版本即可创建群集。 在不指定修补程序的情况下创建群集时,群集将运行次要版本的最新 GA 修补程序。 例如,如果使用 1.21 创建群集,则群集将运行 1.21.7,这是 1.21 的最新 GA 补丁版本。 如果要在同一次要版本中升级修补程序版本,请使用自动升级

若要查看使用的修补程序,请运行 az aks show --resource-group myResourceGroup --name myAKSCluster 命令。 currentKubernetesVersion 属性显示整个 Kubernetes 版本。

{
 "apiServerAccessProfile": null,
  "autoScalerProfile": null,
  "autoUpgradeProfile": null,
  "azurePortalFqdn": "myaksclust-myresourcegroup.portal.hcp.eastus.azmk8s.io",
  "currentKubernetesVersion": "1.21.7",
}

Kubernetes 版本支持策略

AKS 定义了一个正式发布版 (GA),所有 SLO 或 SLA 衡量方案都启用了此版本,并且可在所有区域提供。 AKS 支持三个 Kubernetes GA 次要版本:

  • AKS 中发布的最新 GA 次要版本(我们将其称为 N)。
  • 以前的两个次要版本。
    • 每个受支持的次要版本还支持最多两个稳定的修补程序。

AKS 可能还支持预览版本,这些版本带有明确的标签,使用时需遵守预览版条款和条件

AKS 仅为常规受支持的版本之后的一个 Kubernetes GA 次要版本提供平台支持。 AKS 上的 Kubernetes 版本的平台支持窗口称为“N-3”。 有关详细信息,请参阅平台支持策略

注意

AKS 使用涉及逐步区域部署的安全部署做法。 这意味着,可能需要最长 10 个工作日才能使新发布或新版本在所有区域中均可用。

AKS 上的 Kubernetes 版本的受支持窗口称为“N-2”:(N [最新版本] - 2 [次要版本]),其中“.字母”代表修补程序版本。

例如,如果 AKS 当前引入了 1.17.a,则提供以下版本的支持:

新的次要版本 支持的版本列表
1.17.a 1.17.a、1.17.b、1.16.c、1.16.d、1.15.e、1.15.f

引入新的次要版本后,支持的最早次要版本和修补程序版本将被弃用并删除。 例如,假设当前支持的版本列表为:

1.17.a
1.17.b
1.16.c
1.16.d
1.15.e
1.15.f

当 AKS 发布 1.18.* 时,所有 1.15.* 版本在 30 天后将不再受支持。

AKS 还支持最多两个给定次要版本的修补程序版本。 例如,假设支持的版本如下:

Current Supported Version List
------------------------------
1.17.8, 1.17.7, 1.16.10, 1.16.9

如果 AKS 发布了 1.17.91.16.11,则最早的修补程序版本将被弃用并删除,支持的版本列表现为:

New Supported Version List
----------------------
1.17.*9*, 1.17.*8*, 1.16.*11*, 1.16.*10*

平台支持策略

平台支持策略是用于某些不受支持的 Kubernetes 版本的缩减支持计划。 在平台支持期间,客户只会得到 Microsoft 就 AKS/Azure 平台相关问题提供的支持。 与 Kubernetes 功能和组件相关的任何问题不受支持。

在群集下降到 n-4 之前,平台支持策略适用于 n-3 版本(其中 n 是受支持的最新 AKS GA 次要版本)。 例如,当 v1.28 是最新的 GA 版本时,Kubernetes v1.25 被视为平台支持。 但在 v1.29 GA 版本期间,v1.25 将自动升级到 v1.26。 如果你正在运行 n-2 版本,那么当它变成 n-3 时,它也会被弃用,你需要执行平台支持策略。

AKS 依赖于 Kubernetes 的版本和补丁,这是一个开源项目,仅支持 3 个次要版本的滑动窗口。 AKS 只能保证为上游维护的版本提供完全支持。 由于上游不再生成补丁,AKS 可以不修补这些版本或创建分支。 由于此限制,平台支持不支持依赖于 Kubernetes 上游的任何内容。

下表概述了与平台支持相比的社区支持的支持指南。

支持类别 社区支持 (N-2) 平台支持 (N-3)
从 N-3 升级到受支持的版本 支持 支持
平台 (Azure) 可用性 支持 支持
节点池缩放 支持 支持
VM 可用性 支持 支持
存储、网络相关问题 支持 受到支持,bug 修复和已停用的组件除外
启动/停止 支持 支持
轮换证书 支持 支持
基础结构 SLA 支持 支持
控制平面 SLA 支持 支持
平台 (AKS) SLA 支持 不支持
Kubernetes 组件(包括加载项) 支持 不支持
组件更新 支持 不支持
组件修补程序 支持 不支持
应用 bug 修复 支持 不支持
应用安全修补程序 支持 不支持
Kubernetes API 支持 支持 不支持
群集或节点池创建 支持 不支持
节点池快照 支持 不支持
节点映像升级 支持 不支持

注意

上表可能会发生更改,并概述了常见的支持方案。 N-3 不支持任何与 Kubernetes 功能和组件相关的方案。 有关进一步支持,请参阅 AKS 的支持和故障排除

支持的 kubectl 版本

你可以使用一个相对于 kube-apiserver 版本较旧或较新的 kubectl 次要版本,这符合 kubectl 的 Kubernetes 支持策略

例如,如果你的 kube-apiserver 处于 1.17,则可以将版本 1.16 到 1.18 的 kubectl 与该 kube-apiserver 结合使用 。

若要安装 kubectl 或将它更新到最新版本,请运行:

az aks install-cli

长期支持 (LTS)

AKS 提供一年的“社区支持”和一年的“长期支持 (LTS)”,用于支持公共存储库上游社区提供的端口安全修补程序。 我们的上游 LTS 工作组为社区付出努力,为我们的客户提供更长的支持窗口。

有关 LTS 的更多详细信息,请参阅对 Azure Kubernetes 服务 (AKS) 的长期支持

发布和弃用流程

你可以在 AKS Kubernetes 发布日历上参考即将推出的版本发布和弃用事项。

对于 Kubernetes 的新次要版本:

  • AKS 将于移除前至少提前 30 天在 AKS 发行说明中发布一份公告,说明新版本发布以及相应旧版本弃用的计划日期。
  • 如果新版本可能会因 API 的弃用而在群集中引发问题,AKS 将使用 Azure 顾问发出警报。 此外,Azure 顾问还会在你无法再获得支持时发出警报
  • AKS 会向具有 AKS 和门户访问权限的所有用户发布一个服务运行状况通知,并向订阅管理员发送一封电子邮件,其中包含计划的版本删除日期。

    注意

    若要确定订阅管理员或进行更改,请参阅管理 Azure 订阅

  • 自版本移除起,你有 30 天的时间升级到受支持的次要版本,以继续获得支持。

对于 Kubernetes 的新修补程序版本:

  • 由于修补程序版本的紧急性质,可以在修补程序变为可用时将其引入到服务中。 修补程序在发布后将会拥有最短两个月的生命周期。
  • 通常情况下,对于新修补程序版本的发布,AKS 不会进行广泛地宣传。 但是,AKS 会持续监视和验证可用的 CVE 修补程序,以便及时在 AKS 中支持它们。 如果发现重要补丁或者需要用户进行操作,AKS 会通知你升级到新发布的补丁。
  • 自从 AKS 中移除某个修补程序版本之日起,你有 30 天的时间升级到受支持的修补程序并继续获得支持。 但是,一旦弃用/删除该版本,就再也无法创建群集或节点池。

支持的版本策略例外情况

AKS 保留无需提前通知即可添加或删除具有一个或多个影响生产的关键 bug 或安全问题的新/现有版本的权利。

特定的修补程序版本可能会跳过发布或者加速推出,具体取决于 bug 或安全问题的严重性。

Azure 门户和 CLI 版本

通过 Azure 门户、Azure CLI 或 Azure PowerShell 部署 AKS 群集时,群集默认设置为 N-1 次要版本和最新修补程序。 例如,如果 AKS 支持 1.17.a、1.17.b、1.16.c、1.16.d、1.15.e 和 1.15.f,则选择的默认版本为 1.16.c 。

若要了解你的订阅和区域当前可用的版本,请使用 az aks get-versions 命令。 以下示例列出了 EastUS 区域可用的 Kubernetes 版本:

az aks get-versions --location eastus --output table

常见问题解答

Microsoft 如何通知我关于新 Kubernetes 版本的发布?

在我们的文档、GitHub,还有向拥有即将不受支持的群集的订阅管理员发送的电子邮件中,AKS 团队发布了包含 Kubernetes 新版本计划发布日期的公告。 此外,AKS 还会在你无法获得支持时使用 Azure 顾问在 Azure 门户内向你发出警报,并向你说明可能会影响你的应用程序或开发过程的已弃用的 API。

我应该多久升级一次 Kubernetes 版本才能始终获得支持?

从 Kubernetes 1.19 开始,开源社区已将支持时间延长到 1 年。 AKS 承诺启用修补程序并提供与上游承诺使用量匹配的支持。 对于版本 1.19 和更高版本上的 AKS 群集,你将能够每年至少升级一次,以便始终使用受支持的版本。

当升级的 Kubernetes 群集具有不受支持的次要版本时,会发生什么情况?

如果你当前使用的是 n-3 或更低版本,则意味着你已不在支持范围,系统会要求你升级。 从版本 n-3 成功升级到 n-2 后,你将重新涵盖在我们的支持策略中。 例如:

  • 如果支持的最低 AKS 版本为 1.15.a,而你使用的版本是 1.14.b 或更低,则你无法获得支持。
  • 从 1.14.b 成功升级到 1.15.a 或更高版本之后,你将重新受到我们支持策略的支持。

不支持降级。

“不受支持”是什么意思?

“不受支持”意味着:

  • 正在运行的版本不在受支持的版本列表中。
  • 当你请求支持时,系统将要求你将群集升级到受支持的版本,除非你正处于版本弃用后的 30 天宽限期内。

此外,对于受支持版本列表以外的群集,AKS 不会在正常运行时间或其他方面做出任何保证。

使用不受支持的次要版本缩放 Kubernetes 群集时,会发生什么情况?

对于 AKS 不支持的次要版本,缩减或扩展可继续进行。 由于没有服务质量保证,因此我们建议升级,使群集重新可接受支持。

是否可以永久保留 Kubernetes 版本?

如果群集有三 (3) 个以上的次要版本不受支持,并被发现存在安全风险,Azure 会主动联系你升级群集。 如果你不采取进一步的措施,Azure 将保留代表你自动升级群集的权利。

如果使用不受支持的次要版本缩放 Kubernetes 群集,会发生什么情况?

对于 AKS 不支持的次要版本,缩减或扩展可继续进行。 由于没有服务质量保证,因此我们建议升级,使群集重新可接受支持。

如果节点池不在某个受支持的 AKS 版本中,控制平面支持哪个版本?

控制平面必须位于所有节点池的版本窗口中。 有关升级控制平面或节点池的详细信息,请访问有关升级节点池的文档。

在群集升级期间,是否可以跳过多个 AKS 版本?

升级受支持的 AKS 群集时,不能跳过 Kubernetes 次要版本。 Kubernetes 控制平面版本倾斜策略不支持跳过次要版本。 例如,对于以下升级过程:

  • 1.12.x ->1.13.x:允许。
  • 1.13.x ->1.14.x:允许。
  • 1.12.x ->1.14.x:不允许。

若要实现 1.12.x 到 1.14.x 的升级,需要逐步执行以下升级

  1. 从 1.12.x 升级到 1.13.x
  2. 从 1.13.x 升级到 1.14.x

仅当从不受支持的版本升级回受支持的最低版本时,才能跳过多个版本。 例如,如果 1.15 是受支持的最低次要版本,则可以从不受支持的 1.10.x 升级到受支持的 1.15.x。

从跳过两个或更多次要版本的不支持版本执行升级时,执行升级时不保证任何功能,并且不在服务级别协议和有限保修范围内。 如果你的版本明显过期,建议重新创建群集。

是否可以在 30 天的支持期内创建一个新的 1.xx.x 群集?

否。 版本弃用/删除后,将无法使用该版本创建群集。 随着更改版的推出,你将开始看到旧版本从版本列表中删除。 从公告开始,此过程可能需要长达两周的时间,按区域逐步进行。

我使用的是刚弃用的版本,是否仍然可以添加新的节点池? 或者是否必须升级?

不是。 不能将已弃用版本的节点池添加到群集中。 可以添加新版本的节点池,但可能需要先更新控制平面。

多久更新一次补丁?

补丁有两个月的最短生命周期。 若要及时了解新修补程序的发布,请参阅 AKS 发行说明

后续步骤

有关如何升级群集的信息,请参阅: