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 in Ihren Autopilot-Arbeitslasten die Computing-Klasse „Leistung” an, um dieses Pod-Platzierungsmodell zu verwenden.
Vorteile der Leistungscomputingklasse
Dedizierte Knoten pro Pod sind ideal, wenn Sie große CPU-intensive Arbeitslasten ausführen, die möglicherweise Zugriff auf Funktionen auf der zugrunde liegenden virtuellen Maschine (VM) benötigen. Beispiel: CPU-intensive KI/ML-Trainingsarbeitslasten oder Hochleistungs-Computing-Batcharbeitslasten (HPC).
Pods auf diesen dedizierten Knoten bieten 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 folgenden Eigenschaften bereit:
- Wählt die Leistungsklasse und eine Compute Engine-Maschinenserie aus
- Gibt Ressourcenanforderungen an und idealerweise keine Ressourcenlimits
GKE führt Folgendes aus:
- Sorgt dafür, dass der bereitgestellte Pod mindestens die Mindestressourcen für die Compute-Klasse anfordert
- Berechnet die Gesamtzahl der Ressourcenanforderungen 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
- Erweiterte Laufzeit-Pods
- Arbeitslasttrennung
- Kapazitätsreservierungen
- Rabatte für zugesicherte Nutzung
Spot-Pods und erweiterte Laufzeit-Pods schließen sich gegenseitig aus. GKE erzwingt keine höheren Mindestressourcenanforderungen für Leistungsklassen-Pods, die die Arbeitslasttrennung verwenden.
Preise
Ihr Pod kann jederzeit die gesamte zugrunde liegende VM und die gesamte angehängte Hardware nutzen. Diese Hardware wird 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 die 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-Maschinenreihe für Ihren Pod, z. B.c3
. Die unterstützten Werte finden Sie in diesem Dokument unter Unterstützte Maschinenserien.Stellen Sie den Pod bereit:
kubectl apply -f perf-class-pod.yaml
Lokale SSDs in Leistungsklassen-Pods verwenden
Pods der Leistungsklasse können lokale SSDs für sitzungsspezifischen Speicher verwenden, wenn Sie eine Maschinenserie mit einer lokalen SSD auswählen. 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 keine lokalen SSDs 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:
Maschinenserie | Lokale SSD-Auswahl in Autopilot |
---|---|
C3-Maschinenserie (c3 ) |
|
C3D-Maschinenserie (c3d ) |
|
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
unterstützt wird, der 88 vCPUs und 352 GB Arbeitsspeicher hat.Beispiel 2: Betrachten Sie einen Pod der Leistungsklasse, der die Maschinenserie
C3D
und lokale SSDs für sitzungsspezifischen Speicher auswählt. Die gesamten Ressourcenanfragen, einschließlich DaemonSets, lauten so:- 12 vCPU
- 50 GiB Arbeitsspeicher
- 200 GiB sitzungsspezifischer Speicher
GKE platziert den Pod auf einem Knoten mit dem Maschinentyp
c3d-standard-16-lssd
, der 16 vCPUs, 64 GiB Arbeitsspeicher und 365 GiB lokale SSD-Kapazität hat.
Nächste Schritte
- Informationen zu den anderen Autopilot-Compute-Klassen
- GPU-basierte Arbeitslasten in Autopilot bereitstellen