タスクガバナンスの設定 - Amazon SageMaker AI

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

タスクガバナンスの設定

このセクションでは、Amazon SageMaker HyperPod タスクガバナンス EKS アドオンの設定方法について説明します。これには、タスクの優先順位付け、チームへのコンピューティング割り当て、アイドル状態のコンピューティングの共有方法、チームへのタスクのプリエンプションを設定するためのアクセスの付与も含まれます。

設定で問題が発生した場合は、「トラブルシューティング」で既知の解決策を参照してください。

キューの設定

HyperPod タスクガバナンス EKS アドオンは、HyperPod EKS クラスターに Kueue をインストールします。Kueue は、クォータとジョブがクォータをどのように消費するかを管理する kubernetes ネイティブのシステムです。

EKS HyperPod タスクガバナンスのアドオンバージョン アドオンの一部としてインストールされる Kueue のバージョン

v1.1.3

v0.12.0

注記

Kueue v.012.0 以降には、インストールの一部として kueue-rbac-proxy は含まれません。以前のバージョンでは、kueue-rbac-proxy がインストールされている場合があります。例えば、Kueue v0.8.1 を使用している場合、kueue-rbac-proxy v0.18.1 を使用できます。

HyperPod タスクガバナンスは、Kubernetes ネイティブのジョブキューイング、スケジューリング、クォータ管理に Kueue を活用しており、HyperPod タスクガバナンス EKS アドオンとともにインストールされます。インストールすると、HyperPod は KueueManagerConfigClusterQueuesLocalQueuesWorkloadPriorityClassesResourceFlavorsValidatingAdmissionPolicies などの SageMaker AI マネージド Kubernetes リソースを作成して変更します。Kubernetes 管理者はこれらのリソースの状態を柔軟に変更できますが、SageMaker AI マネージドリソースに加えられた変更は、サービスによって更新されたり上書きされたりする可能性があります。

HyperPod タスクガバナンスアドオンが Kueue を設定するために使用する設定の概要は、以下のとおりです。

apiVersion: config.kueue.x-k8s.io/v1beta1 kind: Configuration health: healthProbeBindAddress: :8081 metrics: bindAddress: :8443 enableClusterQueueResources: true webhook: port: 9443 manageJobsWithoutQueueName: false leaderElection: leaderElect: true resourceName: c1f6bfd2.kueue.x-k8s.io controller: groupKindConcurrency: Job.batch: 5 Pod: 5 Workload.kueue.x-k8s.io: 5 LocalQueue.kueue.x-k8s.io: 1 ClusterQueue.kueue.x-k8s.io: 1 ResourceFlavor.kueue.x-k8s.io: 1 clientConnection: qps: 50 burst: 100 integrations: frameworks: - "batch/job" - "kubeflow.org/mpijob" - "ray.io/rayjob" - "ray.io/raycluster" - "jobset.x-k8s.io/jobset" - "kubeflow.org/mxjob" - "kubeflow.org/paddlejob" - "kubeflow.org/pytorchjob" - "kubeflow.org/tfjob" - "kubeflow.org/xgboostjob" - "pod" - "deployment" - "statefulset" - "leaderworkerset.x-k8s.io/leaderworkerset" podOptions: namespaceSelector: matchExpressions: - key: kubernetes.io/metadata.name operator: NotIn values: [ kube-system, kueue-system ] fairSharing: enable: true preemptionStrategies: [LessThanOrEqualToFinalShare, LessThanInitialShare] resources: excludeResourcePrefixes: []

各設定エントリの詳細については、Kueue ドキュメントの「設定」を参照してください。

HyperPod タスクガバナンスの前提条件

HyperPod タスクガバナンスの設定

次に、HyperPod タスクガバナンスの設定方法について説明します。

Setup using the SageMaker AI console

次に、SageMaker HyperPod コンソールを使用した HyperPod タスクガバナンスの設定方法について説明します。

HyperPod Amazon CloudWatch オブザーバビリティ EKS アドオンの設定」で、Amazon CloudWatch Observability EKS を管理し、SageMaker AI コンソールから HyperPod クラスターダッシュボードを表示するアクセス許可を既に付与している場合は、以下のすべてのアクセス許可が既に付与されています。まだ設定していない場合は、以下のサンプルポリシーを使用して、HyperPod タスクガバナンスアドオンを管理し、SageMaker AI コンソールから HyperPod クラスターダッシュボードを表示するアクセス許可を付与します。

JSON
JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "eks:ListAddons", "eks:CreateAddon", "eks:UpdateAddon", "eks:DescribeAddon", "eks:DescribeAddonVersions", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "eks:DescribeCluster", "eks:AccessKubernetesApi" ], "Resource": "*" } ] }

SageMaker HyperPod コンソールの [ダッシュボード] タブに移動して、Amazon SageMaker HyperPod タスクガバナンスアドオンをインストールします。

Setup using the Amazon EKSAWS CLI

サンプル create-addon EKS AWS CLIコマンドを使用して、以下を使用して HyperPod タスクガバナンス Amazon EKS API とコンソール UI を設定しますAWS CLI。

aws eks create-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance

インストールが正常に完了すると、HyperPod SageMaker AI コンソールで [ポリシー] タブを表示できます。次の describe-addon EKS AWS CLIコマンドの例を使用してステータスを確認することもできます。

aws eks describe-addon --region region --cluster-name cluster-name --addon-name amazon-sagemaker-hyperpod-taskgovernance