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.
Tópicos
Configurações do Kueue
O complemento de governança de tarefas do EKS do HyperPod instala o Kueue
| 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
Pré-requisitos da governança de tarefas do HyperPod
-
Você deve ter a política de permissão mínima para administradores de cluster do HyperPod, em Usuários do IAM para administração de cluster. Isso inclui permissões para executar as APIs principais do SageMaker HyperPod, gerenciar clusters do SageMaker HyperPod em sua Conta da AWS e executar as tarefas em Gerenciamento de clusters do SageMaker HyperPod orquestrados pelo Amazon EKS.
-
Você precisará ter uma versão do Kubernetes >= 1.30. Para obter instruções, consulte Atualizar um cluster existente para a nova versão do Kubernetes.
-
Se você já tem o Kueue instalado em seus clusters, desinstale-o antes de instalar o complemento do EKS.
-
Antes de instalar o complemento de governança de tarefas do HyperPod, é necessário ter um nó do HyperPod no cluster do EKS.
Configuração da governança de tarefas do HyperPod
Veja a seguir informações sobre como configurar a governança de tarefas do HyperPod.
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
aws eks describe-addon --regionregion--cluster-namecluster-name--addon-name amazon-sagemaker-hyperpod-taskgovernance