View a markdown version of this page

Configurar cluster do Amazon EKS para workloads de IA/ML - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Configurar cluster do Amazon EKS para workloads de IA/ML

dica

Registre-se para os próximos workshops do Amazon EKS AI/ML.

Esta seção orienta você na criação de um cluster do Amazon EKS pronto para executar workloads de inferência, incluindo a computação com GPUs, pilha de monitoramento e armazenamento do Amazon S3 para pesos de modelo, junto com as permissões necessárias do AWS IAM.

Visão geral da arquitetura

A configuração cria a seguinte infraestrutura:

  • Cluster do EKS com nós habilitados para GPU: um NodePool gerenciado pelo Karpenter que provisiona dinamicamente instâncias de GPU da família G usando capacidade spot com fallback de sob demanda.

  • Pilha de monitoramento: o Prometheus coleta métricas de cluster, nó e GPU e as grava remotamente no Amazon Managed Service for Prometheus (AMP). O Grafana fornece painéis para visualização. O NVIDIA DCGM Exporter adiciona métricas específicas da GPU, incluindo utilização, memória, temperatura, consumo de energia, largura de banda NVLink e atividade do tensor.

  • Bucket do Amazon S3 para pesos do modelo: um bucket do Amazon S3 para armazenar os pesos do modelo, com uma associação do Identidade de Pods do EKS que concede acesso de leitura/gravação aos pods de workload.

Opções de computação do cluster

O guia fornece dois caminhos para configurar o cluster. Escolha um e siga-o de forma consistente em todas as etapas.

  • Modo Automático do EKS: um único comando provisiona um cluster do EKS com o Modo Automático do EKS habilitado. Todos os componentes necessários são fornecidos prontos para uso, incluindo ajuste de escala automático baseado no Karpenter, agente de monitoramento de nós do EKS, extração rápida de contêineres com SOCI e o plug-in de dispositivo NVIDIA.

  • Karpenter autogerenciado: você instala e configura cada componente explicitamente, o Karpenter via eksctl, o reparo automático de nós por meio do controle de atributo, o agente de monitoramento de nós do EKS como um complemento do EKS e o plug-in de dispositivo NVIDIA via Helm. Você também cria uma EC2NodeClass personalizada que usa as AMIs NVIDIA do AL2023 otimizadas para EKS e configura o SOCI.

O que será configurado

Etapa Descrição

Criação de cluster

Provisione o ambiente de gerenciamento do EKS e os componentes no nível do cluster necessários para as workloads da GPU.

Criar nós de GPU provisionados dinamicamente

Defina um NodePool de GPU dinâmico que provisiona instâncias de GPU da família G à medida que as workloads são agendadas.

Teste com um exemplo de pod

Valide a configuração de ponta a ponta executando um pod nvidia-smi que aciona o Karpenter para provisionar um nó habilitado para GPU.

Adicionar capacidade reservada (opcional)

Conecte uma reserva de capacidade sob demanda (ODCR) à NodeClass para definir a prioridade para as reservas com fallback de spot/sob demanda.

Instalar monitoramento

Implante o kube-prometheus-stack (Prometheus + Grafana) com gravação remota no AMP, além do NVIDIA DCGM Exporter para métricas de GPU.

Crie um bucket de pesos de modelo

Crie um bucket do S3 e configure o Identidade de Pods do EKS para que os pods de workload possam ler e gravar pesos de modelo.

Conceitos básicos

Para obter instruções passo a passo usando a AWS CLI, consulte Configurar o cluster do Amazon EKS para workloads de IA/ML usando CLIs.