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 mit dem Konzept von Compute-Klassen in GKE Autopilot vertraut.
Ü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.
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 diesen Task 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 update
ab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
- 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 entsprechend Ihrem Anwendungsfall, z. B. Scale-Out
. Wenn Sie Performance
auswählen, können Sie optional eine Compute Engine-Maschinenserie im Knotenselektor auswählen.
Wenn Sie keine Maschinenserie angeben, verwendet GKE die C4-Maschinenserie, je nach regionaler Verfügbarkeit. 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 entsprechend Ihrem Anwendungsfall, z. B. Scale-Out
. Wenn Sie Performance
auswählen, können Sie optional eine Compute Engine-Maschinenserie im Knotenselektor auswählen. Wenn Sie keine Maschinenserie angeben, verwendet GKE die C4-Maschinenserie, je nach regionaler Verfügbarkeit. 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
- 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