Criar nós com AMIs do Amazon Linux aceleradas e otimizadas pelo EKS
A AMI do Amazon Linux otimizada e acelerada para o Amazon EKS é desenvolvida sobre a AMI do Amazon Linux otimizada para o Amazon EKS padrão. Para obter esses detalhes sobre essas AMIs, consulte AMIs do Amazon Linux aceleradas e otimizadas para Amazon EKS. O texto a seguir descreve como habilitar workloads baseadas no AWS Neuron.
Para habilitar workloads baseadas no AWS Neuron (acelerador de ML)
Para obter detalhes sobre workloads de treinamento e inferência usando o Neuron no Amazon EKS, consulte as seguintes referências:
-
Contêineres - Kubernetes - Primeiros passos
na documentação AWS Neuron -
Treinamento
em amostras do EKS do AWS Neuron no GitHub -
Implante workloads de inferência de ML com o AWSInferentia no Amazon EKS
O procedimento a seguir descreve como executar uma workload em uma instância baseada em GPU com a AMI acelerada otimizada para o Amazon EKS.
-
Depois que os nós de GPU entrarem no cluster, você deverá aplicar o plug-in de dispositivo NVIDIA para Kubernetes
como DaemonSet no cluster. Substitua vX.X.X
pela versão desejada do NVIDIA/k8s-device-pluginantes de executar o seguinte comando. kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/vX.X.X/deployments/static/nvidia-device-plugin.yml
-
Você pode verificar se os nós têm GPUs alocáveis com o seguinte comando:
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"
-
Crie um arquivo denominado
nvidia-smi.yaml
com o seguinte conteúdo: Substituatag
pela etiqueta desejada para nvidia/cuda. Esse manifesto inicia um contêiner NVIDIA CUDA que executa nvidia-smi
em um nó.apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: nvidia-smi image: nvidia/cuda:tag args: - "nvidia-smi" resources: limits: nvidia.com/gpu: 1
-
Aplique o manifesto com o comando a seguir.
kubectl apply -f nvidia-smi.yaml
-
Após a execução do Pod ser concluída, visualize os logs com o comando a seguir.
kubectl logs nvidia-smi
Veja um exemplo de saída abaixo.
Mon Aug 6 20:23:31 20XX +-----------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XX Driver Version: XXX.XX | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1C.0 Off | 0 | | N/A 46C P0 47W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+