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

Azure Operator Nexus Kubernetes 服务中支持的 Kubernetes 版本

本文档概述了用于 Operator Nexus Kubernetes 服务的版本控制架构,其中包括支持的 Kubernetes 版本。 本文档说明了主要版本、次要版本和补丁版本之间的差异,并提供了升级 Kubernetes 版本的指导以及升级体验。 本文档还涵盖了 Kubernetes 的每个次要版本的版本支持生命周期和生命周期终止 (EOL) 内容。

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

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

Kubernetes 版本

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

[major].[minor].[patch]

Examples:
  1.24.7
  1.25.4

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

  • 当可能引入 API 的中断性变更时,“主要版本号”会发生变化
  • 当功能更新与其他次要版本后向兼容时,“次要版本号”会发生变化。
  • 进行后向兼容的 bug 修复时,“补丁版本号”会发生变化。

强烈建议你及时了解最新推出的补丁。 例如,如果生产群集基于 1.25.4,则 1.25.6 是最新推出的适用于 1.25 系列的补丁版本。 应尽快升级到 1.25.6 以确保群集得到完全修补并受支持。 若要更详细地了解如何升级群集,可参阅升级 Kubernetes 版本文档。

Nexus Kubernetes 发布日历

在 Nexus Kubernetes 发布日历上查看即将发布的版本。

注意

详细了解 Kubernetes 版本控制支持策略

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

K8s 版本 Nexus GA 生命周期结束 延长可用性
1.25 2023 年 6 月 2023 年 12 月 直到 1.31 GA
1.26 2023 年 9 月 2024 年 3 月 直到 1.32 GA
1.27* 2023 年 9 月 2024 年 7 月,LTS,直到 2025 年 7 月 直到 1.33 GA
1.28 2023 年 11 月 2024 年 10 月 直到 1.34 GA

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

Nexus Kubernetes 服务版本组件

Operator Nexus Kubernetes 服务版本由两个离散组件组成,这些组件组合成单个表示形式:

  • Kubernetes 版本。 例如,1.25.4 是在 Operator Nexus 中部署的 Kubernetes 版本。 这些包由 Azure AKS 提供,其中包括 Operator Nexus 支持的所有补丁版本。 有关 Azure AKS 版本的详细信息,请参阅 AKS 支持的 Kubernetes 版本
  • 版本捆绑包,可将 Operator Nexus Kubernetes 群集中的节点使用的功能(加载项)和操作系统映像封装为单个版本号。 例如,2。 这些值的组合在 API 中表示为单个 kubernetesVersion。 例如 1.25.4-2 或支持的“v”表示法 v1.25.4-2

版本捆绑包

通过扩展 Kubernetes 版本来包含补丁版本(版本捆绑包)的辅助值,Operator Nexus Kubernetes 服务就可以考虑那些修改部署以包含额外的操作系统相关更新的情况。 此类更新可能包括但不限于:更新的操作系统映像、功能补丁版本(加载项)等。 版本捆绑包始终后向兼容同一补丁版本中的旧版捆绑包,例如,1.25.4-2 后向兼容 1.25.4-1。

对已部署 Operator Nexus Kubernetes 群集的配置的更改只应在 Kubernetes 次要版本升级期间应用,而不应在补丁版本升级期间应用。 在次要版本升级期间可以应用的配置更改示例包括:

  • 将 kube-proxy 的配置从使用 iptables 更改为使用 ipvs
  • 将 CNI 从一种产品更改为另一种产品

当我们遵循这些原则时,就可以更容易地预测和管理在 Operator Nexus Kubernetes 服务提供的不同版本 Kubernetes 群集之间进行移动的过程。

我们可以轻松地从一个 Kubernetes 版本中的任何小更新升级到下一个版本中的任何小更新,为你提供灵活性。 例如,无论是否存在 1.24.2-x 中间版本,都允许从 1.24.1-x 升级到 1.25.4-x。

组件版本和中断性变更

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

Kubernetes 版本 版本捆绑包 组件 OS 组件 重大更改 说明
1.25.6 1 Calico v3.24.0
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.5.1
Azure Linux 2.0 无中断性变更
1.25.6 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.25.6 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.25.6 4 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.25.6 5 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.25.11 1 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.25.11 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.25.11 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.26.3 1 Calico v3.24.0
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.5.1
Azure Linux 2.0 无中断性变更
1.26.3 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.26.3 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.26.3 4 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.26.3 5 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.26.6 1 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.26.6 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.26.6 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.27.1 1 Calico v3.24.0
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.5.1
Azure Linux 2.0 Cgroupv2 可以在此处找到禁用 cgroupv2 的步骤
1.27.1 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 Cgroupv2 可以在此处找到禁用 cgroupv2 的步骤
1.27.1 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 Cgroupv2 可以在此处找到禁用 cgroupv2 的步骤
1.27.1 4 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.27.1 5 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.27.3 1 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 Cgroupv2 可以在此处找到禁用 cgroupv2 的步骤
1.27.3 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.27.3 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更
1.28.0 1 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更
1.28.0 2 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Azure Linux 2.0 无中断性变更 群集节点已启用 Azure Arc
1.28.0 3 Calico v3.26.1
metrics-server v0.6.3
Multus v3.8.0
azure-arc-servers v1.0.0
CoreDNS v1.9.3
etcd v3.5.6-5
sriov-dp v3.7.0-48
Csi-nfs v4.6.0
Azure Linux 2.0 无中断性变更

升级 Kubernetes 版本

若要详细了解如何升级群集,请参阅升级 Azure Operator Nexus Kubernetes 服务群集

Kubernetes 版本支持策略

