Unterstützung für die Verbesserung dieser Seite beitragen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Um zu diesem Benutzerhandbuch beizutragen, wählen Sie den GitHub Link Diese Seite bearbeiten auf, der sich im rechten Bereich jeder Seite befindet.
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installieren Sie das Kubernetes-Geräte-Plugin für GPUs
Kubernetes-Geräte-Plugins
Überlegungen
-
Wenn Sie das für EKS optimierte AL2 023 AMIs mit NVIDIA verwenden, müssen Sie das NVIDIA GPUs Kubernetes-Geräte-Plugin installieren.
Sie können das NVIDIA Kubernetes-Geräte-Plugin mit Helm, einem Kubernetes-Tooling Ihrer Wahl oder dem NVIDIA-GPU-Operator installieren und verwalten. -
Wenn Sie das EKS-optimierte Bottlerocket AMIs mit NVIDIA verwenden, müssen Sie das NVIDIA Kubernetes-Geräte-Plugin nicht installieren GPUs, da es bereits im EKS-optimierten Bottlerocket enthalten ist. AMIs Dies gilt auch, wenn Sie GPU-Instanzen mit dem EKS-Automatikmodus verwenden.
-
Wenn Sie das EKS-optimierte AL2 023 oder Bottlerocket AMIs mit AWS Inferentia oder Trainium verwenden GPUs, müssen Sie das Neuron Kubernetes-Geräte-Plugin und optional die Neuron Kubernetes-Scheduler-Erweiterung installieren.
Weitere Informationen finden Sie in der Neuron-Dokumentation zur Ausführung auf EKS.
Installieren Sie das NVIDIA Kubernetes-Geräte-Plugin
Das folgende Verfahren beschreibt, wie Sie das NVIDIA Kubernetes-Geräte-Plug-In installieren und einen Beispieltest auf NVIDIA-GPU-Instanzen ausführen.
Voraussetzungen
-
Der EKS-Cluster wurde erstellt
-
NVIDIA-GPU-Knoten, die im Cluster mit EKS-optimiertem AL2 023 NVIDIA AMI ausgeführt werden
-
Helm ist in Ihrer Befehlszeilenumgebung installiert. Weitere Informationen finden Sie unter Anweisungen zur Einrichtung von Helm.
Verfahren
-
Fügen Sie das
nvdpHelm-Chart-Repository hinzu.helm repo add nvdp https://nvidia.github.io/k8s-device-plugin -
Aktualisieren Sie Ihr lokales Helm-Repository, um sicherzustellen, dass Sie über die aktuellsten Diagramme verfügen.
helm repo update -
Holen Sie sich die neueste Version des NVIDIA Kubernetes-Geräte-Plugins
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 ... -
Installieren Sie das NVIDIA Kubernetes-Geräte-Plugin auf Ihrem Cluster und
0.17.4ersetzen Sie es durch die neueste Version aus dem obigen Befehl.helm install nvdp nvdp/nvidia-device-plugin \ --namespace nvidia \ --create-namespace \ --version0.17.4\ --set gfd.enabled=true -
Stellen Sie sicher, dass das NVIDIA Kubernetes-Geräte-Plugin in Ihrem Cluster ausgeführt wird. Die folgende Ausgabe zeigt die Ausgabe mit zwei Knoten im 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 -
Stellen Sie mit dem folgenden Befehl sicher, dass Ihre Knoten über Allocatable GPUs verfügen.
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 -
Erstellen Sie eine Datei mit dem Namen
nvidia-smi.yamlund dem folgenden Inhalt. Dieses Manifest startet ein minimales AL2 023-Container-Image, dasnvidia-smiauf einem Knoten ausgeführt wird.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' -
Wenden Sie das Manifest mit dem folgenden Befehl an.
kubectl apply -f nvidia-smi.yaml -
Nachdem der Pod ausgeführt wurde, zeigen Sie mit dem folgenden Befehl seine Protokolle an.
kubectl logs nvidia-smiEine Beispielausgabe sieht wie folgt aus.
+-----------------------------------------------------------------------------------------+ | 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 | +-----------------------------------------------------------------------------------------+
Installieren Sie das Neuron Kubernetes-Geräte-Plugin
Das folgende Verfahren beschreibt, wie Sie das Neuron Kubernetes-Geräte-Plugin installieren und einen Beispieltest auf einer Inferentia-Instanz ausführen.
Voraussetzungen
-
Der EKS-Cluster wurde erstellt
-
Neuron-GPU-Knoten, die im Cluster mit EKS-optimiertem AL2 023 Neuron AMI oder Bottlerocket AMI ausgeführt werden
-
Helm ist in Ihrer Befehlszeilenumgebung installiert. Weitere Informationen finden Sie unter Anweisungen zur Einrichtung von Helm.
Verfahren
-
Installieren Sie das Neuron Kubernetes-Geräte-Plugin auf Ihrem Cluster.
helm upgrade --install neuron-helm-chart oci://public.ecr.aws/neuron/neuron-helm-chart \ --set "npd.enabled=false" -
Stellen Sie sicher, dass das Neuron Kubernetes-Geräte-Plugin in Ihrem Cluster ausgeführt wird. Die folgende Ausgabe zeigt die Ausgabe mit einem einzelnen Neuron-Knoten im 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 -
Stellen Sie mit dem folgenden Befehl sicher, dass Ihre Knoten über Allocatable NueronCores verfügen.
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 -
Stellen Sie mit dem folgenden Befehl sicher, dass Ihre Knoten über Allocatable NueronDevices verfügen.
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 -
Erstellen Sie eine Datei mit dem Namen
neuron-ls.yamlund dem folgenden Inhalt. Dieses Manifest startet einen Neuron Monitor-Container, in dem das Tool installiert ist. 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" -
Wenden Sie das Manifest mit dem folgenden Befehl an.
kubectl apply -f neuron-ls.yaml -
Nachdem der Pod ausgeführt wurde, zeigen Sie mit dem folgenden Befehl seine Protokolle an.
kubectl logs neuron-lsUnten sehen Sie eine Beispielausgabe.
instance-type: inf2.xlarge instance-id: ... +--------+--------+--------+---------+ | NEURON | NEURON | NEURON | PCI | | DEVICE | CORES | MEMORY | BDF | +--------+--------+--------+---------+ | 0 | 2 | 32 GB | 00:1f.0 | +--------+--------+--------+---------+