了解 EKS 上的 Kubernetes 版本生命周期 - Amazon EKS

帮助改进此页面

要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。

了解 EKS 上的 Kubernetes 版本生命周期

Kubernetes 发展迅速,会不断提供新功能、设计更新和错误修复。社区平均每四个月发布一次新的 Kubernetes 次要版本(例如 1.32)。Amazon EKS 会遵循次要版本的上游发布和弃用周期。随着新 Kubernetes 版本在 Amazon EKS 中提供,我们建议您主动将集群更新为使用最新的可用版本。

在发布后的前 14 个月内,次要版本会在 Amazon EKS 中获得标准支持。一个版本超过标准支持终止日期后,将在接下来 12 个月自动进入扩展支持。延期支持允许您在特定 Kubernetes 版本上停留更长时间,但需要按小时为集群支付额外费用。如果您在延期支持期限结束之前未更新集群,则您的集群将自动升级到当前支持的最旧延期版本。

扩展支持会默认启用。通过禁用 EKS 扩展支持来防止集群成本增加

建议使用 Amazon EKS 支持的最新可用 Kubernetes 版本创建集群。如果应用程序需要特定版本的 Kubernetes,则可以选择较旧的版本。您可以在标准或延期支持中提供的任何版本上创建新的 Amazon EKS 集群。

标准支持上的可用版本

Amazon EKS 标准支持目前提供以下 Kubernetes 版本:

  • 1.32

  • 1.31

  • 1.30

  • 1.29

有关标准支持中每个版本需要注意的重要更改,请参阅 查看 Kubernetes 版本标准支持的发布说明

延期支持的可用版本

Amazon EKS 延期支持目前提供以下 Kubernetes 版本:

  • 1.28

  • 1.27

  • 1.26

  • 1.25

  • 1.24

有关扩展支持中每个版本需要注意的重要更改,请参阅 查看 Kubernetes 版本延期支持的发布说明

Amazon EKS Kubernetes 发布日历

下表显示了每个 Kubernetes 版本需要考虑的重要发布和支持日期。扩展支持从该版本的标准支持终止之日起开始计费。

注意

只有月份和年份的发布日期均为大概日期,这些日期会在确切日期明确后进行更新。

Kubernetes 版本 上游版本 Amazon EKS 版本 标准支持结束日期 延期支持结束日期

1.32

2024 年 12 月 11 日

2025 年 1 月 23 日

2026 年 3 月 23 日

2027 年 3 月 23 日

1.31

2024 年 8 月 13 日

2024 年 9 月 26 日

2025 年 11 月 26 日

2026 年 11 月 26 日

1.30

2024 年 4 月 17 日

2024 年 5 月 23 日

2025 年 7 月 23 日

2026 年 7 月 23 日

1.29

2023 年 12 月 13 日

2024 年 1 月 23 日

2025 年 3 月 23 日

2026 年 3 月 23 日

1.28

2023 年 8 月 15 日

2023 年 9 月 26 日

2024 年 11 月 26 日

2025 年 11 月 26 日

1.27

2023 年 4 月 11 日

2023 年 5 月 24 日

2024 年 7 月 24 日

2025 年 7 月 24 日

1.26

2022 年 12 月 9 日

2023 年 4 月 11 日

2024 年 6 月 11 日

2025 年 6 月 11 日

1.25

2022 年 8 月 23 日

2023 年 2 月 22 日

2024 年 5 月 1 日

2025 年 5 月 1 日

1.24

2022 年 5 月 3 日

2022 年 11 月 15 日

2024 年 1 月 31 日

2025 年 1 月 31 日

使用 AWS CLI 获取版本信息

您可以使用 AWS CLI 获取有关 EKS 上可用 Kubernetes 版本的信息,例如标准支持的终止日期。

使用 AWS CLI 检索有关 EKS 上可用 Kubernetes 版本的信息

  1. 打开终端。

  2. 请确保您已经安装并配置好 AWS CLI。有关更多信息,请参阅安装或更新到最新版本的 CLI

  3. 运行以下命令:

    aws eks describe-cluster-versions
  4. 该命令将返回一个 JSON 输出,其中包含有关可用集群版本的详细信息。输出示例如下:

    { "clusterVersions": [ { "clusterVersion": "1.31", "clusterType": "eks", "defaultPlatformVersion": "eks.21", "defaultVersion": true, "releaseDate": "2024-09-25T17:00:00-07:00", "endOfStandardSupportDate": "2025-11-25T16:00:00-08:00", "endOfExtendedSupportDate": "2026-11-25T16:00:00-08:00", "status": "STANDARD_SUPPORT", "kubernetesPatchVersion": "1.31.3" } ] }

此输出提供了有关每个集群版本的下列信息:

  • clusterVersion:EKS 集群的 Kubernetes 版本

  • clusterType:该集群的类型(例如,“eks”)

  • defaultPlatformVersion:默认 EKS 平台版本

  • defaultVersion:此版本是否是默认版本

  • releaseDate:此版本的发布日期

  • endOfStandardSupportDate:标准支持终止日期

  • endOfExtendedSupportDate:扩展支持终止日期

  • status:此版本的当前支持状态,例如 STANDARD_SUPPORTEXTENDED_SUPPORT

  • kubernetesPatchVersion:特定的 Kubernetes 补丁版本

