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.
Gerenciar dispositivos de hardware no Amazon EKS
O Amazon EKS oferece suporte a dois mecanismos do Kubernetes para gerenciar dispositivos de hardware especializados em clusters do EKS: Alocação dinâmica de recursos (DRA) e plug-ins de dispositivos. Ambos os mecanismos permitem que as workloads acessem aceleradores de hardware, como GPUs NVIDIA e chips AWS Trainium, e dispositivos de rede de alta performance, como o Elastic Fabric Adapter (EFA). Recomenda-se usar drivers DRA para novas implantações com versões 1.34 e posteriores do Kubernetes, pois o DRA oferece uma seleção mais ampla de dispositivos, agendamento com reconhecimento de topologia e recursos de compartilhamento de dispositivos que não são possíveis com plug-ins de dispositivos.
Consulte a documentação do Kubernetes sobre Alocação dinâmica de recursos
Alocação dinâmica de recursos x plug-ins de dispositivos
Os plug-ins de dispositivos do Kubernetes têm sido o principal mecanismo para integrar hardware especializado às workloads do Kubernetes. Os plug-ins de dispositivos anunciam os dispositivos como recursos estendidos (por exemplo, nvidia.com/gpu ou aws.amazon.com/neuroncore) que você solicita nas solicitações e limites de recursos do contêiner. Embora os plug-ins de dispositivos sejam amplamente compatíveis e utilizados, eles apresentam algumas limitações:
-
Os dispositivos são solicitados como contagens inteiras opacas, sem filtragem baseada em atributos.
-
Não há suporte para o compartilhamento de dispositivos entre contêineres ou Pods.
-
Não há alocação expressiva que leve em conta a topologia entre os diferentes tipos de dispositivos.
-
Extensões personalizadas do agendador são frequentemente necessárias para uma colocação inteligente.
A Alocação dinâmica de recursos (DRA) é um recurso do Kubernetes disponibilizado para o público em geral na versão 1.34 do Kubernetes, que resolve essas limitações. Com o DRA, os drivers de dispositivos publicam atributos detalhados dos dispositivos para o agendador do Kubernetes por meio de objetos ResourceSlice. Você solicita dispositivos usando objetos ResourceClaim e ResourceClaimTemplate que fazem referência a categorias DeviceClass.
O DRA permite:
-
Seleção de dispositivos com base em atributos utilizando expressões Common Expression Language (CEL)
. -
Alocação sensível à topologia que garante que os dispositivos fiquem localizados no mesmo switch PCIe ou domínio NUMA.
-
Compartilhamento de dispositivos entre vários contêineres ou Pods por meio de referências
ResourceClaimcompartilhadas. -
Programação baseada em restrições que coordena diferentes tipos de dispositivos
Drivers DRA para o Amazon EKS
Os seguintes drivers DRA são comumente usados para gerenciar dispositivos de hardware especializados em clusters do Amazon EKS.
- Driver Neuron DRA
-
O driver Neuron DRA gerencia a alocação de dispositivos AWS Trainium e AWS Inferentia2 por meio do agendamento com reconhecimento de topologia, alocação de subconjuntos de dispositivos conectados e configuração do NeuronCore lógico (LNC), sem a necessidade de extensões personalizadas do agendador.
- Driver de DRA da NVIDIA
-
O driver NVIDIA DRA para GPUs
permite a alocação flexível e a reconfiguração dinâmica das GPUs NVIDIA, incluindo suporte a recursos ComputeDomainpara workloads Multi-Node NVLink (MNNVL) em instâncias Grace-Blackwell do EC2. Para obter mais informações sobre como usarComputeDomainscom instâncias Grace-Blackwell do EC2, consulte Uso do P6e-GB200 UltraServers com o Amazon EKS.
Plug-ins de dispositivos para o Amazon EKS
Os seguintes plug-ins de dispositivo são comumente usados para gerenciar dispositivos de hardware especializados em clusters do Amazon EKS.
- Plug-in de dispositivo do EFA
-
O plug-in do dispositivo EFA detecta todos os dispositivos EFA disponíveis em cada nó e os anuncia como recursos estendidos
vpc.amazonaws.com/efa. - Plug-in do dispositivo Neuron
-
O plug-in do dispositivo Neuron
expõe o hardware Neuron como recursos estendidos aws.amazon.com/neuroncoreeaws.amazon.com/neuron. Ele detecta os dispositivos Neuron disponíveis em cada nó, os anuncia como recursos alocáveis e gerencia seu ciclo de vida. - Plug-in de dispositivo NVIDIA
-
O plug-in de dispositivo da NVIDIA
apresenta as GPUs da NVIDIA como recursos estendidos nvidia.com/gpue monitora a integridade das GPUs.
Considerações
Antes de usar drivers DRA no Amazon EKS, analise as seguintes considerações:
-
O DRA está disponível no Amazon EKS com o Kubernetes versão 1.33 e superior, mas é recomendado para as versões 1.34 e posteriores do Kubernetes devido a um problema no Kubernetes original
. O ambiente de gerenciamento e os nós do seu cluster devem estar executando uma versão do Kubernetes compatível com o DRA. -
Atualmente, o DRA não é compatível com o Karpenter nem com os recursos de computação provisionados pelo Modo Automático do EKS. Você deve usar grupos de nós gerenciados pelo EKS ou nós autogerenciados com drivers DRA.
-
Os drivers DRA e os plug-ins de dispositivo para o mesmo tipo de dispositivo não devem ser executados simultaneamente no mesmo nó. Desinstale o plug-in do dispositivo antes de instalar o driver DRA correspondente ou realize a implantação em nós separados. Consulte o KEP-5004
do Kubernetes para obter atualizações sobre a compatibilidade do driver DRA e do plug-in de dispositivo. -
O DRA utiliza diferentes recursos da API do Kubernetes (
ResourceClaim,ResourceClaimTemplate,DeviceClass) em vez de plug-ins de dispositivos (resource.limits,resource.requests). A migração de plug-ins de dispositivo para o DRA é necessária para a atualização das especificações da sua workload. -
Os plug-ins de dispositivos continuam sendo totalmente compatíveis com todas as versões do Kubernetes. Se o seu cluster estiver executando uma versão do Kubernetes anterior à 1.34, se você usar o Karpenter ou o EKS Auto Mode, ou se usar o Bottlerocket, continue usando os plug-ins de dispositivo.