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