使用 Karpenter 和 Cluster Autoscaler 扩展集群计算 - Amazon EKS

帮助改进此页面

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

使用 Karpenter 和 Cluster Autoscaler 扩展集群计算

Autoscaling 是一项功能,可以自动扩缩资源以满足您不断变化的需求。若没有此项重要的 Kubernetes 功能,则需要耗费大量的人力资源来手动执行这些工作。

EKS 自动模式

Amazon EKS 自动模式会自动扩展集群计算资源。如果现有节点无法满足容器组的需要,EKS 自动模式会创建一个新节点。EKS 自动模式还会整合工作负载并删除节点。EKS 自动模式是以 Karpenter 为基础构建的。

有关更多信息,请参阅:

其他解决方案

Amazon EKS 支持另外两个自动扩缩产品:

Karpenter

Karpenter 是一款灵活的高性能 Kubernetes 集群弹性伸缩工具,可帮助提高应用程序可用性和集群效率。Karpenter 只需不到一分钟时间,即可启动适当规模的计算资源(例如 Amazon EC2 实例)来响应不断变化的应用程序负载。通过将 Kubernetes 与 AWS 相集成,Karpenter 可以即时调配精准满足工作负载需求的计算资源。Karpenter 会根据集群工作负载的具体需求来自动调配新的计算资源。这包括计算、存储、加速和调度需求。Amazon EKS 支持使用 Karpenter 的集群,但 Karpenter 可以与任何合规的 Kubernetes 集群配合使用。有关更多信息,请参阅 Karpenter 文档。

重要

Karpenter 是一种开源软件,AWS 客户负责在其 Kubernetes 集群中安装、配置和管理。AWS 在 Amazon EKS 集群中使用兼容版本运行未经修改的 Karpenter 时提供技术支持。客户在升级 Karpenter 控制器或运行它的 Kubernetes 集群时,必须维护 Karpenter 控制器的可用性和安全性以及适当的测试程序,就像任何其它客户管理的软件一样。Karpenter 没有 AWS 服务水平协议(SLA),客户有责任确保 Karpenter 启动的 EC2 实例满足其业务需求。

Cluster Autoscaler

当 Pod 失败或被重新安排到其他节点时,Kubernetes Cluster Autoscaler 会自动调整集群中的节点数。Cluster Autoscaler 使用自动扩缩组。有关更多信息,请参阅 AWS 上的 Cluster Autoscaler