In diesem Dokument wird beschrieben, wie Sie KI-optimierte Google Kubernetes Engine-Cluster (GKE) erstellen, die die für Beschleuniger optimierten Maschinenserien G2 (NVIDIA L4) oder G4 (NVIDIA RTX PRO 6000) verwenden, um Ihre Arbeitslasten für künstliche Intelligenz (KI) und maschinelles Lernen (ML) zu unterstützen. G2 und G4 sind Maschinenserien mit Allzweck-GPUs, die unabhängige Rechenressourcen für gängige KI-Aufgaben wie Inferenz und grafikintensive Anwendungen bieten. Neben Maschinentypen mit einer einzelnen GPU und mehreren GPUs unterstützt die G4-Maschinenserie auch virtuelle GPUs (vGPUs) auf Maschinentypen mit weniger als einer GPU:
g4-standard-6(ein Achtel einer GPU)g4-standard-12(ein Viertel einer GPU)g4-standard-24(eine halbe GPU)
GKE bietet eine einheitliche Plattform, auf der Sie eine Vielzahl von Arbeitslasten für Ihre Organisation ausführen können. So wird der Betriebsaufwand für die Verwaltung mehrerer Plattformen reduziert.
So erstellen Sie einen KI-optimierten GKE-Cluster mit G2 oder G4:
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 dem Befehl
gcloud components updateab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie zum Erstellen und Verwalten eines GKE-Cluster benötigen:
- Kubernetes Engine-Administrator (
roles/container.admin) - Compute-Administrator (
roles/compute.admin)
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Nutzungsoption auswählen und Kapazität erhalten
Wählen Sie eine Option für die Nutzung aus. Treffen Sie Ihre Auswahl basierend darauf, wie Sie GPU-Ressourcen erhalten und verwenden möchten. Weitere Informationen finden Sie unter Verbrauchsoption auswählen.
Berücksichtigen Sie für GKE die folgenden zusätzlichen Informationen, wenn Sie eine Verbrauchsoption auswählen:
- Weitere Informationen zu Flex-Start (Vorabversion) und GKE finden Sie unter GPU-Verfügbarkeit mit Flex-Start.
- Bei Flex-Start wird die kompakte Platzierung nach dem Best-Effort-Prinzip verwendet. Informationen zum Untersuchen der Topologie finden Sie unter Physische Topologie von Knoten in Ihrem GKE-Cluster ansehen.
- Sie können Topologieinformationen nur abrufen, wenn Sie Spot-VMs verwenden und kompakte Platzierung konfigurieren.
Kapazität abrufen: Kapazität für Ihre Verbrauchsoption abrufen
Voraussetzungen
Wenn Sie einen KI-optimierten GKE-Cluster erstellen möchten, der G2- oder G4-GPUs verwendet, müssen Sie die folgenden Anforderungen erfüllen:
- GKE-Version:Für G4-Maschinen (NVIDIA RTX PRO 6000) sind die folgenden Mindestversionen von GKE erforderlich:
- Standardmodus:
- Maschinentypen mit einer oder mehreren GPUs:
1.34.0-gke.1662000oder höher - Maschinentypen mit weniger als einer GPU (
g4-standard-6,g4-standard-12undg4-standard-24):- 1.35:
1.35.8-gke.1518000oder höher - 1.36 oder höher:
1.36.4-gke.1082000oder höher
- 1.35:
- Maschinentypen mit einer oder mehreren GPUs:
- Autopilot-Modus:
- Maschinentypen mit einer oder mehreren GPUs:
1.34.1-gke.1829001oder höher - Maschinentypen mit weniger als einer GPU (
g4-standard-6,g4-standard-12undg4-standard-24):- 1.35:
1.35.8-gke.1518000oder höher - 1.36 oder höher:
1.36.4-gke.1082000oder höher
- 1.35:
- Maschinentypen mit einer oder mehreren GPUs:
- Standardmodus:
- GPU-Treiber:
- G2-Knoten (NVIDIA L4) müssen die NVIDIA-Treiberversion
535oder höher verwenden. - G4-Knoten (NVIDIA RTX PRO 6000) müssen die NVIDIA-Treiberversion
580oder höher verwenden.
- G2-Knoten (NVIDIA L4) müssen die NVIDIA-Treiberversion
Beschränkungen
Für die Maschinenserien G2 und G4 als General GPU gelten die folgenden Einschränkungen:
- Lokale SSDs:G2- und G4-Maschinentypen enthalten standardmäßig keine lokalen SSD-Laufwerke. Sie müssen sie bei Bedarf manuell anhängen. Der Maschinentyp
g4-standard-6(ein Achtel einer GPU) unterstützt keine lokalen SSDs. - NCCL Fast Socket:Sie können NCCL Fast Socket nicht mit G2- oder G4-Maschinen in GKE verwenden. G2- und G4-Maschinen unterstützen zwar die Kommunikation zwischen mehreren Knoten, verwenden aber das Standard-VPC-Netzwerk. Für verteiltes Training im großen Maßstab, das maximalen Netzwerkdurchsatz erfordert, empfehlen wir die Verwendung der Clustered GPU-Maschinenserie, z. B. A3 High oder A3 Mega (mit GPUDirect TCPX) oder A3 Ultra und A4 (mit GPUDirect RDMA).
- G4-Maschinentypen mit weniger als einer GPU:für
g4-standard-6,g4-standard-12undg4-standard-24:- Sie können keine Ubuntu-Knoten-Images verwenden.
- Sie können keine GPUs mit mehreren Instanzen, NVIDIA MPS oder GPU-Timesharing verwenden.
GKE-Umgebung erstellen
Sie können einen Cluster im Autopilot- oder Standardmodus erstellen.
Autopilot
Führen Sie den folgenden Befehl aus, um einen Autopilot-Cluster zu erstellen:
gcloud container clusters create-auto CLUSTER_NAME \
--region=REGION
Ersetzen Sie Folgendes:
CLUSTER_NAME: Der Name Ihres Clusters.REGION: Die Region für Ihren Cluster.
Standard
Erstellen Sie einen Standardcluster und einen GPU-Knotenpool:
Führen Sie den folgenden Befehl aus, um einen Standardcluster zu erstellen:
gcloud container clusters create CLUSTER_NAME \ --region=REGION \ --enable-ip-aliasErsetzen Sie Folgendes:
CLUSTER_NAME: Der Name Ihres Clusters.REGION: Die Region für Ihren Cluster.
Erstellen Sie den Knotenpool. Nachdem Sie Ihren Cluster erstellt haben, können Sie einen Knotenpool mit G2 oder G4 hinzufügen. Für Arbeitslasten mit mehreren Knoten, die G2 (L4) oder G4 (RTX PRO 6000) verwenden, empfehlen wir die Verwendung einer Richtlinie für kompakte Platzierung, um die Netzwerklatenz zwischen Knoten zu minimieren.
Verwenden Sie den folgenden Befehl, um einen Knotenpool zu erstellen:
G2 (NVIDIA L4)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-l4,count=AMOUNT,gpu-driver-version=LATEST \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNTG4 (NVIDIA RTX PRO 6000)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-rtx-pro-6000,count=AMOUNT,gpu-driver-version=LATEST \ --disk-type=hyperdisk-balanced \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNTG4 Virtual Workstation (vWS)
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --region=REGION \ --node-locations=ZONE \ --machine-type=MACHINE_TYPE \ --accelerator=type=nvidia-rtx-pro-6000-vws,count=AMOUNT,gpu-driver-version=LATEST \ --disk-type=hyperdisk-balanced \ --placement-type=COMPACT \ --scopes="https://www.googleapis.com/auth/cloud-platform" \ --local-ssd-count=LOCAL_SSD_COUNTErsetzen Sie Folgendes:
NODE_POOL_NAME: Der Name des Knotenpools.CLUSTER_NAME: Der Name Ihres Clusters.REGION: Die Region für Ihren Cluster.ZONE: Eine oder mehrere Zonen in Ihrer Region, in denen die angeforderten GPUs verfügbar sind, z. B.us-central1-a. Dies ist bei der Verwendung der kompakten Platzierung erforderlich.MACHINE_TYPE: Der Maschinentyp für Ihre Knoten, z. B.g2-standard-4für G2-Maschinen,g4-standard-48für eine G4-Maschine mit einer einzelnen GPU oderg4-standard-6,g4-standard-12oderg4-standard-24für G4-Maschinentypen mit weniger als einer GPU (mit dem Beschleunigertypnvidia-rtx-pro-6000).AMOUNT: Die Anzahl der GPUs, die an jeden Knoten angehängt werden sollen. Wenn Sie einen G4-Maschinentyp mit weniger als einer GPU (g4-standard-6,g4-standard-12oderg4-standard-24) oderg4-standard-48(eine GPU) verwenden, müssen SieAMOUNTauf1festlegen.LOCAL_SSD_COUNTist die Anzahl der lokalen SSD-Volumes, die auf jedem Knoten bereitgestellt werden sollen. Lassen Sie das Flag--local-ssd-countweg, wenn Sie den Maschinentypg4-standard-6verwenden, dag4-standard-6keine lokalen SSDs unterstützt.
Mit dem Cluster verbinden
Stellen Sie eine Verbindung zu Ihrem Cluster her, damit Sie die kubectl-Befehle in den nächsten Abschnitten ausführen können:
gcloud container clusters get-credentials CLUSTER_NAME \
--region=REGION
Ersetzen Sie Folgendes:
CLUSTER_NAME: Der Name Ihres Clusters.REGION: Die Region für Ihren Cluster.
Weitere Informationen finden Sie unter kubectl installieren und Clusterzugriff konfigurieren.
Pod-Manifeste konfigurieren (nur Autopilot)
Wenn Sie einen Autopilot-Cluster erstellt haben, müssen Sie die entsprechenden GPUs in Ihren Pod-Manifesten auswählen, damit GKE die Hardware bereitstellt.
Geben Sie den ausgewählten GPU-Typ und die spezifische Reservierung mit Knotenauswahlen an:
spec: nodeSelector: cloud.google.com/gke-accelerator: ACCELERATOR cloud.google.com/gke-gpu-driver-version: latest # Optional: Include if using reserved capacity cloud.google.com/reservation-name: RESERVATION_NAME cloud.google.com/reservation-affinity: "specific"Ersetzen Sie Folgendes:
ACCELERATOR: der Beschleuniger, den Sie reserviert haben. Sie müssennvidia-l4(für G2),nvidia-rtx-pro-6000(für G4) odernvidia-rtx-pro-6000-vws(für G4 mit Virtual Workstation) verwenden.RESERVATION_NAME: Der Name der Compute Engine-Kapazitätsreservierung. Informationen zum Nutzen freigegebener Reservierungen oder bestimmter Blöcke und Unterblöcke von Reservierungen finden Sie in den entsprechenden Abschnitten unter Reservierte zonale Pfadressourcen nutzen.
Fügen Sie dem Container, der GPUs anfordert, die folgenden Ressourcen hinzu:
containers: - name: my-container resources: limits: nvidia.com/gpu: AMOUNTErsetzen Sie
AMOUNTdurch die Anzahl der GPUs, die der Container nutzen soll. Wenn Sie in einem Autopilot-Cluster einen G4-Maschinentyp mit weniger als einer GPU (g4-standard-6,g4-standard-12oderg4-standard-24) anfordern möchten, müssen Sie ein benutzerdefiniertesComputeClassverwenden, in dem der Maschinentyp angegeben ist, undnvidia.com/gpuauf1festlegen. Eine Anleitung finden Sie unter G4-Maschinentypen mit weniger als einer GPU anfordern.