Licensed to be used in conjunction with basebox, only.
// 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
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:
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):
- MIG-Modus auf der Service-GPU aktivieren; die Inferenz-GPU(s) unangetastet lassen.
- GPU-Instanzen im vorgesehenen Profil anlegen (
1g.35gbbzw.3g.40gb) und die zugehörigen Compute-Instanzen. - 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. - 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
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