帮助改进此页面
要帮助改进本用户指南,请选择位于每个页面右侧窗格中的在 GitHub 上编辑此页面链接。
设置用于人工智能/机器学习工作负载的 Amazon EKS 集群
提示
注册参加
本节将指导您创建可随时运行推理工作负载的 Amazon EKS 集群,(包括具有 GPU 的计算)、监控堆栈和用于存储模型权重的 Amazon S3 存储,以及必要的 AWS IAM 权限。
架构概述
设置过程会创建以下基础设施:
-
具有 GPU 节点的 EKS 集群:将使用竞价型容量动态预调配 G 系列 GPU 实例并启用按需型回退的 Karpenter 托管式节点池。
-
监控堆栈:Prometheus 会抓取集群、节点和 GPU 指标,然后将其远程写入 Amazon Managed Service for Prometheus(AMP)。Grafana 提供了多种控制面板来实现可视化。NVIDIA DCGM Exporter 会添加 GPU 特定的指标,包括利用率、内存、温度、功耗、NVLink 带宽、张量活动等。
-
模型权重 S3 存储桶:用于存储模型权重的 Amazon S3 存储桶,具有向工作负载容器授予读写权限的 EKS容器组身份关联。
集群计算选项
该指南提供了两种集群设置路径。请选择一种并在所有步骤中始终遵循该路径。
-
EKS 自动模式:只需一条命令即可配置启用了 EKS 自动模式的 EKS 集群。所有必需组件都已标准配置,包括基于 Karpenter 的自动扩缩、EKS 节点监控代理、使用 SOCI 的快速容器拉取以及 NVIDIA 设备插件。
-
自行管理的 Karpenter:您可以显式安装和配置每个组件:通过
eksctl安装的 Karpenter、通过其特性门控启用的自动节点修复功能、作为 EKS 附加组件的 EKS 节点监控代理以及通过 Helm 安装的 NVIDIA 设备插件。您还可以创建使用 EKS 优化版 NVIDIA AL2023 AMI 的自定义EC2NodeClass并配置 SOCI。
您需要进行哪些设置
| 步骤 | 说明 |
|---|---|
|
创建集群 |
配置 GPU 工作负载所需的 EKS 控制面板和集群级别组件。 |
|
创建动态预调配的 GPU 节点 |
定义一个将在调度工作负载时预调配 G 系列 GPU 实例的动态 GPU 节点池。 |
|
使用示例容器组进行测试 |
运行会触发 Karpenter 预调配 GPU 节点的 |
|
添加预留容量(可选) |
将按需型容量预留(ODCR)附加到您的节点类,以将预留容量优先用于竞价型/按需型回退。 |
|
安装监控 |
部署具有远程写入 AMP 权限的 kube-prometheus-stack(Prometheus + Grafana),以及用于 GPU 指标的 NVIDIA DCGM Exporter。 |
|
创建模型权重存储桶 |
创建一个 S3 存储桶并配置 EKS容器组身份,以便工作负载容器组可以读取和写入模型权重。 |
开始使用
如需使用 AWS CLI 的详细分步指导,请参阅使用 CLI 为人工智能/机器学习工作负载设置 Amazon EKS 集群。