使用 Helm 在 Amazon EKS叢集上安裝套件 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Helm 在 Amazon EKS叢集上安裝套件

在建立 SageMaker HyperPod 叢集並將其連接至 Amazon EKS叢集之前,您應該使用 Kubernetes 套件管理員 Helm 來安裝套件。Helm 是一種開放原始碼工具,用於設定 Kubernetes 叢集的安裝程序。它可實現相依性安裝的自動化和簡化,並簡化準備 Amazon EKS叢集作為 SageMaker HyperPod 叢集協調器 (控制平面) 所需的各種設定。

SageMaker HyperPod 服務團隊提供 Helm Chart 套件,其中包含裝置/EFA外掛程式、Kue、Kubeflow Training Operator 和相關許可組態等金鑰相依性。

重要

此 Helm 安裝步驟是必要的步驟。使用提供的 Helm Chart 設定 Amazon EKS叢集可能會導致 SageMaker HyperPod 叢集無法正常運作或建立程序完全失敗。aws-hyperpod 命名空間名稱無法修改。

  1. 在本機電腦上安裝 Helm

  2. 下載 提供的 Helm Chart,其 SageMaker HyperPod 位於 儲存庫 helm_chart/HyperPodHelmChart中的 。 SageMaker HyperPod CLI

    git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart
  3. 更新 Helm Chart 的相依性、預覽將對 Kubernetes 叢集所做的變更,並安裝 Helm Chart。

    helm dependencies update HyperPodHelmChart
    helm install hyperpod-dependencies HyperPodHelmChart --dry-run
    helm install hyperpod-dependencies HyperPodHelmChart

總而言之,Helm 安裝會為您的 Amazon EKS叢集設定各種元件,包括任務排程和佇列 (Kueue)、儲存管理、MLflow整合和 Kubeflow。此外,圖表會安裝下列元件,以與 SageMaker HyperPod 叢集復原功能整合,這些功能是必要的元件。

  • 運作狀態監控代理程式 – 這會安裝 提供的運作狀態監控代理程式 SageMaker HyperPod。如果您想要監控 HyperPod 叢集,這是必要的。運作狀態監控代理程式會以 Docker 映像的形式提供,如下所示。在 Helm Chart values.yaml中提供的 中,影像為預設。客服人員支援 GPU型執行個體和 Trainium-accelerator-based執行個體 (trn1trn1ninf2)。它已安裝到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 檔案進行深度運作狀態檢查的詳細資訊,請參閱 CLI GitHub 儲存庫deep-health-check-rbac.yaml中的 SageMaker HyperPod組態檔案。

  • job-auto-restart - 這會設定 ClusterRoleaws-hyperpod命名空間中的 ServiceAccount (job-auto-restart) 和 ClusterRoleBinding,以啟用 中 PyTorch 訓練任務的自動重新啟動功能 SageMaker HyperPod。如需 Kubernetes RBAC 檔案的詳細資訊job-auto-restart,請參閱 GitHub 儲存庫job-auto-restart-rbac.yaml中的 SageMaker HyperPod CLI組態檔案。

  • Kubeflow MPI運算MPI子 – Operator 是 Kubernetes 運算子,可在 Kubernetes 叢集上使用訊息傳遞介面 (HPC),簡化執行分散式Machine Learning (ML) 和高效能運算 (MPI) 工作負載。它會安裝 MPI Operator v0.5。它已安裝到mpi-operator命名空間。

  • nvidia-device-plugin – 這是一個 Kubernetes 裝置外掛程式,可讓您自動公開NVIDIAGPUs供 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 之安裝程序的詳細資訊,請參閱 README 儲存庫中的 SageMaker HyperPod CLI 檔案