

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Helm を使用して Amazon EKS クラスターにパッケージをインストールする
<a name="sagemaker-hyperpod-eks-install-packages-using-helm-chart"></a>

SageMaker HyperPod クラスターを作成して Amazon EKS クラスターにアタッチする前に、Kubernetes のパッケージマネージャーである [Helm](https://helm.sh/) を使用してパッケージをインストールする必要があります。Helm は、Kubernetes クラスターのインストールプロセスを設定するためのオープンソースツールです。これにより、依存関係のインストールの自動化と合理化が可能になり、SageMaker HyperPod クラスターのオーケストレーター (コントロールプレーン) として Amazon EKS クラスターを準備するために必要なさまざまな設定が簡素化されます。

SageMaker HyperPod サービスチームは、デバイス/EFA プラグイン、プラグイン、[Kubeflow Training Operator](https://www.kubeflow.org/docs/components/training/)、関連するアクセス許可設定などの主要な依存関係をバンドルした Helm チャートパッケージを提供しています。

**重要**  
この Helm インストールステップは必須のステップです。[AWS マネジメントコンソール](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md) または [CloudFormation](smcluster-getting-started-eks-console-create-cluster-cfn.md) を使用して Amazon EKS クラスターをセットアップする場合は、セットアッププロセス中にインストールが自動的に処理されるため、このステップをスキップできます。API を使用してクラスターを直接セットアップする場合は、提供された Helm チャートを使用して Amazon EKS クラスターを設定します。指定した Helm チャートを使用して Amazon EKS クラスターを設定しないと、SageMaker HyperPod クラスターが適切に機能しないか、作成プロセスが完全に失敗する可能性があります。`aws-hyperpod` 名前空間名は変更できません。

1. ローカルマシンに [Helm をインストール](https://helm.sh/docs/intro/install/)します。

1. [SageMaker HyperPod CLI リポジトリ](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart)の `helm_chart/HyperPodHelmChart` にある SageMaker HyperPod が提供する Helm チャートをダウンロードします。

   ```
   git clone https://github.com/aws/sagemaker-hyperpod-cli.git
   cd sagemaker-hyperpod-cli/helm_chart
   ```

1. Helm チャートの依存関係を更新して、Kubernetes クラスターに加えられる変更をプレビューし、Helm チャートをインストールします。

   ```
   helm dependencies update HyperPodHelmChart
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system --dry-run
   ```

   ```
   helm install hyperpod-dependencies HyperPodHelmChart --namespace kube-system
   ```

要約すると、Helm インストールでは、ジョブスケジューリングとキューイング (キュー)、ストレージ管理、MLflow 統合、Kubeflow など、Amazon EKS クラスターのさまざまなコンポーネントが設定されます。さらに、このチャートでは、必要なコンポーネントである SageMaker HyperPod クラスターの回復機能と統合するため、次のコンポーネントがインストールされます。
+ **ヘルスモニタリングエージェント** – これにより、SageMaker HyperPod が提供するヘルスモニタリングエージェントがインストールされます。これは、HyperPod クラスターをモニタリングする場合に必要です。ヘルスモニタリングエージェントは、次のように Docker イメージとして提供されます。Helm チャートで提供されている `values.yaml` では、イメージがプリセットされています。エージェントは、GPU ベースのインスタンスと Trainium アクセラレータベースのインスタンス (`trn1`、`trn1n`、`inf2`) をサポートしています。`aws-hyperpod` 名前空間にインストールされます。サポートされている URI を確認するには、[GitHub の sagemaker-hyperpod-cli リポジトリの「サポートされているリージョンとその ECR URIs](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/readme.md#6-notes)」を参照してください。
+ **ディープヘルスチェック** – これにより、`ClusterRole`、`aws-hyperpod` 名前空間の ServiceAccount (`deep-health-check-service-account`)、および `ClusterRoleBinding` が設定され、SageMaker HyperPod ディープヘルスチェック機能が有効になります。ディープヘルスチェック用の Kubernetes RBAC ファイルの詳細については、SageMaker HyperPod CLI GitHub リポジトリの設定ファイル [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/deep-health-check-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/deep-health-check/templates/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 リポジトリの設定ファイル [https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml](https://github.com/aws/sagemaker-hyperpod-cli/blob/main/helm_chart/HyperPodHelmChart/charts/job-auto-restart/templates/job-auto-restart-rbac.yaml) を参照してください。
+ **Kubeflow MPI 演算子** – [MPI Operator](https://github.com/kubeflow/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 ファイル](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart)を参照してください。