任務治理設定 - Amazon SageMaker AI

任務治理設定

本節包括如何設定 Amazon SageMaker HyperPod 任務治理 EKS 附加元件的相關資訊。這包括授予許可,允許您設定任務優先順序、團隊的運算配置、如何共用閒置運算,以及團隊的任務先佔。

如果您在設定時遇到問題,請參閱 疑難排解 以取得已知的故障診斷解決方案。

Kueue 設定

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 任務治理會利用 Kueue 進行 Kubernetes 原生任務佇列、排程和配額管理,並與 HyperPod 任務治理 EKS 附加元件一起安裝。安裝時,HyperPod 會建立和修改 SageMaker AI 管理的 Kubernetes 資源,例如 KueueManagerConfigClusterQueuesLocalQueuesWorkloadPriorityClassesResourceFlavorsValidatingAdmissionPolicies。雖然 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 任務治理的相關資訊。

如果您已授予管理 Amazon CloudWatch 可觀測性 EKS 的許可,並透過 HyperPod Amazon CloudWatch 可觀測性 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 EKS AWS CLI

使用範例 create-addon EKS AWS CLI 命令,利用 AWS CLI 設定 HyperPod 任務治理 Amazon EKS API 和主控台 UI:

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