Auf dieser Seite werden die integrierten Compute-Klassen beschrieben, die in Google Kubernetes Engine-Autopilot-Clustern (GKE) für Arbeitslasten mit bestimmten Hardwareanforderungen verfügbar sind.
Übersicht über integrierte Compute-Klassen in Autopilot-Clustern
Standardmäßig werden Pods in GKE Autopilot-Clustern auf einer containeroptimierten Computing-Plattform ausgeführt. Diese Plattform ist ideal für allgemeine Arbeitslasten wie Webserver und Batchjobs mit mittlerer Intensität. Die containeroptimierte Computing-Plattform bietet eine zuverlässige, skalierbare und kostenoptimierte Hardwarekonfiguration, die die Anforderungen der meisten Arbeitslasten bewältigen kann.
Wenn Sie Arbeitslasten mit besonderen Hardwareanforderungen haben, z. B. maschinelles Lernen oder KI-Aufgaben ausführen, Datenbanken mit hohem Traffic in Echtzeit ausführen oder bestimmte CPU-Plattformen und -Architekturen benötigen, bietet Autopilot Computing Klassen: Diese Compute-Klassen sind eine ausgewählte Teilmenge der Compute Engine-Maschinenserie und bieten mehr Flexibilität als die Standard-Autopilot-Compute-Plattform. Die Compute-Klasse Scale-Out
verwendet beispielsweise VMs, die das gleichzeitige Multi-Threading deaktivieren und für die horizontale Skalierung optimiert sind.
Sie können Knoten anfordern, die von bestimmten Compute-Klassen unterstützt werden. Dies hängt von den Anforderungen der einzelnen Arbeitslasten ab. Ähnlich wie die Standard-Computing-Plattform für allgemeine Zwecke, die für Container optimiert ist, verwaltet Autopilot die Größe und Ressourcenzuweisung der angeforderten Compute-Klassen basierend auf den ausgeführten Pods. Sie können Compute-Klassen auf Pod-Ebene anfordern, um die Kosteneffizienz zu optimieren, indem Sie die beste Lösung für die Anforderungen jedes Pods auswählen.
Mit GKE können Sie Autopilot-Compute-Klassen auch in GKE-Standardclustern bereitstellen. Sie können diese Compute-Klassen verwenden, um bestimmte Arbeitslasten im Autopilot-Modus auszuführen, auch wenn der Cluster ein Cluster im Standardmodus ist. Weitere Informationen finden Sie unter Arbeitslasten im Autopilot-Modus in GKE Standard.
Benutzerdefinierte Compute-Klassen für zusätzliche Flexibilität
Wenn die integrierten Compute-Klassen in Autopilot-Clustern nicht den Anforderungen Ihrer Arbeitslasten entsprechen, können Sie stattdessen eigene Compute-Klassen konfigurieren.
Sie können ComputeClass
Kubernetes CustomResources in Ihren Clustern mit Gruppen von Knotenattributen bereitstellen, die GKE zum Konfigurieren neuer Knoten im Cluster verwendet. Weitere Informationen zu benutzerdefinierten Compute-Klassen finden Sie unter Benutzerdefinierte Compute-Klassen.
Bestimmte CPU-Architektur auswählen
Wenn Ihre Arbeitslasten für bestimmte CPU-Plattformen oder -Architekturen vorgesehen sind, können Sie diese Plattformen oder Architekturen optional in Ihren Pod-Spezifikationen auswählen. Wenn Ihre Pods beispielsweise auf Knoten ausgeführt werden sollen, die die Armor-Architektur verwenden, können Sie arm64
in der Compute-Klasse Scale-Out
auswählen.
Preise
Die Preise für GKE Autopilot-Pods richten sich nach den Knoten, auf denen die Pods geplant sind. Preisinformationen zu allgemeinen Arbeitslasten und Spot-Pods in bestimmten Compute-Klassen sowie Informationen zu Rabatten für zugesicherte Nutzung finden Sie unter Preise für Autopilot-Modus.
Spot-Pods auf allgemeinen oder speziellen Compute-Klassen sind nicht für Rabatte für zugesicherte Nutzung qualifiziert.
Wann werden bestimmte Compute-Klassen verwendet?
Die folgende Tabelle bietet einen technischen Überblick über die von Autopilot unterstützten vordefinierten Computing-Klassen sowie Beispielanwendungsfälle für Pods, die auf jeder Plattform ausgeführt werden. Wenn Sie keine Computing-Klasse anfordern, platziert Autopilot Ihre Pods auf der Computing-Plattform für allgemeine Zwecke, die für die optimale Ausführung der meisten Arbeitslasten ausgelegt ist.
Wenn keine dieser Optionen Ihren Anforderungen entspricht, können Sie eigene benutzerdefinierte Compute-Klassen definieren und bereitstellen, in denen die Knoteneigenschaften für GKE angegeben werden, die beim Hochskalieren Ihres Clusters verwendet werden sollen. Weitere Informationen finden Sie unter Benutzerdefinierte Compute-Klassen.
Arbeitslastanforderung | Compute-Klasse | Beschreibung | Beispielanwendungsfälle |
---|---|---|---|
Arbeitslasten, die keine bestimmte Hardware erfordern | Allgemeiner Zweck |
Autopilot verwendet die allgemeine Computing-Plattform, wenn Sie in Ihrer Pod-Spezifikation nicht explizit eine Compute-Klasse anfordern. Sie können die allgemeine Plattform in Ihrer Spezifikation nicht explizit auswählen. Unterstützt von der E2-Maschinenserie. Gelegentlich werden Knoten mit der |
|
Arbeitslasten, für die GPUs erforderlich sind | Accelerator |
Kompatible GPU-Typen sind die folgenden:
|
|
CPU- oder Speicheranforderungen, die größer sind als die Limits für Computing-Klassen für allgemeine Zwecke oder bestimmte CPU-Plattformen | Balanced |
Die N2-Maschinenserie (Intel) oder die N2D-Maschinenserie (AMD) |
|
Arbeitslasten mit Anforderungen für bestimmte Maschinenreihen, die nicht von anderen Compute-Klassen abgedeckt werden. | Bestimmte Maschinenreihe |
Weitere Informationen finden Sie unter Autopilot-Pod-Leistung durch Auswahl einer Maschinenserie optimieren. |
|
CPU-intensive Arbeitslasten wie KI/ML-Training oder Hochleistungs-Computing (HPC) | Performance |
Eine Liste der Compute Engine-Maschinenserien, die mit der Computingklasse "Leistung" verfügbar sind, finden Sie unter Unterstützte Maschinenserien. |
|
Single-Thread-pro-Core-Computing und horizontale Skalierung | Scale-Out |
Die Tau-T2A-Maschinenserie (Arm) oder die Tau-T2D-Maschinenserie (x86) |
|
So wählen Sie eine Compute-Klasse in Autopilot aus
Eine ausführliche Anleitung finden Sie unter Computing-Klassen für Autopilot-Pods auswählen.
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 Accelerator
auswählen, müssen Sie auch eine kompatible GPU angeben. Eine Anleitung finden Sie unter GPU-Arbeitslasten in Autopilot bereitstellen. 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 Accelerator
auswählen, müssen Sie auch eine kompatible GPU angeben. Eine Anleitung finden Sie unter GPU-Arbeitslasten in Autopilot bereitstellen.
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.
Zum Bereitstellen der Arbeitslast führt Autopilot Folgendes aus:
- Stellt automatisch Knoten bereit, die von der angegebenen Konfiguration unterstützt werden, um Ihre Pods auszuführen.
- Markierungen werden den neuen Knoten automatisch hinzugefügt, um zu verhindern, dass andere Pods auf diesen Knoten geplant werden. Die Markierungen sind für jede Compute-Klasse eindeutig. Wenn Sie auch eine CPU-Architektur auswählen, fügt GKE eine separate Markierung hinzu, die für diese Architektur eindeutig ist.
- Fügt den bereitgestellten Pods automatisch Toleranzen hinzu, die den angewendeten Markierungen entsprechen, sodass GKE diese Pods auf den neuen Knoten platzieren kann.
Wenn Sie beispielsweise die Compute-Klasse Scale-Out
für einen Pod anfordern:
- Autopilot fügt für diese Knoten eine Markierung hinzu, die für
Scale-Out
spezifisch ist. - Autopilot fügt den
Scale-Out
-Pods eine Toleranz für diese Markierung hinzu.
Pods, die nicht Scale-Out
anfordern, erhalten keine Toleranz. Daher plant GKE diese Pods nicht auf den Scale-Out
-Knoten.
Wenn Sie in der Arbeitslastspezifikation nicht explizit eine Compute-Klasse anfordern, plant Autopilot Pods auf Knoten, die die Standard-Computing-Klasse für allgemeine Zwecke verwenden. Die meisten Arbeitslasten können ohne Probleme in der Compute-Klasse für allgemeine Zwecke ausgeführt werden.
CPU-Architektur anfordern
In einigen Fällen können Ihre Arbeitslasten für eine bestimmte Architektur wie Arm erstellt werden. Einige Compute-Klassen wie etwa „ausgeglichen“ oder „horizontal skalieren“ unterstützen mehrere CPU-Architekturen. Sie können neben einer Compute-Klasse auch eine bestimmte Architektur anfordern. Geben Sie dazu ein Label in Ihrer Knotenauswahl oder Knotenaffinitätsregel an, wie im folgenden Beispiel gezeigt:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-arm
spec:
replicas: 3
selector:
matchLabels:
app: nginx-arm
template:
metadata:
labels:
app: nginx-arm
spec:
nodeSelector:
cloud.google.com/compute-class: COMPUTE_CLASS
kubernetes.io/arch: ARCHITECTURE
containers:
- name: nginx-arm
image: nginx
resources:
requests:
cpu: 2000m
memory: 2Gi
Ersetzen Sie ARCHITECTURE
durch die gewünschte CPU-Architektur, z. B. arm64
oder amd64
.
Wenn Sie nicht explizit eine Architektur anfordern, verwendet Autopilot die Standardarchitektur der angegebenen Compute-Klasse.
Armarchitektur auf Autopilot
Autopilot unterstützt Anfragen für Knoten, die die ARM-CPU-Architektur verwenden. ARM-Knoten sind kostengünstiger als ähnliche x86-Knoten und bieten gleichzeitig Leistungsverbesserungen. Eine Anleitung zum Anfordern von ARM-Knoten finden Sie unter Autopilot-Arbeitslasten in der ARM-Architektur bereitstellen.
Prüfen Sie, ob Sie in Ihren Bereitstellungen die richtigen Images verwenden. Wenn Ihre Pods ARM-Images verwenden und Sie keine ARM-Knoten anfordern, plant Autopilot die Pods auf x86-Knoten und die Pods abstürzen. Ähnlich verhält es sich, wenn Sie versehentlich x86-Images verwenden, aber ARM-Knoten für die Pods anfordern, die dann zum Absturz der Pods führen.
Autopilot-Validierungen für Computing-Klassenarbeitslasten
Autopilot überprüft Ihre Arbeitslastmanifeste, um zu gewährleisten, dass die Anfragen an die Compute-Klasse und -Architektur in Ihrer Knotenauswahl oder in den Knotenaffinitätsregeln korrekt formatiert sind. Es gelten die folgenden Regeln:
- Nicht mehr als eine Compute-Klasse.
- Keine nicht unterstützten Compute-Klassen.
- Die GKE-Version muss die Compute-Klasse unterstützen.
- Maximal eine ausgewählte Architektur.
- Die Compute-Klasse muss die ausgewählte Architektur unterstützen.
Wenn Ihr Arbeitslastmanifest eine dieser Validierungen fehlschlägt, lehnt Autopilot die Arbeitslast ab.
Regionale Verfügbarkeit der Compute-Klasse
In der folgenden Tabelle sind die Regionen beschrieben, in denen bestimmte Rechenklassen und CPU-Architekturen verfügbar sind:
Verfügbarkeit von Compute-Klassen | |
---|---|
Allgemeiner Zweck | Alle Regionen |
Balanced |
Alle Regionen |
Performance |
Alle Regionen, die eine unterstützte Maschinenserie enthalten. |
Scale-Out |
Alle Regionen, die eine entsprechende Compute Engine-Maschinenserie enthalten. Wenn Sie die Verfügbarkeit bestimmter Maschinenserien sehen möchten, verwenden Sie die Filter unter Verfügbare Regionen und Zonen. |
Wenn eine Compute-Klasse in einer bestimmten Region verfügbar ist, ist die Hardware in mindestens zwei Zonen in dieser Region verfügbar.
Standard-, Mindest- und Höchstwerte für Ressourcenanfragen
Wenn Sie eine Compute-Klasse für Ihre Autopilot-Arbeitslasten auswählen, müssen Sie Ressourcenanfragen angeben, die die Mindest- und Höchstwerte für diese Computing-Klasse erfüllen. Informationen zu den Standardanfragen sowie zu den Mindest- und Höchstwerten für jede Anfrageklasse finden Sie unter Ressourcenanfragen und -limits in GKE Autopilot.
Nächste Schritte
- Bestimmte Compute-Klassen in den Autopilot-Arbeitslasten auswählen
- Informationen zu den Standard-, Mindest- und Höchstwerten für Ressourcen pro Plattform