Configuração da governança de tarefas - Amazon SageMaker AI

Configuração da governança de tarefas

Esta seção apresenta informações sobre como configurar o complemento de governança de tarefas do EKS do Amazon SageMaker HyperPod. Isso inclui a concessão de permissões que possibilitam definir a priorização de tarefas, a alocação de computação a equipes, como a computação ociosa é compartilhada e a preempção de tarefas para equipes.

Se estiver encontrando problemas na configuração, consulte Solução de problemas para ver soluções de problemas conhecidas.

Configurações do Kueue

O complemento de governança de tarefas do EKS do HyperPod instala o Kueue para clusters do EKS no HyperPod. O Kueue é um sistema nativo do Kubernetes que gerencia cotas e de que forma os trabalhos as consomem.

Versão do complemento de governança de tarefas do EKS do HyperPod Versão do Kueue que é instalada como parte do complemento

v1.1.3

v0.12.0

nota

O Kueue v.012.0 e posterior não incluem o kueue-rbac-proxy como parte da instalação. É possível que as versões anteriores tenham o kueue-rbac-proxy instalado. Por exemplo, se você estiver usando o Kueue v0.8.1, talvez tenha o kueue-rbac-proxy v0.18.1.

A governança de tarefas do HyperPod utiliza o Kueue para enfileiramento, agendamento e gerenciamento de cotas de trabalhos nativos do Kubernetes e é instalada com o complemento de governança de tarefas do EKS do HyperPod. Quando instalado, o HyperPod cria e modifica os recursos Kubernetes gerenciados pelo SageMaker AI, como KueueManagerConfig, ClusterQueues, LocalQueues, WorkloadPriorityClasses, ResourceFlavors e ValidatingAdmissionPolicies. Embora os administradores do Kubernetes tenham flexibilidade para modificar o estado desses recursos, é possível que qualquer alteração feita em um recurso gerenciado pelo SageMaker AI seja atualizada e substituída pelo serviço.

As informações a seguir descrevem as configurações utilizadas pelo complemento de governança de tarefas do HyperPod para configurar o 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 ter mais informações sobre cada entrada da configuração, consulte Configuration na documentação do Kueue.

Pré-requisitos da governança de tarefas do HyperPod

Configuração da governança de tarefas do HyperPod

Veja a seguir informações sobre como configurar a governança de tarefas do HyperPod.

Setup using the SageMaker AI console

As informações a seguir mostram como configurar a governança de tarefas do HyperPod usando o console do SageMaker HyperPod.

Você já tem todas as permissões a seguir anexadas se já tiver concedido permissões para gerenciar a observabilidade do EKS do Amazon CloudWatch e visualizar o painel de clusters do HyperPod por meio do console do SageMaker AI em Configuração do complemento de observabilidade do EKS do Amazon CloudWatch no HyperPod. Se você ainda não fez essa configuração, use o exemplo de política abaixo para conceder permissões para gerenciar o complemento de governança de tarefas do HyperPod e visualizar o painel de clusters do HyperPod por meio do console do 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": "*" } ] }

Navegue até a guia Painel no console do SageMaker HyperPod para instalar o complemento de governança de tarefas do Amazon SageMaker HyperPod.

Setup using the Amazon EKS AWS CLI

Use o comando de exemplo create-addon da AWS CLI para o EKS para configurar a API do Amazon EKS de governança de tarefas do HyperPod e a interface de usuário do console usando a AWS CLI:

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

Você verá a guia Políticas no console do HyperPod SageMaker AI se a instalação tiver êxito. Também é possível usar o exemplo a seguir do comando describe-addon da AWS CLI para o EKS para verificar o status.

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