Zum Inhalt

// installation

NVIDIA / GPU

Gilt für

Produkt: Server · Zielgruppe: Platform Operator

Treiber, CUDA-Runtime, Container Toolkit und GPU Operator; MIG, wo die Referenzkonfiguration es nutzt; wie Sie prüfen, dass der Knoten die erwarteten GPU-Ressourcen anbietet. Dieser Schritt gilt nur für Hosts, die GPU-Workloads ausführen – ein reiner CPU-Anwendungsserver überspringt ihn.

Offizielle Dokumentation: CUDA Installation Guide for Linux · NVIDIA Container Toolkit · GPU Operator · MIG User Guide

1. GPUs identifizieren

Bevor Sie etwas installieren, halten Sie fest, welche GPU welche Rolle bekommt – anhand stabiler Identität, nicht anhand von Indexnummern:

lspci | grep -i nvidia
nvidia-smi -L          # nach der Treiberinstallation: UUID je GPU
nvidia-smi topo -m     # Interconnect zwischen den GPUs (NVLink, PCIe)

Notieren Sie UUID, PCI-Adresse und NUMA-Knoten je GPU sowie die geplante Rolle (Inferenz oder Service-Modelle). Für tensor-parallele Inferenz wählen Sie das Paar mit dem schnellsten Peer-Pfad.

2. Treiber

sudo ubuntu-drivers autoinstall
sudo reboot
nvidia-smi

Erwartet: Treiber 550+ (geprüft: 580.126.09), CUDA-Version 13.0+ in der Ausgabe, alle GPUs gelistet. Details und Fehlerbilder: Server Preparation Guide → Schritt 2.

3. CUDA Toolkit

CUDA 13.0 installieren (12.9 als Rückfalloption), Umgebungsvariablen setzen, nvcc --version prüfen – Befehle unter Server Preparation Guide → Schritt 3.

4. Container-Runtime für GPUs

Zwei Wege:

  • Mit Kubernetes und GPU Operator (Standard): Der GPU Operator installiert und konfiguriert das NVIDIA Container Toolkit auf den Knoten selbst. Schritt 5 überspringt dann die manuelle Toolkit-Installation.
  • Nur Docker (Entwicklung/Test): NVIDIA Container Toolkit manuell installieren, sudo nvidia-ctk runtime configure --runtime=docker, Docker neu starten und prüfen:
sudo docker run --rm --gpus all nvidia/cuda:12.9.0-base-ubuntu22.04 nvidia-smi

Befehle: Server Preparation Guide → Schritt 5.

5. GPU Operator

Nach der Kubernetes-Installation (Kubernetes) den GPU Operator per Helm installieren. Auf einem Einzelknoten mit Control-Plane-Taint braucht der Operator Tolerations – die vollständige Values-Datei und der Befehl stehen unter Server Preparation Guide → Schritt 7:

helm repo add nvidia https://helm.ngc.nvidia.com/nvidia
helm repo update
helm install --wait --timeout 15m --generate-name \
  -n gpu-operator --create-namespace \
  -f gpu-operator-values.yaml \
  nvidia/gpu-operator
kubectl get pods -n gpu-operator

Sind Treiber bereits auf dem Host installiert (Schritt 2), konfigurieren Sie den Operator so, dass er keine Treiber-Container ausrollt; die Optionen dazu stehen in der GPU-Operator-Dokumentation. Für Sonderfälle – abgeschottete Umgebungen, vorinstallierte Treiber, MIG – wenden Sie sich bei Unklarheit an support@basebox.ai.

6. MIG einrichten, wo die Konfiguration es vorsieht

Die Validated-Konfigurationen teilen eine Service-GPU per MIG auf: 2 × H200 nutzt vier 1g.35gb-Instanzen auf einer H200; 4 × H100 SXM je zwei 3g.40gb auf zwei H100. Die Inferenz-GPUs bleiben komplett, MIG deaktiviert.

Ablauf (adressiert über die UUID der Service-GPU):

  1. MIG-Modus auf der Service-GPU aktivieren; die Inferenz-GPU(s) unangetastet lassen.
  2. GPU-Instanzen im vorgesehenen Profil anlegen (1g.35gb bzw. 3g.40gb) und die zugehörigen Compute-Instanzen.
  3. Den GPU Operator für gemischte MIG-Erkennung konfigurieren (MIG-Strategie mixed), damit komplette GPUs und MIG-Instanzen gemeinsam angeboten werden; die GPU-Erkennungskomponenten neu laden.
  4. Prüfen, dass Kubernetes die Ressourcen unter Capacity und Allocatable anbietet.

Die genauen nvidia-smi mig-Befehle und Profilnamen stehen im MIG User Guide; welche Profile eine GPU unterstützt, listet nvidia-smi mig -lgip. Die NVIDIA-GPU-Systemkomponenten können für die gemischte Erkennung erhöhte Host-Rechte benötigen.

7. Prüfen

nvidia-smi -L
kubectl describe node <node-name> | grep -A8 -E "Capacity|Allocatable"

Erwartete Ressourcen je Konfiguration:

Konfiguration nvidia.com/gpu MIG-Ressource
2 × H200 1 nvidia.com/mig-1g.35gb: 4
4 × H100 SXM 2 nvidia.com/mig-3g.40gb: 4
Konfigurationen mit dedizierter Service-GPU ohne MIG Anzahl aller GPUs –

Testlauf im Cluster:

kubectl run gpu-test --image=nvidia/cuda:12.9.0-base-ubuntu22.04 --rm -it --restart=Never -- nvidia-smi

Häufige Fehlerbilder

Symptom Ursache Lösung
nvidia-smi: command not found Treiber nicht installiert Schritt 2
„couldn't communicate with the NVIDIA driver" Installation unvollständig sudo apt-get purge nvidia-*, erneut ubuntu-drivers autoinstall, Neustart
GPU-Operator-Pods Pending, „untolerated taint" Control-Plane-Taint auf Einzelknoten Tolerations in den Values (Schritt 5)
helm install „context deadline exceeded" Große Images, langsamer Download Namespace löschen und neu anlegen, --timeout 15m, Pods beobachten
Knoten bietet keine nvidia.com/gpu an Operator nicht bereit oder Treiber-Konflikt kubectl get pods -n gpu-operator, Logs, Knoten-Labels prüfen
MIG-Ressourcen fehlen Erkennung nicht auf mixed, Komponenten nicht neu geladen MIG-Strategie prüfen, Device-Plugin/GFD neu starten

Vollständige Entscheidungsbäume: Server Preparation Guide → Troubleshooting.

Festhalten

Treiberversion, CUDA-Version, GPU-Operator-Version, GPU-UUIDs mit Rolle, MIG-Layout. Das gehört ins Manifest der Installation.

Nächster Schritt: Kubernetes