In diesem Dokument erfahren Sie, wie Sie bestimmte Compute-Klassen auswählen, um Arbeitslasten mit eindeutigen Hardwareanforderungen in Ihren Autopilot-Clustern (Google Kubernetes Engine) auszuführen. Machen Sie sich vor dem Lesen dieses Dokuments, machen Sie sich mit dem Konzept von Compute-Klassen in GKE Autopilotvertraut.
Übersicht über Autopilot-Compute-Klassen
Autopilot bietet Compute-Klassen, die für die Ausführung von Arbeitslasten mit bestimmten Hardwareanforderungen entwickelt wurden. Diese Compute-Klassen eignen sich für Arbeitslasten wie maschinelles Lernen und KI-Aufgaben oder zum Ausführen von Datenbanken mit hohem Traffic in Echtzeit.
Diese Compute-Klassen sind eine Teilmenge der Compute Engine-Maschinenreihe und bieten mehr Flexibilität als die Standard-Compute-Klasse für allgemeine Autopilot-Zwecke.
Beispielsweise deaktiviert die Klasse Scale-Out das gleichzeitige Multi-Threading, sodass jede vCPU ein physischer Kern ist.
Je nach den Anforderungen Ihres einzelnen Pods können Sie Ihre regulären Autopilot-Pods oder Spot-Pods so konfigurieren, dass Knoten angefordert werden, die von diesen Compute-Klassen unterstützt werden. Sie können in Compute-Klassen, die diese Architektur unterstützen, auch bestimmte CPU-Architekturen wie Arm anfordern.
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,
installieren und dann
initialisieren Sie die
gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste
Version mit dem
gcloud components updateBefehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.
- Prüfen Sie, ob Sie einen GKE Autopilot-Cluster haben auf dem GKE Version 1.24.1-gke.1400 oder höher ausgeführt wird.
Eine Compute-Klasse im Autopilot-Pod anfordern
Damit Autopilot Ihre Pods in einer bestimmten Compute-Klasse platzieren kann, geben Sie das Labelcloud.google.com/compute-class in einemnodeSelector oder einer Knotenaffinitätsregel wie in den folgenden Beispielen an:nodeSelector
apiVersion: apps/v1 kind: Deployment metadata: name: hello-app spec: replicas: 3 selector: matchLabels: app: hello-app template: metadata: labels: app: hello-app spec: nodeSelector: cloud.google.com/compute-class: "COMPUTE_CLASS" containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: requests: cpu: "2000m" memory: "2Gi"
Ersetzen Sie COMPUTE_CLASS durch den Namen der Compute-Klasse, die für Ihren Anwendungsfall geeignet ist, z. B. Scale-Out. Wenn Sie Performance,
auswählen, können Sie optional eine Compute Engine-Maschinenreihe im Knotenselektor auswählen.
Wenn Sie keine Maschinenreihe angeben, verwendet GKE je nach regionaler
Verfügbarkeit die
C4-Maschinenreihe. Eine Anleitung finden Sie unter CPU-intensive Arbeitslasten mit optimaler
Leistung ausführen.
nodeAffinity
apiVersion: apps/v1 kind: Deployment metadata: name: hello-app spec: replicas: 3 selector: matchLabels: app: hello-app template: metadata: labels: app: hello-app spec: terminationGracePeriodSeconds: 25 containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 resources: requests: cpu: "2000m" memory: "2Gi" ephemeral-storage: "1Gi" affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: cloud.google.com/compute-class operator: In values: - "COMPUTE_CLASS"
Ersetzen Sie COMPUTE_CLASS durch den Namen der
Compute
-Klasse, die für Ihren Anwendungsfall geeignet ist, z. B. Scale-Out. Wenn Sie Performance auswählen, können Sie optional eine
Compute Engine-Maschinenreihe im Knotenselektor auswählen. Wenn Sie keine Maschinenreihe angeben, verwendet GKE je nach regionaler
Verfügbarkeit die C4
Maschinenreihe. Eine Anleitung finden Sie unter CPU-intensive Arbeitslasten mit
optimaler Leistung ausführen.
Sie können auch bestimmte Compute-Klassen für Ihre Spot-Pods anfordern.
Ressourcenanforderungen angeben
Wenn Sie eine Compute-Klasse auswählen, müssen Sie Ressourcenanfragen für Ihre Pods auf Basis der Mindest- und Höchstwerte für Ressourcen für Ihre ausgewählte Klasse angeben. Wenn Ihre Anfragen unter dem Mindestwert liegen, skaliert Autopilot Ihre Anfragen automatisch vertikal. Wenn Ihre Anfragen jedoch größer als der Höchstwert sind, stellt Autopilot Ihre Pods nicht bereit und zeigt eine Fehlermeldung an.
CPU-Architektur auswählen
Einige Compute-Klassen unterstützen mehrere CPU-Architekturen. Die Klasse Scale-Out unterstützt beispielsweise sowohl Arm- als auch x86-Architekturen. Wenn Sie keine bestimmte Architektur anfordern, stellt Autopilot Knoten mit der Standardarchitektur der angegebenen Compute-Klasse bereit. Wenn Ihre Pods eine andere Architektur verwenden müssen, fordern Sie diese Architektur zusammen mit Ihrer Anfrage zur Compute-Klasse in Ihrer Knotenauswahl oder Knotenaffinitätsregel an. Die von Ihnen angeforderte Compute-Klasse muss die von Ihnen angegebene CPU-Architektur unterstützen.
Eine Anleitung finden Sie unter Autopilot-Pods in Arm-Architektur bereitstellen.
Nächste Schritte
- Best Practices für Compute-Klassen
- Weitere Informationen zur Autopilot-Clusterarchitektur.
- Lebenszyklus von Pods
- Informationen zu den verfügbaren Autopilot-Compute-Klassen
- Informationen zu den Standard-, Mindest- und Höchstwerten für Ressourcen pro Plattform