Configuración de la gobernanza de tareas - Amazon SageMaker AI

Configuración de la gobernanza de tareas

En esta sección se explica cómo configurar el complemento EKS de gobernanza de tareas de Amazon SageMaker HyperPod. Esto incluye la concesión de permisos que le permiten establecer las prioridades de las tareas, la asignación de computación a los equipos, la forma en que se comparte la computación inactiva y la preferencia de tareas para los equipos.

Si tiene problemas con la configuración, consulte Solución de problemas para ver las soluciones de problemas conocidos.

Configuración de Kueue

El complemento EKS de gobernanza de tareas de HyperPod instala Kueue en los clústeres de HyperPod EKS. Kueue es un sistema nativo de Kubernetes que administra las cuotas y la forma en que las consumen los trabajos.

Versión del complemento de gobernanza de tareas de HyperPod EKS Versión de Kueue que se instala como parte del complemento

v1.1.3

v0.12.0

nota

Kueue v.012.0 y las versiones posteriores no incluyen kueue-rbac-proxy en la instalación. Es posible que las versiones anteriores tengan instalado kueue-rbac-proxy. Por ejemplo, si utiliza Kueue v0.8.1, es posible que tenga kueue-rbac-proxy v0.18.1.

La gobernanza de tareas de HyperPod utiliza Kueue para gestionar las colas de tareas, la programación y las cuotas nativas de Kubernetes, y se instala con el complemento EKS de gobernanza de tareas de HyperPod. Cuando se instala, HyperPod crea y modifica los recursos de Kubernetes administrados por SageMaker AI, como KueueManagerConfig, ClusterQueues, LocalQueues, WorkloadPriorityClasses, ResourceFlavors y ValidatingAdmissionPolicies. Si bien los administradores de Kubernetes tienen la flexibilidad de modificar el estado de estos recursos, es posible que el servicio actualice y anule cualquier cambio realizado en un recurso administrado por SageMaker AI.

La siguiente información describe los ajustes de configuración que utiliza el complemento de gobernanza de tareas de HyperPod para configurar 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: []

Para obtener más información sobre cada configuración, consulte Configuración en la documentación de Kueue.

Requisitos previos de gobernanza de tareas de HyperPod

Configuración de la gobernanza de tareas de HyperPod

A continuación, se proporciona información sobre cómo configurar la gobernanza de tareas de HyperPod.

Setup using the SageMaker AI console

A continuación, se proporciona información sobre cómo configurar la gobernanza de tareas de HyperPod desde la consola de SageMaker HyperPod.

Ya dispone de todos los siguientes permisos asociados si ya ha concedido permisos para administrar el complemento de observabilidad de EKS de Amazon CloudWatch y ver el panel del clúster de HyperPod a través de la consola de SageMaker en Configuración del complemento de observabilidad de EKS de Amazon CloudWatch de HyperPod. Si no lo ha configurado, utilice la política de ejemplo que aparece a continuación para conceder permisos para administrar el complemento de gobernanza de tareas de HyperPod y ver el panel del clúster de HyperPod a través de la consola de 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": "*" } ] }

Vaya a la pestaña Panel de la consola de SageMaker HyperPod para instalar el complemento de gobernanza de tareas de Amazon SageMaker HyperPod.

Setup using the Amazon EKS AWS CLI

Utilice el comando de la AWS CLI create-addon de EKS de ejemplo para configurar la API de Amazon EKS de gobernanza de tareas de HyperPod y la interfaz de usuario de la consola con la AWS CLI:

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

Puede ver la pestaña Políticas en la consola de HyperPod SageMaker AI si la instalación se ha realizado correctamente. También puede utilizar el siguiente comando de la AWS CLI describe-addon de EKS de ejemplo para comprobar el estado.

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