Operator Nexus 支持三个 Kubernetes 次要版本:

  • Operator Nexus 中发布的最新 GA 次要版本(我们将其称为 N)。
  • 以前的两个次要版本。
    • 每个受支持的次要版本还支持最多两个最新的稳定补丁,而以前的补丁在次要版本的生存期内均受延长可用性策略约束。

Operator Nexus Kubernetes 服务为发布的每个 Kubernetes 次要版本提供标准化的支持期限。 版本遵循两条不同的时间线,反映:

  • 支持持续时间 - 版本的积极维护时间是多长。 支持期结束意味着版本“生命周期终止”。
  • 延长可用性 - 在“生命周期终止”后多长时间可以选择版本进行部署。

Operator Nexus 上的 Kubernetes 版本的支持时长称为“N-2”:(N(最新版本)- 2(次要版本)),“.字母”代表补丁版本。

例如,如果 Operator Nexus 当前引入了 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

Operator Nexus 发布 1.18.* 后,所有 1.15.* 版本不再受支持。

支持时间线

Operator Nexus Kubernetes 服务通常提供 12 个月(从次要版本的初始 AKS GA 版本开始算)的支持。 此时间线遵循 Azure AKS 的时间安排,其中包括声明的长期支持版本 1.27。

支持的版本:

  • 可以部署为新的 Operator Nexus Kubernetes 群集。
  • 可以作为从先前版本进行的升级的目标。 受到正常升级路径的限制。
  • 次要版本中可能有额外的补丁或版本捆绑包。

注意

在异常情况下,如果发现漏洞或安全问题,Nexus Kubernetes 服务支持可能会提前终止或立即终止。 如果发生这种情况,Microsoft 会主动通知客户,并努力缓解任何潜在问题。

生命周期结束 (EOL)

生命周期终止 (EOL) 意味着不再生产补丁或版本包。 你设置的群集可能无法再升级,因为最新支持版本不再可用。 在这种情况下,升级的唯一方法是使用受支持的更新版本完全重新创建 Nexus Kubernetes 群集。 可以利用通过 Extended availability 进行的不受支持的升级来返回到受支持的版本。

延长可用性策略

在不受支持的 Kubernetes 版本(即 EOL Kubernetes 版本)的延长可用性期内,用户不会收到安全补丁或 bug 修复。 有关支持类别的详细信息,请参阅下表。

支持类别 N-2 到 N 延长可用性
从 N-3 升级到受支持的版本 支持 支持
节点池缩放 支持 支持
群集或节点池创建 支持 支持
Kubernetes 组件(包括加载项) 支持 不支持
组件更新 支持 不支持
组件修补程序 支持 不支持
应用 Kubernetes bug 修复 支持 不支持
应用 Kubernetes 安全补丁 支持 不支持
节点映像安全补丁 支持 不支持

注意

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

支持的 kubectl 版本

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

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

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

az aks install-cli

长期支持 (LTS)

Azure Kubernetes 服务 (AKS) 提供 Kubernetes 的长期支持 (LTS) 版本,为期两年。 在任何时候,都只有一个次要版本的 Kubernetes 被视为 LTS。

社区支持 长期支持
使用时机 当你可以及时掌握上游 Kubernetes 版本的信息时 以下场景:应用程序与更新的 Kubernetes 版本中引入的更改不兼容,而你由于技术约束或其他因素而无法过渡到持续发布周期
支持版本 三个 GA 次要版本 一个 Kubernetes 版本(当前为 1.27版本),为期两年

上游社区会在 Kubernetes 的次要版本发布后将其保留一年。 在此期限过后,Microsoft 将创建安全更新并将其应用于 Kubernetes 的 LTS 版本,以在 AKS 上提供总计两年的支持。

重要

Kubernetes 版本 1.27 是 Operator Nexus Kubernetes 服务上支持的第一个 Kubernetes LTS 版本。

常见问题解答

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

本文档会定期更新新 Kubernetes 版本的计划日期。

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

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

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

如果你使用的是 N-3 版本或更低版本,则你不在支持范围内。 从版本 N-3 升级到 N-2 后,你就可以再次获得我们的支持。 例如:

  • 如果支持的最低 AKS 版本为 1.25.x,而你使用的版本为 1.24.x 或更低,则你无法获得支持
  • 成功地从 1.24.x 升级到 1.25.x 或更高版本后,你就可以再次获得我们的支持。
  • 不支持“跳级式升级”。 若要从 1.23.x 升级到 1.25.x,必须先升级到 1.24.x,然后再升级到 1.25.x

不支持降级。

如果不升级群集,会发生什么情况?

如果不升级群集,你会继续获得所运行的 Kubernetes 版本的支持,直到支持期结束。 此后,你将不再获得群集支持。 你需要将群集升级到受支持的版本才能继续获得支持。

如果我没有在延长可用性期结束之前升级群集,会发生什么情况?

如果你没有在延长可用性期结束之前升级群集,你将无法再将群集升级到受支持的版本或横向扩展代理池。 你需要使用受支持的版本重新创建群集才能继续获得支持。

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

“不受支持”意味着:

  • 正在运行的版本不在受支持的版本列表中。
  • 当你请求支持时,系统会要求你将群集升级到受支持的版本。

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

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

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

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

升级受支持的 Operator Nexus Kubernetes 群集时,不能跳过 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.xx.x 群集。 但是,我们建议你使用最新的受支持版本创建新群集。

是否可以在延长可用性期间将群集升级到更新的版本?

是的,你可以在延长可用性期间将 N-3 群集升级到 N-2。 如果群集当前在 N-4 上,则可利用延长可用性首先从 N-4 升级到 N-3,然后继续升级到受支持的版本 (N-2)。

在延长可用性期间,是否仍然可以添加新的节点池? 或者是否必须升级?

是的,你可以将节点池添加到群集中。