

 **帮助改进此页面** 

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

# 使用 Karpenter 和 Cluster Autoscaler 扩展集群计算
<a name="autoscaling"></a>

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

## EKS 自动模式
<a name="_eks_auto_mode"></a>

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

有关更多信息，请参阅：
+  [使用 EKS 自动模式实现集群基础设施自动化](automode.md) 
+  [为 EKS 自动模式创建节点池](create-node-pool.md) 
+  [将示例 inflate 工作负载部署到 Amazon EKS 自动模式集群](automode-workload.md) 

## 其他解决方案
<a name="_additional_solutions"></a>

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

 **Karpenter**   
Karpenter 是一款灵活的高性能 Kubernetes 集群自动扩缩器，可帮助提高应用程序可用性和集群效率。Karpenter 只需不到一分钟时间，即可启动适当规模的计算资源（例如 Amazon EC2 实例）来响应不断变化的应用程序负载。通过将 Kubernetes 与 AWS 相集成，Karpenter 可以即时调配精准满足工作负载需求的计算资源。Karpenter 会根据集群工作负载的具体需求来自动调配新的计算资源。这包括计算、存储、加速和调度需求。Amazon EKS 支持使用 Karpenter 的集群，但 Karpenter 可以与任何合规的 Kubernetes 集群配合使用。有关更多信息，请参阅 [Karpenter](https://karpenter.sh/docs/) 文档。  
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](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md)。