Contribuisci a migliorare questa pagina
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installa il plug-in del dispositivo Kubernetes per GPUs
I plugin per dispositivi
Considerazioni
-
Quando si utilizza lo AL2 023 ottimizzato per EKS con NVIDIA, è necessario installare il plug-in per dispositivi NVIDIA AMIs Kubernetes. GPUs
Puoi installare e gestire il plug-in del dispositivo NVIDIA Kubernetes con Helm, gli strumenti Kubernetes che preferisci o l'operatore GPU NVIDIA. -
Quando si utilizza il Bottlerocket ottimizzato per EKS AMIs con NVIDIA GPUs, non è necessario installare il plug-in per dispositivi NVIDIA Kubernetes, poiché è già incluso nel Bottlerocket ottimizzato per EKS. AMIs Ciò include l'utilizzo di istanze GPU con EKS Auto Mode.
-
Quando si utilizza lo AL2 023 o Bottlerocket ottimizzato per EKS AMIs con AWS Inferentia o Trainium GPUs, è necessario installare il plug-in del dispositivo Neuron Kubernetes e, facoltativamente, installare l'estensione di pianificazione Neuron Kubernetes.
Per ulteriori informazioni, consulta la documentazione di Neuron per l'esecuzione su EKS.
Installa il plug-in per dispositivi NVIDIA Kubernetes
La procedura seguente descrive come installare il plug-in per dispositivi NVIDIA Kubernetes ed eseguire un test di esempio sulle istanze GPU NVIDIA.
Prerequisiti
-
Cluster EKS creato
-
Nodi GPU NVIDIA in esecuzione nel cluster utilizzando AMI NVIDIA 023 ottimizzata per EKS AL2
-
Helm è installato nell’ambiente a riga di comando, consulta Setup Helm instructions.
Procedura
-
Aggiungi l'archivio cartografico Helm.
nvdphelm repo add nvdp https://nvidia.github.io/k8s-device-plugin -
Aggiorna il repository locale per assicurarti di avere i grafici più recenti.
helm repo update -
Scarica l'ultima versione del plug-in per dispositivi NVIDIA Kubernetes
helm search repo nvdp --develNAME CHART VERSION APP VERSION DESCRIPTION nvdp/gpu-feature-discovery 0.17.4 0.17.4 ... nvdp/nvidia-device-plugin 0.17.4 0.17.4 ... -
Installa il plug-in per dispositivi NVIDIA Kubernetes sul tuo cluster, sostituendolo
0.17.4con la versione più recente del comando precedente.helm install nvdp nvdp/nvidia-device-plugin \ --namespace nvidia \ --create-namespace \ --version0.17.4\ --set gfd.enabled=true -
Verifica che il plug-in del dispositivo NVIDIA Kubernetes sia in esecuzione nel cluster. L'output seguente mostra l'output con due nodi nel cluster.
kubectl get ds -n nvidia nvdp-nvidia-device-pluginNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE nvdp-nvidia-device-plugin 2 2 2 2 2 <none> 11m -
Verifica che i tuoi nodi siano allocabili GPUs con il seguente comando.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,GPU:.status.allocatable.nvidia\.com/gpu"NAME GPU ip-192-168-11-225.us-west-2.compute.internal 1 ip-192-168-24-96.us-west-2.compute.internal 1 -
Crea un file denominato
nvidia-smi.yamlcon i seguenti contenuti. Questo manifesto avvia un'immagine contenitore AL2 023 minima che viene eseguitanvidia-smisu un nodo.apiVersion: v1 kind: Pod metadata: name: nvidia-smi spec: restartPolicy: OnFailure containers: - name: gpu-demo image: public.ecr.aws/amazonlinux/amazonlinux:2023-minimal command: ['/bin/sh', '-c'] args: ['nvidia-smi && tail -f /dev/null'] resources: limits: nvidia.com/gpu: 1 tolerations: - key: 'nvidia.com/gpu' operator: 'Equal' value: 'true' effect: 'NoSchedule' -
Applicare il file manifesto con il comando seguente.
kubectl apply -f nvidia-smi.yaml -
Quando il pod ha terminato l’esecuzione, visualizzane i registri tramite il comando seguente.
kubectl logs nvidia-smiDi seguito viene riportato un output di esempio.
+-----------------------------------------------------------------------------------------+ | NVIDIA-SMI XXX.XXX.XX Driver Version: XXX.XXX.XX CUDA Version: XX.X | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 NVIDIA L4 On | 00000000:31:00.0 Off | 0 | | N/A 27C P8 11W / 72W | 0MiB / 23034MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
Installa il plug-in del dispositivo Neuron Kubernetes
La procedura seguente descrive come installare il plug-in del dispositivo Neuron Kubernetes ed eseguire un test di esempio su un'istanza Inferentia.
Prerequisiti
-
Cluster EKS creato
-
Nodi GPU Neuron in esecuzione nel cluster utilizzando l'AMI AL2 Neuron 023 o l'AMI Bottlerocket ottimizzati per EKS
-
Helm è installato nell’ambiente a riga di comando, consulta Setup Helm instructions.
Procedura
-
Installa il plug-in del dispositivo Neuron Kubernetes sul tuo cluster.
helm upgrade --install neuron-helm-chart oci://public.ecr.aws/neuron/neuron-helm-chart \ --set "npd.enabled=false" -
Verifica che il plug-in del dispositivo Neuron Kubernetes sia in esecuzione nel cluster. L'output seguente mostra l'output con un singolo nodo Neuron nel cluster.
kubectl get ds -n kube-system neuron-device-pluginNAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE neuron-device-plugin 1 1 1 1 1 <none> 72s -
Verifica che i tuoi nodi siano allocabili NueronCores con il seguente comando.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,NeuronCore:.status.allocatable.aws\.amazon\.com/neuroncore"NAME NeuronCore ip-192-168-47-173.us-west-2.compute.internal 2 -
Verifica che i tuoi nodi siano allocabili NueronDevices con il seguente comando.
kubectl get nodes "-o=custom-columns=NAME:.metadata.name,NeuronDevice:.status.allocatable.aws\.amazon\.com/neuron"NAME NeuronDevice ip-192-168-47-173.us-west-2.compute.internal 1 -
Crea un file denominato
neuron-ls.yamlcon i seguenti contenuti. Questo manifest avvia un contenitore Neuron Monitor sucui è installato lo strumento. neuron-lsapiVersion: v1 kind: Pod metadata: name: neuron-ls spec: restartPolicy: Never containers: - name: neuron-container image: public.ecr.aws/g4h4h0b5/neuron-monitor:1.0.0 command: ["/bin/sh"] args: ["-c", "neuron-ls"] resources: limits: aws.amazon.com/neuron: 1 tolerations: - key: "aws.amazon.com/neuron" operator: "Exists" effect: "NoSchedule" -
Applicare il file manifesto con il comando seguente.
kubectl apply -f neuron-ls.yaml -
Quando il pod ha terminato l’esecuzione, visualizzane i registri tramite il comando seguente.
kubectl logs neuron-lsDi seguito viene riportato un output di esempio.
instance-type: inf2.xlarge instance-id: ... +--------+--------+--------+---------+ | NEURON | NEURON | NEURON | PCI | | DEVICE | CORES | MEMORY | BDF | +--------+--------+--------+---------+ | 0 | 2 | 32 GB | 00:1f.0 | +--------+--------+--------+---------+