Helm を使用して Amazon EKS クラスターにパッケージをインストールする
SageMaker HyperPod クラスターを作成して Amazon EKS クラスターにアタッチする前に、Kubernetes のパッケージマネージャーである Helm
SageMaker HyperPod サービスチームは、デバイス/EFA プラグイン、Kueue、Kubeflow Training Operator
重要
この Helm インストールステップは必須のステップです。提供された Helm チャートを使用して Amazon EKS クラスターを設定しないと、SageMaker HyperPod クラスターが正しく機能しないか、作成プロセスが完全に失敗する可能性があります。aws-hyperpod
名前空間名は変更できません。
-
ローカルマシンに Helm をインストール
します。 -
SageMaker HyperPod CLI リポジトリ
の helm_chart/HyperPodHelmChart
にある SageMaker HyperPod が提供する 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 インストールでは、ジョブスケジューリングとキューイング (キュー)、ストレージ管理、MLflow 統合、Kubeflow など、Amazon EKS クラスターのさまざまなコンポーネントが設定されます。さらに、このチャートでは、必要なコンポーネントである SageMaker HyperPod クラスターの回復機能と統合するため、次のコンポーネントがインストールされます。
-
ヘルスモニタリングエージェント – これにより、SageMaker HyperPod が提供するヘルスモニタリングエージェントがインストールされます。これは、HyperPod クラスターをモニタリングする場合に必要です。ヘルスモニタリングエージェントは、次のように Docker イメージとして提供されます。Helm チャートで提供されている
values.yaml
では、イメージがプリセットされています。エージェントは、GPU ベースのインスタンスと Trainium アクセラレータベースのインスタンス (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
-
ディープヘルスチェック – これにより、
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 Operator
は、Kubernetes クラスターでメッセージパッシングインターフェイス (MPI) を使用して分散機械学習 (ML) およびハイパフォーマンスコンピューティング (HPC) ワークロードの実行を簡素化する Kubernetes 演算子です。MPI Operator v0.5 をインストールします。 mpi-operator
名前空間にインストールされます。 -
nvidia-device-plugin
– これは、Amazon EKS クラスター内のコンテナで使用するために NVIDIA GPU を自動的に公開できる Kubernetes デバイスプラグインです。これにより、Kubernetes は、そのコンテナのリクエストされた GPU を割り当ててアクセスできるようになります。GPU でインスタンスタイプを使用する場合に必要です。 -
neuron-device-plugin
– これは、Amazon EKS クラスター内のコンテナで使用するために AWS Inferentia チップを自動的に公開できる Kubernetes デバイスプラグインです。これにより、Kubernetes はクラスターノード上の AWS Inferentia チップにアクセスして使用できます。Neuron インスタンスタイプを使用する場合に必要です。 -
aws-efa-k8s-device-plugin
– これは、Amazon EKS クラスターで AWS Elastic Fabric Adapter (EFA) を使用できるようにする Kubernetes デバイスプラグインです。EFA は、クラスター内のインスタンス間で低レイテンシーかつ高スループットの通信を提供するネットワークデバイスです。EFA によりサポートされているインスタンスタイプを使用する場合に必要です。
提供された Helm チャートを使用したインストール手順の詳細については、SageMaker HyperPod CLI リポジトリ の README ファイル