Auf dieser Seite erfahren Sie, wie Sie mit dem NVIDIA Collective Communication Library (NCCL) Fast Socket-Plug-in effizientere Arbeitslasten in Ihren GKE-Clustern (Google Kubernetes Engine) ausführen können.
Autopilot-Cluster unterstützen kein NCCL Fast Socket.
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Beschränkungen
- Es gelten die Einschränkungen für Compute Engine.
- Es gelten die gVNIC-Einschränkungen.
- NCCL Fast Socket wird nur in Knotenpools unterstützt, für die Hardwarebeschleuniger aktiviert sind.
Voraussetzungen
- In Ihren Knotenpools muss gVNIC aktiviert sein, um NCCL Fast Socket zu verwenden.
- GKE-Knoten müssen ein Knoten-Image für Container-Optimized OS verwenden.
- Ihre Cluster müssen die GKE-Version 1.25.2-gke.1700 oder höher ausführen.
Cluster erstellen
Erstellen Sie einen neuen Cluster:
gcloud container clusters create CLUSTER_NAME \
--cluster-version=VERSION \
--region=COMPUTE_REGION
Dabei gilt:
CLUSTER_NAME
ist der Name des neuen Clusters.VERSION
: die GKE-Version, die mindestens 1.25.2-gke.1700 sein muss. Sie können auch das Flag--release-channel
verwenden, um eine Release-Version auszuwählen. Die Release-Version muss die Standardversion 1.25.2-gke.1700 oder höher haben.COMPUTE_REGION
: die Compute Engine-Region für den neuen Cluster. Verwenden Sie für zonale Cluster--zone=COMPUTE_ZONE
.
NCCL Fast Socket aktivieren
Erstellen Sie einen Knotenpool, der das NCCL Fast Socket-Plug-in verwendet. Sie können auch einen vorhandenen Knotenpool mit gcloud container node-pools update
aktualisieren.
gcloud container node-pools create NODEPOOL_NAME \
--accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
--machine-type=MACHINE_TYPE \
--cluster=CLUSTER_NAME \
--enable-fast-socket \
--enable-gvnic
Dabei gilt:
NODEPOOL_NAME
: der Name des neuen Knotenpools.CLUSTER_NAME
ist der Name des Clusters.ACCELERATOR_TYPE
: der Typ des GPU-Beschleunigers, den Sie verwenden. Beispiel:nvidia-tesla-t4
ACCELERATOR_COUNT
ist die Anzahl der GPUs pro Knoten.MACHINE_TYPE
ist der Maschinentyp, den Sie verwenden möchten. NCCL Fast Socket wird nicht auf speicheroptimierten Maschinentypen unterstützt.
NVIDIA-GPU-Gerätetreiber installieren
Folgen Sie der Anleitung unter NVIDIA-GPU-Gerätetreiber installieren, um die erforderlichen NVIDIA-Gerätetreiber auf Ihren Knoten zu installieren.
Aktivierung von NCCL Fast Socket prüfen
Rufen Sie die Pods "kube-system" auf, um zu prüfen, ob NCCL Fast Socket aktiviert ist:
kubectl get pods -n kube-system
Die Ausgabe sieht in etwa so aus:
NAME READY STATUS RESTARTS AGE
nccl-fastsocket-installer-qvfdw 2/2 Running 0 10m
nccl-fastsocket-installer-rtjs4 2/2 Running 0 10m
nccl-fastsocket-installer-tm294 2/2 Running 0 10m
In dieser Ausgabe sollte die Anzahl der Pods der Anzahl der Knoten im Knotenpool entsprechen.
NCCL Fast Socket deaktivieren
Führen Sie den folgenden Befehl aus, um NCCL Fast Socket zu deaktivieren:
gcloud container node-pools update NODEPOOL_NAME \
--cluster=CLUSTER_NAME \
--no-enable-fast-socket
Auf vorhandenen Knoten ist das Plug-in noch installiert. Sie müssen die Größe des Knotenpools manuell anpassen, um Arbeitslasten auf neue Knoten zu migrieren.
Fehlerbehebung
Informationen zur Fehlerbehebung für gVNIC finden Sie unter Fehlerbehebung bei Google Virtual NIC.
Nächste Schritte
- Verwenden Sie das Logging von Netzwerkrichtlinien, um aufzuzeichnen, wann Verbindungen zu Pods von den Netzwerkrichtlinien Ihres Clusters zugelassen oder verweigert werden.