我们使用机器学习技术将英文博客翻译为简体中文。您可以点击导航栏中的“中文(简体)”切换到英文版本。
亚马逊 EKS 现在支持 Kubernetes 版本 1.28
简介
Kubernetes 1.28 亮点
这篇文章介绍了 Kubernetes 版本 1.28 版本中一些值得注意的移除、弃用和增强功能。首先,请务必注意,此版本带来了一些关键变化,包括扩展了控制平面和节点组件之间支持的版本偏差。v1.28 中还有一些很棒的增强功能,我们都很兴奋,例如对高级状态工作负载管理的支持。
以下是一些让我们的技术社区对 1.28 版本感到兴奋的增强功能。
对控制平面和节点版本之间支持的偏差的更改
-
Kubernetes v1.28 为其核心组件引入了更为宽松的版本兼容性政策,它将 Kubernetes 应用程序编程接口 (API) 服务器和 kubelet 之间支持的偏差扩大了一个次要版本,从 n-2 扩展到 n-3。这意味着支持的最旧次要版本的节点组件现在可以与最新支持的次要版本的 Amazon EKS 控制平面组件一起使用。例如,如果你的亚马逊 EKS 版本是 1.28,那么你可以使用的最早的 kubelet 版本是 1.25。
亚马逊云科技 Fargate 、托管节点组 和 都支持此更改。 最终,此更改可以让你有更多时间在数据层面上更新 kubelet。尽管此更改确实为您提供了更多时间在数据层面上更新 kubelet 次要版本,但请务必注意,出于安全原因,尤其是考虑到潜在的常见漏洞和暴露 (CVE),这并不能否定更新亚马逊系统映像 (AMI) 版本的重要性。请记住,n-3 偏差更改仅适用于当前支持的版本。如果某个版本已停用,则只能使用仍受支持的版本。自 管理节点 -
要了解更多信息,请参阅
更改控制平面和节点版本 之间支持的偏差 。
有状态的工作负载增强功能升级到稳定状态
-
Kubernetes 1.28 推出了一套高级存储功能,专门增强了对有状态工作负载的处理。在 Kubernetes 增强提案 (KEP) (
#2268 ,#3333 ) 中描述的这些增强功能在升级到稳定版后立即可用。它们共同提供了一个强大的工具集,可确保在集群内更有效地管理有状态的工作负载,例如VolumeAttactions和PersistentVolumeClaims (PVC)。在未定义存储类的情况下处理存储时,您仍然可以选择创建 PersistentVolumes。您可以直接手动配置和创建 PV,例如为 NFS 挂载创建 PV,使用 NFS 服务器详细信息定义 PV,而无需引用 StorageClass。然后可以通过 PVC 认领 PV,为有状态工作负载配置存储。 -
#2268 已升级 为稳定版,默认情况下 nodeOutofServiceVolumeDetach 功能门处于启用状态。此功能支持从非正常节点关闭中恢复,确保有状态的工作负载可以成功故障转移到其他节点。它解决了以前在各种平台上处理节点关闭时的限制,并确保现有的 VolumeAttachment 与原始关闭节点断开关联,从而实现有状态应用程序的无缝过渡。 -
#3333 已升级为稳定版,默认情况下,RetroactiveDefaultStorageClass 功能门处于启用状态。此功能为 PVC 的默认 StorageClass 提供了稳定的自动和追溯分配。如果 PVC 没有定义 StorageClassName,Kubernetes 会自动设置一个。此功能增强了有状态工作负载的存储管理的稳定性,从而确保 Kubernetes 集群中存储资源的一致处理。 -
要了解更多信息,请参阅
Kubernetes 1.28:非正常关闭节点移至 GA 和 Kub 正式版。ernetes v1.28:追溯默认 StorageCl ass 移至
高级拓扑管理和微调的 Pod 布局已进入测试阶段
-
Kubernetes v1.28 引入了一系列复杂的拓扑管理功能。这些功能在 KEP (
#3545 ) 中有详细介绍,默认情况下已启用并在测试版中可用。它们共同构成了一个强大的强大力量,能够以最大限度地提高资源效率、增强性能和增强容错能力的方式应对协调容器布局的挑战。通过使用这两个选项,您可以确保 Pod 彼此靠近放置以获得更好的性能,还可以遵守其他限制,例如可用区,从而高效地利用集群资源。 - TopologyManagerPolicybetaOptions 为你提供了高级设置,可以根据节点拓扑和资源可用性等因素微调容器的位置。关键设置是首选最近 numa-nodes 策略非均匀内存访问 (NUMA) 节点是一组 CPU 和内存。通常,拓扑管理器会将 Pod 分散到可用的 NUMA 节点上,但是此设置会告诉拓扑管理器偏爱附近的 NUMA 节点。启用此选项可以使其就 Pod 的放置做出更明智的决定,并指示其考虑 NUMA 节点之间的距离,这对于延迟敏感或需要高吞吐量的应用程序至关重要。
- TopologyManagerPolicyOptions 在根据独特的集群拓扑量身定制容器布局方面提供了额外的粒度层。此功能允许您根据节点标签、关联性规则和资源约束定义约束,从而可以对 Pod 的放置进行微调控制。这允许您使用节点标签、关联性规则和资源限制来定义约束。例如,您可以指定 Pod 应限制在特定的可用区域内,以优化资源利用率。
- 请注意,尽管这些功能强大,但需要调整现有的 Pod 规格或节点配置。我们建议全面测试其影响,并针对可能出现的任何问题制定回滚计划。如果你遇到任何问题,我们建议你禁用该功能并重启 kubelet。
-
要了解更多信息,请参阅
节点上的 控制拓扑管理策略 。
弃用和其他更新
亚马逊 EC2 P2 实例弃用
- 从 Kubernetes 版本 28 开始,您将无法再使用亚马逊 EC2 P2 实例以及开箱即用的亚马逊 EKS 优化的加速亚马逊 Linux AMI。这些适用于 Kubernetes 版本 1.28 或更高版本的 AMI 将支持 NVIDIA 525 系列或更高版本的驱动程序,这些驱动程序与 P2 实例不兼容。但是,NVIDIA 525 系列或更高版本的驱动程序与 P3、P4 和 P5 实例兼容,因此您可以将这些实例与 Kubernetes 版本 1.28 或更高版本的 AMI 一起使用。在将您的亚马逊 EKS 集群升级到版本 1.28 之前,请将任何 P2 实例迁移到 P3、P4 和 P5 实例。我们还建议您主动升级您的应用程序,以便与 NVIDIA 525 系列或更高版本兼容。
生命周期终止支持
亚马逊 EKS 在任何给定时间都支持至少四个 Kubernetes 版本。鉴于 Kubernetes 发布周期的性质,所有客户都有持续的升级计划至关重要。
结论
在这篇文章中,我们向您展示了 Kubernetes 版本 v1.28 中的显著变化,并重点介绍了一些最令人兴奋的可用功能。请务必查看
*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。