Configuration de la gouvernance des tâches - Amazon SageMaker AI

Configuration de la gouvernance des tâches

Cette section inclut des informations sur la façon de configurer le module complémentaire EKS de gouvernance des tâches Amazon SageMaker HyperPod. Cela inclut l’octroi d’autorisations qui vous permettent de définir la priorité des tâches, l’allocation de calcul pour les équipes, la manière dont les ressources de calcul inactives sont partagées et la préemption des tâches pour les équipes.

Si vous rencontrez des problèmes lors de la configuration, consultez Dépannage pour découvrir les solutions de dépannage connues.

Paramètres Kueue

Le module complémentaire EKS de gouvernance des tâches HyperPod installe Kueue pour vos clusters EKS HyperPod. Kueue est un système natif de Kubernetes qui gère les quotas et la façon dont les tâches les consomment.

Version complémentaire de gouvernance des tâches EKS HyperPod Version de Kueue qui est installée dans le cadre de l’extension

v1.1.3

v0.12.0

Note

Kueue v.012.0 et versions ultérieures n’incluent pas kueue-rbac-proxy dans le cadre de l’installation. Il est possible que kueue-rbac-proxy soit installé dans les versions précédentes. Par exemple, si vous utilisez Kueue v0.8.1, vous pourriez avoir kueue-rbac-proxy v0.18.1.

La gouvernance des tâches HyperPod exploite Kueue pour la mise en file d’attente des tâches, la planification et la gestion des quotas natifs de Kubernetes, et elle est installée avec le module complémentaire EKS de gouvernance des tâches HyperPod. Une fois installé, HyperPod crée et modifie les ressources Kubernetes gérées par SageMaker AI, telles que KueueManagerConfig, ClusterQueues, LocalQueues, WorkloadPriorityClasses, ResourceFlavors et ValidatingAdmissionPolicies. Bien que les administrateurs Kubernetes aient la possibilité de modifier l’état de ces ressources, il est possible que toutes les modifications apportées à une ressource gérée par SageMaker AI soient mises à jour et remplacées par le service.

Les informations suivantes décrivent les paramètres de configuration utilisés par le module complémentaire de gouvernance des tâches HyperPod pour configurer 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: []

Pour plus d’informations sur chaque entrée de configuration, consultez Configuration dans la documentation de Kueue.

Conditions préalables requises de gouvernance des tâches HyperPod

Configuration de la gouvernance des tâches HyperPod

Vous trouverez ci-dessous des informations sur la configuration de la gouvernance des tâches HyperPod.

Setup using the SageMaker AI console

Vous trouverez ci-dessous des informations sur la configuration de la gouvernance des tâches HyperPod à l’aide de la console SageMaker HyperPod.

Vous disposez déjà de toutes les autorisations suivantes si vous avez déjà accordé des autorisations pour gérer le module EKS d’observabilité Amazon CloudWatch et consulter le tableau de bord du cluster HyperPod via la console SageMaker AI dans la Configuration du module complémentaire EKS d’observabilité Amazon CloudWatch d’HyperPod. Si vous ne l’avez pas configuré, utilisez l’exemple de politique ci-dessous pour accorder des autorisations pour gérer le module complémentaire de gouvernance des tâches HyperPod et consulter le tableau de bord du cluster HyperPod via la console SageMaker AI.

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": "*" } ] }

Accédez à l’onglet Tableau de bord dans la console SageMaker HyperPod pour installer le module complémentaire de gouvernance des tâches Amazon SageMaker HyperPod.

Setup using the Amazon EKS AWS CLI

Utilisez l’exemple de commande AWS CLI EKS create-addon pour configurer l’API Amazon EKS de gouvernance des tâches HyperPod et l’interface utilisateur de la console à l’aide de l’AWS CLI :

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

Vous pouvez consulter l’onglet Politiques de la console SageMaker AI d’HyperPod si l’installation a réussi. Vous pouvez également utiliser l’exemple de commande AWS CLI EKS describe-addon suivant pour vérifier le statut.

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