Auf dieser Seite erfahren Sie, wie Sie die Leistung von CPU-intensiven Arbeitslasten optimieren, indem Sie Google Kubernetes Engine (GKE) anweisen, jeden Pod auf einem eigenen Knoten zu platzieren, mit vollständigem Zugriff auf alle Ressourcen des Knotens. Fordern Sie die Leistungs-Compute-Klasse in Ihren Autopilot-Arbeitslasten an, um dieses Pod-Platzierungsmodell zu verwenden.
Vorteile der Leistungscomputingklasse
Dedizierte Knoten pro Pod sind ideal, wenn Sie umfangreiche CPU-intensive Arbeitslasten ausführen, die möglicherweise Zugriff auf Funktionen der zugrunde liegenden virtuellen Maschine (VM) benötigen. Beispiel: CPU-intensive KI/ML-Trainingsarbeitslasten oder HPC-Batcharbeitslasten (Hochleistungs-Computing).
Pods auf diesen dedizierten Knoten haben folgende Vorteile:
- Vorhersagbare Leistung: Der Zugriff auf alle Knotenressourcen ist jederzeit möglich.
- Bursting-Arbeitslasten: Wenn Sie in Ihren Manifesten keine Ressourcenlimits festlegen, können Ihre Leistungsklassen-Pods alle nicht verwendeten Kapazitäten auf dem Knoten mit minimalem Risiko von Beendigung des Kubernetes-Knotendrucks steigern.
Funktionsweise von Pods der Leistungsklasse
Sie stellen einen Pod mit den folgenden Eigenschaften bereit:
- Wählt die Leistungsklasse und eine Compute Engine-Maschinenserie aus
- Gibt Ressourcenanfragen an und gibt idealerweise keine Ressourcenlimits an
GKE tut Folgendes:
- Sorgt dafür, dass der bereitgestellte Pod mindestens die Mindestressourcen für die Compute-Klasse anfordert
- Berechnet die Gesamtzahl der Ressourcenanfragen des bereitgestellten Pods und aller DaemonSets im Cluster.
- Stellt einen Knoten bereit, der von der ausgewählten Maschinenserie unterstützt wird
- Ändert das Pod-Manifest mit einer Kombination aus Knotenselektoren und Toleranzen, damit der Pod auf einem eigenen Knoten ausgeführt wird.
Kompatibilität mit anderen GKE-Features
Sie können Pods der Leistungsklasse mit den folgenden GKE-Funktionen und -Features verwenden:
- Spot-Pods
- Pods mit verlängerter Laufzeit
- Arbeitslasttrennung
- Kapazitätsreservierungen
- Rabatte für zugesicherte Nutzung
Spot-Pods und Pods mit verlängerter Laufzeit schließen sich gegenseitig aus. GKE erzwingt keine höheren Mindestressourcenanfragen für Pods der Leistungsklasse, die eine Arbeitslasttrennung verwenden.
Preise
Ihr Pod kann jederzeit die gesamte zugrunde liegende VM und jede angehängte Hardware verwenden. Diese Hardware wird Ihnen von Compute Engine mit einem Aufpreis für die Verwaltung und Skalierbarkeit von Autopilot-Knoten in Rechnung gestellt. Weitere Informationen finden Sie unter GKE-Preise.
Hinweise
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.
- Machen Sie sich mit folgenden Themen vertraut:
- Compute Engine-Maschinenserie und -Anwendungsfälle
- Anforderungen auf Kernelebene für Ihre Anwendungen
- Sie benötigen einen Autopilot-Cluster mit Version 1.28.6-gke.1369000 und höher oder Version 1.29.1-gke.1575000 und höher. Informationen zum Erstellen eines neuen Clusters finden Sie unter Autopilot-Cluster erstellen.
Mit dem Cluster verbinden
Verwenden Sie das Google Cloud CLI, um eine Verbindung zu Ihrem Autopilot-Cluster herzustellen:
gcloud container clusters get-credentials CLUSTER_NAME \
--location=LOCATION
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.LOCATION
: der Compute Engine-Standort des Clusters.
Pod der Leistungsklasse bereitstellen
Speichern Sie das folgende Manifest als
perf-class-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: performance-pod spec: nodeSelector: cloud.google.com/compute-class: Performance cloud.google.com/machine-family: MACHINE_SERIES containers: - name: my-container image: "k8s.gcr.io/pause" resources: requests: cpu: 20 memory: "100Gi"
Ersetzen Sie
MACHINE_SERIES
durch die Compute Engine-Maschinenserie für Ihren Pod, z. B.c3
. Informationen zu unterstützten Werten finden Sie in diesem Dokument unter Unterstützte Maschinenserien.Stellen Sie den Pod bereit:
kubectl apply -f perf-class-pod.yaml
Lokale SSDs in Pods der Leistungsklasse verwenden
Pods der Leistungsklasse können lokale SSDs für sitzungsspezifischen Speicher verwenden, wenn Sie eine Maschinenserie auswählen, die eine lokale SSD enthält. GKE berücksichtigt sitzungsspezifische Speicheranfragen bei der Bereitstellung eines Knotens für den Pod der Leistungsklasse.
Speichern Sie das folgende Manifest als
perf-class-ssd-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: performance-pod spec: nodeSelector: cloud.google.com/compute-class: Performance cloud.google.com/machine-family: MACHINE_SERIES cloud.google.com/gke-ephemeral-storage-local-ssd: "true" containers: - name: my-container image: "k8s.gcr.io/pause" resources: requests: cpu: 12 memory: "50Gi" ephemeral: "200Gi"
Ersetzen Sie
MACHINE_SERIES
durch eine unterstützte Maschinenserie, die auch lokale SSDs unterstützt. Wenn die angegebene Maschinenserie lokale SSDs nicht unterstützt, schlägt die Bereitstellung mit einem Fehler fehl.Stellen Sie den Pod bereit:
kubectl apply -f perf-class-pod.yaml
Unterstützte Maschinenserien
Die Computingklasse "Leistung" unterstützt die folgende Maschinenserien:
- C3-Maschinenserie:
c3
(lokale SSDs sind verfügbar) - C3D-Maschinenserie:
c3d
(Lokale SSDs sind verfügbar) - H3-Maschinenserie (
h3
) - C2-Maschinenserie:
c2
- C2D-Maschinenserie:
c2d
- T2D-Maschinenserie:
t2d
- T2A-Maschinenserie:
t2a
Einen Vergleich dieser Maschinenserien und ihrer Anwendungsfälle finden Sie unter Maschinenserienvergleich in der Compute Engine-Dokumentation.
So wählt GKE eine Maschinengröße aus
Um eine Maschinengröße zur angegebenen Maschinenserie auszuwählen, berechnet GKE die Gesamt-CPU, den Gesamtarbeitsspeicher und die gesamten Anfragen zu flüchtigem Speicher des Pods der Leistungsklasse und aller DaemonSets, die auf dem neuen Knoten ausgeführt werden. GKE rundet diese Werte auf den nächsten verfügbaren Compute Engine-Maschinentyp auf, der alle diese Summen unterstützt.
Beispiel 1: Betrachten Sie einen Pod der Leistungsklasse, der die Maschinenserie
C3
auswählt. Die Gesamtzahl der Ressourcenanfragen, einschließlich DaemonSets, sieht so aus:- 70 vCPU
- 200 GiB Arbeitsspeicher
GKE platziert den Pod auf einem Knoten, der vom Maschinentyp
c3-standard-88
mit 88 vCPUs und 352 GB Arbeitsspeicher unterstützt wird.Beispiel 2: Betrachten Sie einen Pod der Leistungsklasse, der die Maschinenserie
C3D
und lokale SSDs für den sitzungsspezifischen Speicher auswählt. Die Gesamtzahl der Ressourcenanfragen, einschließlich DaemonSets, sieht so aus:- 12 vCPU
- 50 GiB Arbeitsspeicher
- 200 GiB sitzungsspezifischer Speicher
GKE platziert den Pod auf einem Knoten, der den Maschinentyp
c3d-standard-16-lssd
mit 16 vCPUs, 64 GiB Arbeitsspeicher und 365 GiB an lokaler SSD-Kapazität verwendet.
Nächste Schritte
- Weitere Informationen zu anderen Autopilot-Compute-Klassen
- GPU-basierte Arbeitslasten in Autopilot bereitstellen