Amazon EKS 版本常见问题

标准支持提供多少个 Kubernetes 版本?

为了与 Kubernetes 社区对 Kubernetes 版本的支持保持一致,Amazon EKS 致力于在任何特定时间为三个 Kubernetes 版本提供支持。我们会提前至少 60 天公告特定 Kubernetes 次要版本的标准支持结束日期。考虑到 Kubernetes 新版本的 Amazon EKS 鉴定和发布流程,Amazon EKS 上对某个 Kubernetes 版本的标准支持的结束日期会是 Kubernetes 项目停止支持上游版本之后。

Kubernetes 可以获得多长时间的 Amazon EKS 标准支持?

首次在 Amazon EKS 上发布后,一个 Kubernetes 版本可获得 14 个月的标准支持。即使上游 Kubernetes 不再支持 Amazon EKS 上可用的版本,也是如此。我们向后移植适用于 Amazon EKS 上支持的 Kubernetes 版本的安全补丁。

当对 Amazon EKS 上的 Kubernetes 版本的标准支持结束时,我是否会收到通知?

是。如果账户中有任何集群正在运行即将结束支持的版本,Amazon EKS 会在 Kubernetes 版本在 Amazon EKS 上发布大约 12 个月后通过 AWS Health Dashboard 发出通知。该通知包括支持结束日期。为从通知发出之日起至少 60 天。

Amazon EKS 支持哪些 Kubernetes 功能?

Amazon EKS 支持 Kubernetes API 的所有正式发布(GA)功能。从 Kubernetes 1.24 版本开始,集群中默认不会启用新的测试版 API。但在默认情况下,先前存在的测试版 API 和现有测试版 API 的新版本将继续默认启用。不支持 Alpha 功能。

Amazon EKS 托管节点组是否会随集群控制面板版本一起自动更新?

否。托管节点组在您的账户中创建 Amazon EC2 实例。当您或 Amazon EKS 更新控制面板时,这些实例不会自动升级。有关更多信息,请参阅 更新集群的托管式节点组。我们建议您的控制层面和节点上保持相同的 Kubernetes 版本。

自行管理的节点组是否会随集群控制面板版本一起自动更新?

否。自行管理的节点组包括您的账户中的 Amazon EC2 实例。当您或 Amazon EKS 代表您更新控制面板版本时,这些实例不会自动升级。对于自行管理的节点组,控制台中没有任何其需要更新的标示。您可以在集群的 Overview(概览)选项卡上的 Nodes(节点)列表中选择节点查看其上安装的 kubelet 版本,确定哪些节点需要更新。您必须手动更新节点。有关更多信息,请参阅 更新集群的自行管理型节点

Kubernetes 项目最多测试三个次要版本的控制面板和节点之间的兼容性。例如,当 1.29 节点由 1.32 控制面板编排时,节点会继续运行。但是,不建议运行具有版本持续落后控制面板三个次要版本的节点的集群。有关更多信息,请参阅 Kubernetes 文档中的 Kubernetes 版本和版本倾斜支持政策。我们建议您的控制层面和节点上保持相同的 Kubernetes 版本。

Fargate 上运行的容器组(pod)是否会随着集群控制面板版本自动升级而自动升级?

不会。我们强烈建议将 Fargate 容器组(pod)作为复制控制器(如 Kubernetes 部署)的一部分运行。然后依次重启所有的 Fargate 容器组(pod)。新版本的 Fargate 容器组(pod)部署有一个 kubelet 版本,该版本与更新的集群控制面板版本相同。有关更多信息,请参阅 Kubernetes 文档中的部署

重要

如果您更新控制面板,则必须自行更新 Fargate 节点。要更新 Fargate 节点,请删除该节点表示的 Fargate 容器组(pod),然后重新部署容器组(pod)。部署新的容器组(pod)时使用 kubelet 版本,该版本与您的集群版本相同。

:哪些 Kubernetes 版本支持混合节点功能?

Amazon EKS 混合节点功能支持的 Kubernetes 版本与使用其他节点计算类型的 Amazon EKS 集群相同,包括标准和扩展 Kubernetes 版本支持。升级控制面板版本时,混合节点不会自动升级,您需要自行升级混合节点。有关更多信息,请参阅 升级集群的混合节点

Amazon EKS 扩展支持常见问题

标准支持和延期支持术语对我来说是全新的。这些术语是什么意思?

对 Amazon EKS 中某个 Kubernetes 版本的标准支持从该 Kubernetes 版本在 Amazon EKS 上发布时开始,并将在发布日期 14 个月后结束。对某个 Kubernetes 版本的延期支持将在标准支持结束后立即开始,并将在接下来的 12 个月后结束。例如,Amazon EKS 版本 1.23 的标准支持将于 2023 年 10 月 11 日终止。对版本 1.23 的扩展支持于 2023 年 10 月 12 日开始,并将于 2024 年 10 月 11 日终止。

