AKS Arc 中支持的 Kubernetes 版本

本文介绍 Azure Arc 启用Azure Kubernetes 服务支持的 Kubernetes 版本。AKS Arc 大约每三个月发布一次新的 Kubernetes 次要版本。

Kubernetes 版本

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

[major].[minor].[patch]

Example:
  1.29.2
  1.29.5

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

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

应安装正在运行的次要版本的最新修补程序版本。 例如,如果生产群集使用版本 1.29.21.29.5 是适用于 1.29 系列的最新可用修补程序版本,应尽快升级到 1.29.5 ,以确保 Kubernetes 群集得到完全修补和支持。

AKS Arc Kubernetes 发布日历

K8s 次要版本 支持的 Azure 本地版本 当前状态 使用 Kubernetes 修补程序/CVE 更新的最后一个版本
1.30 TBD 近期 TBD
1.29 24112408 正式发布 TBD
1.28 241124082405 正式发布 TBD
1.27 241124082405, 2402 正式发布 2411 版本
1.26 2405、2402 及更早版本 不再有修补程序版本/CVE 更新 2405 版本

AKS Arc 支持每个版本的 Kubernetes 次要和修补程序版本

版本 支持的次要和修补程序版本
2411 1.27.7, 1.27.9, 1.28.5, 1.28.9, 1.29.2, 1.29.4
2408 1.27.7, 1.27.9, 1.28.5, 1.28.9, 1.29.2, 1.29.4
2405 1.26.10, 1.26.12, 1.27.7, 1.27.9, 1.28.3, 1.28.5

Kubernetes 版本支持策略

AKS 将正式版 (GA) 版本定义为在部署或更新 Arc 启用的 AKS 时可供下载的版本。AKS 支持三个 GA 次要版本的 Kubernetes:

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

AKS 还可能支持预览版本,这些版本被显式标记为预览。

注意

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

AKS 上的 Kubernetes 版本的受支持窗口称为“N-2”:(N (最新版本) -2 (次要版本))。

例如,如果 AKS 今天引入了 1.30 ,则提供以下版本的支持:

新的次要版本 支持的版本列表
1.30 1.30, 1.29, 1.28

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

  • 1.29
  • 1.28
  • 1.27

当 AKS 发布 1.30.*时,所有 1.27.* 版本都将被删除,并在 30 天内退出支持。

注意

如果运行的 Kubernetes 版本不受支持,则请求对群集的支持时,系统会要求升级。 AKS 支持策略未涵盖运行不受支持的 Kubernetes 版本的群集。

除了此策略,AKS 还支持给定次要版本的最多两个修补程序版本。 给定以下受支持的版本:

Current Supported Version List
------------------------------
1.29.8, 1.29.7, 1.28.10, 1.28.9

如果 AKS 版本 1.29.9 和 1.28.11,则会弃用并删除最早的修补程序版本,并且支持的版本列表变为:

New Supported Version List
----------------------
1.29.*9*, 1.29.*8*, 1.28.*11*, 1.28.*10*

支持的 kubectl 版本

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

例如,如果 kube-apiserver 为 1.17,则可以使用该 kubectl 的版本 1.16 到 1.18。 若要安装或更新版本 kubectl,请运行 az aks install-cli

发布和弃用流程

对于 Kubernetes 的新次要版本:

  • AKS 会在删除之前至少 30 天内发布预公告,并在 AKS 发行说明发布计划日期和相应旧版本弃用。
  • 自版本删除起,用户有 30 天的时间升级到受支持的次要版本发布,以继续获得支持。

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

  • 由于修补程序版本的紧急性质,可以在修补程序变为可用时将其引入到服务中。
  • 通常情况下,对于新修补程序版本的发布,AKS 不会进行广泛地宣传。 但是,AKS 会持续监视和验证可用的 CVE 修补程序,以便及时在 AKS 中支持它们。 如果找到关键修补程序或需要用户操作,AKS 会通知用户升级到新可用的修补程序。
  • 从 AKS 中删除修补程序版本后,用户有 30 天的时间升级到受支持的修补程序并继续接收支持。

支持的版本策略例外情况

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

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

常见问题解答

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

AKS 团队在 AKS Arc 文档中发布了计划内 Kubernetes 版本的预公告。

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

从 Kubernetes 1.19 开始,开放源代码社区将支持扩展到一年。 AKS 承诺启用修补程序并提供与上游承诺使用量匹配的支持。 对于 1.19 及更高版本的 Kubernetes 群集,你将能够至少升级一次,以保留在受支持的版本上。

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

如果你使用的是 n-3 版本或更早版本,则表示你不受支持,并被要求升级。 从版本 n-3 成功升级到 n-2 后,你将重新涵盖在我们的支持策略中。 例如:

  • 如果最早支持的 Kubernetes 版本为 1.27,并且使用的是 1.26 或更早版本,则不受支持。
  • 成功从 1.26 升级到 1.27 或更高版本时,你将回到支持窗口中。

不支持降级。

“外部支持”的含义是什么?

“不受支持”意味着:

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

此外,AKS 不会为受支持的版本列表之外的群集提供任何运行时(或其他)保证。

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

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

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

升级受支持的 AKS 群集时,不能跳过 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.10.x 升级到受支持的 1.15.x。

是否可以在其 30 天支持时段内创建新的 1.xx.x 群集?

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

我正在使用一个刚刚弃用的版本。 是否仍可以添加新节点池,还是必须升级?

否。 无法将已弃用版本的节点池添加到群集。

后续步骤

有关如何升级群集的信息,请参阅 更新 AKS 群集的 Kubernetes 版本。