任務控管設定 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

任務控管設定

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

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

Kueue 設定

HyperPod 任務控管 EKS 附加元件會為您的 HyperPod EKS 叢集安裝 Kueue。Kueue 是一種 kubernetes 原生系統,可管理配額以及任務如何使用配額。

EKS HyperPod 任務控管附加元件版本 作為附加元件的一部分安裝的 Kueue 版本 作為附加元件的一部分安裝的 kube-rbac-proxy 版本

v1.0.0

0.8.1 版

0.18.1 版

HyperPod 任務控管利用 Kueue 進行 Kubernetes 原生任務佇列、排程和配額管理,並與 HyperPod 任務控管 EKS 附加元件一起安裝。安裝時,HyperPod 會建立和修改 SageMaker AI 管理的 Kubernetes 資源,例如 KueueManagerConfig、、ClusterQueuesLocalQueuesWorkloadPriorityClassesResourceFlavorsValidatingAdmissionPolicies。雖然 Kubernetes 管理員可以靈活地修改這些資源的狀態,但對 SageMaker AI 受管資源所做的任何變更都可能會被服務更新和覆寫。

以下資訊概述 HyperPod 任務控管附加元件用於設定 Kueue 的組態設定。

apiVersion: config.kueue.x-k8s.io/v1beta1 kind: Configuration health: healthProbeBindAddress: :8081 metrics: bindAddress: :8080 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" 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 和透過 中的 SageMaker AI 主控台檢視 HyperPod 叢集儀表板的許可,則您已連接下列所有許可HyperPod Amazon CloudWatch 可觀測性 EKS 附加元件設定。如果您尚未設定,請使用以下範例政策授予管理 HyperPod 任務控管附加元件的許可,並透過 SageMaker AI 主控台檢視 HyperPod 叢集儀表板。

{ "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 命令,使用 設定 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