我需要做些什么才能获得对 Amazon EKS 集群的延期支持?

您需要通过将集群升级策略更改为 EXTENDED 来启用对集群的延期支持(请参阅通过启用 EKS 扩展支持,可提高计划 Kubernetes 版本升级的灵活性)。默认情况下,除非另有说明,否则对于所有新集群和现有集群,升级策略均设置为 EXTENDED。要查看您的集群的升级策略,请参阅查看当前集群升级策略。标准支持从 Kubernetes 版本在 Amazon EKS 上发布时开始,并将在发布日期 14 个月后结束。对某个 Kubernetes 版本的延期支持将在标准支持结束后立即开始,并将在接下来的 12 个月后结束。

哪些 Kubernetes 版本可以获得延期支持?

延期支持适用于 Kubernetes 1.23 版本及更高版本。在任何版本的标准支持结束后,您最多可以在该版本上运行集群 12 个月。这意味着 Amazon EKS 将为每个版本提供 26 个月的支持(14 个月的标准支持加上 12 个月的延期支持)。

如果我不想使用延期支持怎么办?

如果您不想自动注册延期支持,则可以将集群升级到 Amazon EKS 标准支持的 Kubernetes 版本。要了解如何禁用延期支持,请参阅通过禁用 EKS 扩展支持来防止集群成本增加。注意:如果您禁用延期支持,则会在标准支持终止时自动将集群升级到下一个版本。

12 个月的延期支持结束后会发生什么?

在已完成 26 个月生命周期(14 个月的标准支持期加上 12 个月的延期支持期)的 Kubernetes 版本上运行的集群,会自动升级到下一个版本。自动升级仅包含 Kubernetes 控制面板。启用了 EKS 自动模式的节点可能会自动更新。自主管理型节点和 EKS 托管式节点组将继续使用之前的版本。

在延期支持结束之日,您将无法再使用不受支持的版本创建新的 Amazon EKS 集群。Amazon EKS 会在支持结束日期后通过逐步部署流程,自动将现有控制面板更新为最早的受支持版本。控制面板自动更新后,确保手动更新集群附加组件和 Amazon EC2 节点。有关更多信息,请参阅 将现有集群更新到新的 Kubernetes 版本

在延期支持结束日期后,自动更新控制面板的确切时间是何时?

Amazon EKS 无法给出具体的时间范围。自动更新可以在延期支持结束日期后的任何时间进行。在更新之前,您不会收到任何通知。我们建议您主动更新您的控制面板,而不要依赖 Amazon EKS 自动更新流程。有关更多信息,请参阅 将现有集群更新到新的 Kubernetes 版本

我能否无限期地将控制面板留在某个 Kubernetes 版本上?

不能。AWS 的云安全性具有最高优先级。一段时间后(通常为 1 年),Kubernetes 社区会停止发布通用漏洞披露(CVE)补丁程序,也不鼓励提交不受支持版本的 CVE。也就是说,可能不会报告旧版本 Kubernetes 的特定漏洞。这会在出现漏洞的情况下,集群被暴露且不会进行通知,也没有修复选项。鉴于此,Amazon EKS 不允许控制面板停留在延期支持已经结束的版本上。

获得延期支持是否需要额外费用?

需要,在延期支持下运行的 Amazon EKS 集群需要支付额外费用。有关定价详情,请参阅 AWS 博客上的 对 Kubernetes 版本定价的 Amazon EKS 延期支持或我们的定价页面

延期支持中包含哪些内容?

延期支持中的 Amazon EKS 集群会一直收到 Kubernetes 控制面板的安全补丁。此外,Amazon EKS 将发布 Amazon VPC CNI 的补丁 kube-proxy 和延期支持版本的 CoreDNS 附加组件。Amazon EKS 还将针对 AWS 发布的适用于 Amazon Linux、Bottlerocket 和 Windows 的 Amazon EKS 优化版 AMI 以及这些版本的 Amazon EKS Fargate 节点发布补丁。延期支持中的所有集群将继续从 AWS 中获得技术支持。

注意

AWS 发布的 Amazon EKS 优化版 Windows AMI 的延期支持不适用于 Kubernetes 1.23 版,但适用于 Kubernetes 1.24 版及更高版本。

在延期支持中,非 Kubernetes 组件的补丁是否有任何限制?

虽然延期支持涵盖了来自 AWS 的所有 Kubernetes 特定组件,但始终仅为 AWS 发布的适用于 Amazon Linux、Bottlerocket 和 Windows 的 Amazon EKS 优化版 AMI 提供支持。这意味着,在使用延期支持时,您的 Amazon EKS 优化版 AMI 上可能会有更新的组件(例如操作系统或内核)。例如,一旦 Amazon Linux 2 在 2025 年结束其生命周期后,Amazon EKS 优化版 Amazon Linux AMI 将使用更新的 Amazon Linux 操作系统构建。Amazon EKS 将宣布并记录重要的支持生命周期差异,例如每个 Kubernetes 版本的差异。

我是否能使用扩展支持的版本创建新集群?

是。