Integrierte ComputeClasses in GKE


Auf dieser Seite werden die ComputeClasses beschrieben, die in Ihren Google Kubernetes Engine-Clustern (GKE) installiert werden. Sie erfahren mehr über den Namen, die Verfügbarkeit und die Knotenkonfiguration jeder integrierten ComputeClass. Diese Seite richtet sich an Plattformentwickler und App-Operatoren, die eine fundierte Entscheidung darüber treffen möchten, welche ComputeClasses verfügbar sind und welche Klasse für bestimmte Arbeitslasten optimal ist.

Sie sollten mit Compute-Klassen vertraut sein.

Übersicht über integrierte Compute-Klassen

Viele GKE-Arbeitslasten sind Allzweckarbeitslasten, für die keine spezielle Hardware erforderlich ist, z. B. Webserver oder Batchjobs im kleinen Maßstab. Bei diesen Arbeitslasten liegt die Priorität oft darauf, den Aufwand zu reduzieren, der mit der manuellen Verwaltung der Knoteninfrastruktur und der Autoscaling-Konfiguration verbunden ist.

GKE bietet verschiedene integrierte Compute-Klassen für Anwendungsfälle wie die Ausführung von Autopilot-Arbeitslasten in Standardclustern> oder die Platzierung fehlertoleranter allgemeiner Arbeitslasten auf Spot-VMs. Verwenden Sie eine integrierte ComputeClass für Arbeitslasten, die keine bestimmte Hardware (z. B. GPUs) oder bestimmte Knoteneinstellungen (z. B. Linux-Sysctl-Flags) erfordern. Wenn für Ihre Arbeitslasten spezielle Hardware erforderlich ist, verwenden Sie eine benutzerdefinierte ComputeClass.

Verfügbare integrierte ComputeClasses in GKE

In der folgenden Tabelle werden die integrierten ComputeClasses beschrieben, die in GKE verfügbar sind:

Integrierte Compute-Klassen
autopilot

Erstellen Sie On-Demand-Knoten, die die containeroptimierte Autopilot-Compute-Plattform verwenden. Diese ComputeClass ist die Standardeinstellung für Autopilot-Cluster in allen GKE-Versionen, kann aber in bestimmten GKE-Versionen explizit ausgewählt werden.

Dies ist eine Autopilot ComputeClass. Das bedeutet, dass GKE die Knoten auch in Standardclustern für Sie verwaltet. Sie können diese ComputeClass verwenden, um Arbeitslasten im Autopilot-Modus in Standardclustern auszuführen.

Verfügbar in Autopilot-Clustern und Standardclustern, die im Rapid Release Channel registriert sind und auf denen die GKE-Version 1.33.1-gke.1107000 oder höher ausgeführt wird.

autopilot-spot

Erstellen Sie Spot-VMs, die die containeroptimierte Autopilot-Compute-Plattform verwenden. Diese ComputeClass wird standardmäßig auf alle Pods in Autopilot-Clustern angewendet, die in der Pod-Spezifikation explizit Spot-VMs auswählen.

Dies ist eine Autopilot ComputeClass. Das bedeutet, dass GKE die Knoten auch in Standardclustern für Sie verwaltet. Sie können diese ComputeClass verwenden, um Arbeitslasten im Autopilot-Modus in Standardclustern auszuführen.

Verfügbar in Autopilot-Clustern und Standardclustern, die im Rapid Release Channel registriert sind und auf denen die GKE-Version 1.33.1-gke.1107000 oder höher ausgeführt wird.

Preise

Die durch Autopilot angerechneten Preise unterscheiden sich je nach der ComputeClass, die von Ihren Pods angefordert wird. Weitere Informationen finden Sie unter Google Kubernetes Engine-Preise.

Integrierte Auswahl von Compute-Klassen in Arbeitslasten

Wenn Sie beim Bereitstellen einer GKE-Arbeitslast eine integrierte oder benutzerdefinierte Compute-Klasse auswählen möchten, wählen Sie das Label cloud.google.com/compute-class in Ihrem Arbeitslastmanifest aus, wie im folgenden Beispiel:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloweb
  labels:
    app: hello
spec:
  selector:
    matchLabels:
      app: hello
  template:
    metadata:
      labels:
        app: hello
    spec:
      nodeSelector:
        # Replace with the name of a compute class
        cloud.google.com/compute-class: COMPUTE_CLASS 
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: "250m"
            memory: "4Gi"

In diesem Beispiel ist COMPUTE_CLASS der Name einer Compute-Klasse. Sie können für eine bestimmte Arbeitslast nicht mehr als eine ComputeClass auswählen.

Wenn Sie eine Arbeitslast bereitstellen, für die eine ComputeClass ausgewählt wird, verwendet GKE die Eigenschaften dieser ComputeClass, um neue Knoten zum Ausführen der Pods zu erstellen. Wenn Sie beispielsweise die integrierte autopilot-Compute-Klasse in einer Arbeitslast auswählen, werden diese Pods in GKE im Autopilot-Modus ausgeführt.

Standardmäßige Anwendung integrierter Compute-Klassen

Sie können jede ComputeClass in einem Cluster als Standard-ComputeClass für einen bestimmten Namespace festlegen. GKE wendet diese Standardklasse auf alle Pods an, die nicht explizit eine Compute-Klasse auswählen.

Angenommen, Sie haben einen Standardcluster, in dem viele Allzweck-Webserver-Pods in einem serving-Namespace ausgeführt werden. Wenn Sie die integrierte autopilot-ComputeClass als Standard für den Namespace festlegen, werden Ihre Webserver-Pods standardmäßig auf der für Container optimierten Autopilot-Compute-Plattform ausgeführt. Es sind keine Änderungen an den Arbeitslastspezifikationen erforderlich. Für alle Arbeitslasten in diesem Namespace, die andere Hardware benötigen, kann ein Selektor für eine andere ComputeClass hinzugefügt werden.

Weitere Informationen zum Festlegen einer ComputeClass als Standard in einem Namespace finden Sie unter Standard-ComputeClass für einen Namespace konfigurieren.

Nächste Schritte