选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

EKS 自动模式

聚焦模式
EKS 自动模式 - Amazon EKS

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon EKS 自动模式代表了 Kubernetes 基础设施管理的重大发展,它将安全且可扩展的集群基础设施与 AWS 管理的集成 Kubernetes 功能相结合。该服务提供完全托管的工作节点操作,客户无需设置托管节点组或 AutoScaling 组。

架构的关键区别在于,EKS Auto Mode 使用基于 Karpenter 的系统,该系统会自动配置 EC2 实例以响应 pod 请求。这些实例在 Bottlerock AMIs et 上运行,预装了诸如 EBS CSI 驱动程序之类的附加组件,从而使基础设施真正由 AWS 管理。与传统的缩放方法相比:

  • 传统的集群自动扩缩器 (CAS) 需要手动管理节点组,并且只能为每个节点组创建具有单一实例类型的节点

  • 自行管理 Karpenter 通过使用 F EC2 leet API 提供了更大的灵活性,并且可以配置不同的实例类型,但需要客户管理

  • EKS 自动模式通过托管 NodePools 和自动处理所有扩展操作 NodeClasses

新系统引入了多项操作改进:

  • Pod 驱动的自动扩展,无需手动配置节点组

  • 内置托管负载平衡器控制器,可根据入口资源自动创建 ALB/NLB

  • 集成的安全功能和预先配置的 Pod 身份

  • 自动替换后,节点的最大运行时间为 21 天

从成本角度来看,EKS Auto Mode 保持标准 EC2 定价,同时仅为自动模式管理的节点增加管理费。重要的是,客户仍然可以在同一个集群中混合使用自动模式托管节点和自我管理节点。

虽然 AWS 负责处理大部分运营方面,但客户仍负责集群版本管理,并且可以执行控制升级,从而触发工作节点的滚动更新。

使用自动模式的原因

自动模式面向那些希望获得 Kubernetes 和 EKS 的好处,但需要最大限度地减少 Kubernetes 的操作负担的用户,例如升级和安装/维护自动缩放、负载平衡和存储等关键平台部分。自动模式让 EKS 更进一步,最大限度地减少了 Kubernetes 维护带来的无差别繁重的工作

常见问题解答

EKS 自动模式和开源 Karpenter 有什么区别?

EKS 自动模式是一套庞大的功能,可让运行生产级 Kubernetes 变得简单。其中一项功能是完全托管的 Karpenter 的自动缩放优势。从操作的角度来看,唯一的区别在于在 EKS 自动模式下,你不需要自己管理 Karpenter pod 的部署、扩展和升级。所有其他操作,例如托管操作,其 NodePools 工作原理 NodeClasses与开源 Karpenter 相同。

我能否与自动模式管理的节点一起运行托管节点组?

是的,您可以通过托管节点组运行静态节点,同时还可以在自动模式下提供的自动缩放节点旁边运行

我能否将集群从标准 EKS 迁移到 EKS 自动模式?

是的,可以在官方 AWS 文档中找到在现有集群上启用 EKS 自动模式的说明

注意事项:1. 启用自动模式后,您需要卸载已安装的所有现在由自动模式管理的组件,例如 Karpenter 或 AWS Load Balancer Controller 2。你需要确保你安装的插件是 up-to-date。参见文档。

如何 NodePools 在 EKS 自动模式下进行配置?

新集群将预先配置两个 NodePools

通用的

一般用途 NodePool

这 NodePool 会指示 Karpenter 启动具有以下特征的节点:

  1. “按需” 的容量类型

  2. C、M 或 R 的实例类型

  3. 4 的实例生成

  4. AMD 架构

  5. Linux OS

它还通过声明在任何给定时间所有节点中只有10%可能处于中断状态,并且只有在节点为空或未充分利用时才应进行整合,从而定义了缩小逻辑。

系统

系统 NodePool

NodePool 这与 “通用” 类似,但有以下区别:

  1. 它允许节点采用 ARM 架构和 AMD 架构

  2. 除非可以容忍 “”CriticalAddonsOnly, NoSchedule 否则它会用污染这些节点。这是供 EKS 插件内部使用的

自定义

您可以 NodePools 根据需要创建自己的自定义。要了解更多信息,NodePools 请查阅 Karpenter 文档

启动新节点时,我能否自定义自动模式使用的 AMI?

不,目前唯一支持 AMIs 的是亚马逊提供的 Bottlerocket

如何在我的 Kubernetes 主机上安装自定义工具或代理?

由于不支持 AMI 自定义,因此如果您需要主机级软件来执行安全扫描等操作,则应将工作负载部署为 Kubernetes。DaemonSet

当我配置新的 EKS Auto Mode 集群时,我的集群数据平面中正在运行哪些组件?

默认情况下,唯一在 EKS 自动模式集群中运行的 pod 是 Kubernetes Metrics Server 容器。EKS 自动模式的其他组件,例如 Karpenter、AWS Load Balancer Controller 和 EBS CSI 驱动程序,都在集群外运行和管理。

正在运行哪些托管组件来支持我的新 EKS 自动模式集群?

EKS 自动模式可完全自动部署生产级 Kubernetes 所需的大部分数据平面。这包括:

  • Karpenter,用于自动缩放集群的计算

  • AWS Load Balancer Controller 允许您通过自动的 Elastic Load Balancer 集成轻松公开 Kubernetes 服务

  • EBS CSI

  • VPC CNI

  • EKS 容器组身份代理

如何对以前在我的集群中作为 pod 运行的自动模式组件进行故障排除?

使用 EKS 自动模式,AWS Load Balancer Controller 和 Karpenter 等许多组件都是在集群之外为您管理的,因此您无法像自我管理时那样查看日志。如果您需要对自动模式功能的功能进行故障排除,请创建 AWS Support Ticket。

下一主题:

可靠性

上一主题:

Cluster Autoscaler

本页内容

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。