本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Helm 在 Amazon EKS 叢集上安裝套件
在建立 SageMaker HyperPod 叢集並將其連接到 Amazon EKS 叢集之前,您應該使用 Helm
SageMaker HyperPod 服務團隊會提供 Helm Chart 套件,其中綁定裝置/EFA 外掛程式、外掛程式、Kubeflow Training Operator
重要
需要此 Helm 安裝步驟。如果您使用 AWS 管理主控台 或 CloudFormation 設定 Amazon EKS 叢集,則可以略過此步驟,因為安裝會在設定程序進行期間自動處理。如果您直接使用 API 設定叢集,請使用提供的 Helm Chart 來設定您的 Amazon EKS 叢集。若無法使用提供的 Helm Chart 設定您的 Amazon EKS 叢集,可能會導致 SageMaker HyperPod 叢集無法正常運作,或建立程序完全失敗。無法修改 aws-hyperpod 命名空間名稱。
-
在您的本機電腦上安裝 Helm
。 -
下載 SageMaker HyperPod CLI 儲存庫
中位於 helm_chart/HyperPodHelmChart的 SageMaker HyperPod 所提供的 Helm Chart。git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart -
更新 Helm Chart 的相依性、預覽將對 Kubernetes 叢集所做的變更,並安裝 Helm Chart。
helm dependencies update HyperPodHelmCharthelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-runhelm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
總而言之,Helm 安裝會為您的 Amazon EKS 叢集設定各種元件,包括任務排程和排入佇列 (Kueue)、儲存管理、MLflow 整合和 Kubeflow。此外,這些圖表會安裝下列元件,以與 SageMaker HyperPod 叢集彈性功能整合,這些功能是必要的元件。
-
運作狀態監控代理程式 - 這會安裝 SageMaker HyperPod 提供的運作狀態監控代理程式。如果您想要監控 HyperPod 叢集,這是必要的。運作狀態監控代理程式會以 Docker 映像的形式提供,如下所示。在 Helm Charts 中提供的
values.yaml中,映像是預先設定的。代理程式支援 GPU 型執行個體和 Trainium 加速器型執行個體 (trn1、trn1n、inf2)。它會安裝到aws-hyperpod命名空間。若要尋找支援的 URI,請參閱 GitHub 上的 sagemaker-hyperpod-cli 儲存庫中支援的 區域及其 ECR URIs。 -
深度運作狀態檢查 - 這會設定
ClusterRole、aws-hyperpod命名空間中的 ServiceAccount (deep-health-check-service-account) 以及ClusterRoleBinding,以啟用 SageMaker HyperPod 深度運作狀態檢查功能。如需 Kubernetes RBAC 檔案進行深層運作狀態檢查的詳細資訊,請參閱 SageMaker HyperPod CLI GitHub 儲存庫中的組態檔案deep-health-check-rbac.yaml。 -
job-auto-restart- 這會設定ClusterRole、aws-hyperpod命名空間中的 ServiceAccount (job-auto-restart) 以及ClusterRoleBinding,以在 SageMaker HyperPod 中啟用 PyTorch 訓練任務的自動重新啟動功能。如需用於job-auto-restart的 Kubernetes RBAC 檔案的詳細資訊,請參閱 SageMaker HyperPod CLI GitHub 儲存庫中的組態檔案job-auto-restart-rbac.yaml。 -
Kubeflow MPI 運算子 - MPI 運算子
是一種 Kubernetes 運算子,可在 Kubernetes 叢集上使用訊息傳遞介面 (MPI),簡化分散式機器學習 (ML) 和高效能運算 (HPC) 工作負載的執行。它會安裝 MPI 運算子 v0.5。它會安裝到 mpi-operator命名空間。 -
nvidia-device-plugin- 這是一個 Kubernetes 裝置外掛程式,可讓您自動公開 NVIDIA GPU,以供 Amazon EKS 叢集中的容器使用。它可讓 Kubernetes 為該容器配置所請求的 GPU 並提供其存取權。搭配 GPU 使用執行個體類型時,這是必要的。 -
neuron-device-plugin- 這是一個 Kubernetes 裝置外掛程式,可讓您自動公開 AWS Inferentia 晶片,以供 Amazon EKS 叢集中的容器使用。它允許 Kubernetes 存取和使用叢集節點上的 AWSInferentia 晶片。使用 Neuron 執行個體類型時,這是必要的。 -
aws-efa-k8s-device-plugin– 這是一個 Kubernetes 裝置外掛程式,可在 Amazon EKS 叢集上使用 AWSElastic Fabric Adapter (EFA)。EFA 是一種網路裝置,在叢集中的執行個體之間提供低延遲和高輸送量通訊。使用 EFA 支援的執行個體類型時,這是必要的。
如需使用所提供 Helm Chart 之安裝程序的詳細資訊,請參閱 SageMaker HyperPod CLI 儲存庫中的 README 檔案