本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Helm 在 Amazon EKS 集群上安装软件包
在创建 SageMaker HyperPod 集群并将其连接到 Amazon EKS 集群之前,您应该使用适用于 Kubernetes 的包管理器 Helm
SageMaker HyperPod 服务团队提供了一个 Helm chart 包,它捆绑了关键依赖项,例如设备/EFA 插件、插件、Kubeflow 训练
重要
此 Helm 安装步骤是必需步骤。未能使用提供的 Helm 图表配置 Amazon EKS 集群可能会导致 SageMaker HyperPod 集群无法正常运行或创建过程完全失败。aws-hyperpod
命名空间名称不可修改。
-
在本地计算机上安装 Helm
。 -
下载位 SageMaker HyperPod 于 SageMaker HyperPod CLI 存储库
helm_chart/HyperPodHelmChart
中的 Helm 图表。 git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart
-
更新 Helm 图表的依赖关系,预览将对 Kubernetes 集群做出的更改,然后安装 Helm 图表。
helm dependencies update HyperPodHelmChart
helm install hyperpod-dependencies HyperPodHelmChart --dry-run
helm install hyperpod-dependencies HyperPodHelmChart
总而言之,Helm 安装会为您的 Amazon EKS 集群设置各种组件,包括任务调度和队列 (Kueue)、存储管理、 MLflow 集成和 Kubeflow。此外,图表还安装了以下组件,用于与集 SageMaker HyperPod 群弹性功能集成,这些功能是必需的组件。
-
He@@ alth Monitoring 代理 — 这将安装由 SageMaker HyperPod提供的运行状况监控代理。如果您想监控您的 HyperPod 集群,则必须执行此操作。运行状况监控座席以 Docker 映像的形式提供,如下所示。在 Helm 图表中提供的
values.yaml
中,映像是预设的。代理支持基于 GPU 的 Trainium-accelerator-based实例和实例(trn1
、trn1n
、inf2
)。它被安装到aws-hyperpod
命名空间。590183648699.dkr.ecr.us-west-2.amazonaws.com/hyperpod-health-monitoring-agent:1.0.230.0_1.0.19.0
-
深度运行状况检查 — 这会在
aws-hyperpod
命名空间中设置 aClusterRole
、a ServiceAccount (deep-health-check-service-account
),并设置 aClusterRoleBinding
以启用 SageMaker HyperPod 深度运行状况检查功能。有关用于深度运行状况检查的 Kubernetes RBAC 文件的更多信息,请参阅 CLI 存储库中的deep-health-check-rbac.yaml
配置文件。 SageMaker HyperPod GitHub -
job-auto-restart
-这将在aws-hyperpod
命名空间中设置 aClusterRole
ServiceAccount (job-auto-restart
),并设置 aClusterRoleBinding
,以启用自动重启功能,以便在中 PyTorch SageMaker HyperPod训练作业。有关的 Kubernetes RBAC 文件的更多信息job-auto-restart
,请参阅 CLI 存储库中的job-auto-restart-rbac.yaml
配置文件。 SageMaker HyperPod GitHub -
Kubeflow MPI 操作程序:MPI 操作程序
是一个 Kubernetes 操作程序,它能简化在 Kubernetes 集群上使用消息传递接口 (MPI) 运行分布式机器学习(ML)和高性能计算(HPC)工作负载的过程。安装 MPI Operator v0.5。它被安装到 mpi-operator
命名空间。 -
nvidia-device-plugin
— 这是一个 Kubernetes 设备插件,允许你自动公开 NVIDIA, GPUs供亚马逊 EKS 集群中的容器使用。它允许 Kubernetes 分配并提供对该容器请求 GPUs 的访问权限。在使用带有 GPU 的实例类型时必须使用。 -
neuron-device-plugin
:这是一个 Kubernetes 设备插件,可以自动暴露 AWS Inferentia 芯片,供 Amazon EKS 集群中的容器使用。它允许 Kubernetes 访问和使用集群节点上的 AWS 推理芯片。使用 Neuron 实例类型时必须填写。 -
aws-efa-k8s-device-plugin
— 这是一款 Kubernetes 设备插件,允许在亚马逊 EKS 集群上使用 AWS 弹性结构适配器 (EFA)。EFA 是一种网络设备,可在集群中的实例之间提供低延迟、高吞吐量的通信。使用 EFA 支持的实例类型时必须填写。
有关使用所提供的 Helm 图表安装过程的更多信息,请参阅 SageMaker HyperPod CLI 存储库中的自述文件