Helm を使用して Amazon EKSクラスターにパッケージをインストールする - Amazon SageMaker

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

Helm を使用して Amazon EKSクラスターにパッケージをインストールする

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

SageMaker HyperPod サービスチームは、デバイス/EFAプラグイン、キュー、Kubeflow トレーニングオペレーター、関連するアクセス許可設定などの主要な依存関係をバンドルした Helm チャートパッケージを提供します。

重要

この helm インストールステップは必須のステップです。提供された Helm チャートを使用して Amazon EKSクラスターを設定しないと、 SageMaker HyperPod クラスターが正しく機能しなかったり、作成プロセスが完全に失敗する可能性があります。aws-hyperpod 名前空間名は変更できません。

  1. ローカルマシンに Helm をインストールします。

  2. リポジトリの SageMaker HyperPod にある が提供する Helm SageMaker HyperPod CLI チャートをダウンロードhelm_chart/HyperPodHelmChartします。

    git clone https://github.com/aws/sagemaker-hyperpod-cli.git cd sagemaker-hyperpod-cli/helm_chart
  3. 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-accelerator-basedインスタンス (trn1trn1n、) をサポートしますinf2aws-hyperpod 名前空間にインストールされます。

    590183648699.dkr.ecr.us-west-2.amazonaws.com/hyperpod-health-monitoring-agent:1.0.230.0_1.0.19.0
  • ディープヘルスチェック – これによりClusterRole、 ServiceAccountaws-hyperpod名前空間に 、 (deep-health-check-service-account)、および が設定されClusterRoleBinding、 SageMaker HyperPod ディープヘルスチェック機能が有効になります。ディープヘルスチェック用の Kubernetes RBAC ファイルの詳細については、deep-health-check-rbac.yamlCLI GitHub リポジトリの設定ファイル SageMaker HyperPodを参照してください。

  • job-auto-restart - これによりClusterRoleaws-hyperpod名前空間に 、 ServiceAccount (job-auto-restart)、および が設定されClusterRoleBinding、 の PyTorch トレーニングジョブの自動再起動機能が有効になります SageMaker HyperPod。の Kubernetes RBAC ファイルの詳細についてはjob-auto-restartjob-auto-restart-rbac.yaml GitHub リポジトリの設定ファイル SageMaker HyperPod CLIを参照してください。

  • Kubeflow MPI演算子 – Operator MPIは、Kubernetes クラスターの Message Passing Interface () を使用して、分散Machine Learning (MLHPC) およびハイパフォーマンスコンピューティング (MPI) ワークロードの実行を簡素化する Kubernetes 演算子です。Operator v0.5 MPI をインストールします。mpi-operator 名前空間にインストールされます。

  • nvidia-device-plugin – これは、Amazon EKSクラスター内のコンテナでNVIDIAGPUs消費するために自動的に公開できる Kubernetes デバイスプラグインです。これにより、Kubernetes は、そのコンテナGPUsにリクエストされた へのアクセスを割り当てて提供できます。でインスタンスタイプを使用する場合に必要ですGPU。

  • neuron-device-plugin – これは、Amazon EKSクラスター内のコンテナで使用するために Inferentia チップを自動的に公開 AWS できる Kubernetes デバイスプラグインです。これにより、Kubernetes はクラスターノード上の AWS Inferentia チップにアクセスして使用できます。Neuron インスタンスタイプを使用する場合に必要です。

  • aws-efa-k8s-device-plugin – これは、Amazon EKSクラスターで AWS Elastic Fabric Adapter (EFA) を使用できるようにする Kubernetes デバイスプラグインです。EFA は、クラスター内のインスタンス間で低レイテンシーで高スループットの通信を提供するネットワークデバイスです。EFA サポートされているインスタンスタイプを使用する場合に必要です。

提供された Helm チャートを使用したインストール手順の詳細については、 README リポジトリの ファイル SageMaker HyperPod CLIを参照してください。