Mindest-CPU-Plattform auswählen


Auf dieser Seite erfahren Sie, wie Sie eine minimale CPU-Plattform für Knoten in Google Kubernetes Engine-Clustern (GKE) angeben.

Vorteile einer Mindest-CPU-Plattform

Die Angabe einer Mindest-CPU-Plattform ist nützlich, wenn Sie bestimmte CPU-Funktionen und -Spezifikationen benötigen, z. B. eine hohe Basisfrequenz oder eine optimierte Energiesparmodusfunktion.

Einige fortgeschrittene, rechenintensive Arbeitslasten in der Grafik-, Spiele- und Analysebranche können bestimmte Funktionen nutzen, die über CPU-Plattformen verfügbar sind, z. B. AVX-2 oder AVX-512. Die Auswahl einer geeigneten CPU-Plattform kann zu einer erheblichen Verbesserung von Ausführungszeit und Leistung führen. Durch die Angabe einer Mindest-CPU-Plattform können Ihre Arbeitslasten diese Verbesserungen auf vorhersehbare Weise realisieren. Außerdem können Sie sich sicher sein, dass Ihre Knoten niemals eine für ihre Arbeitslasten ungeeignete CPU-Plattform verwenden.

Plattform auswählen

In der folgenden Tabelle wird beschrieben, wie Sie eine Mindest-CPU-Plattform auswählen, je nachdem, wie Sie GKE verwenden:

Umfang Beschreibung Unterstützte Clusterkonfiguration
Arbeitslastebene (empfohlen)

Wählen Sie eine Mindestplattform in Ihrer Pod-Spezifikation aus. GKE plant diese Pods so:

  • Autopilot: GKE plant Pods auf Knoten mit der angegebenen Plattform oder höher.
  • Standard: GKE plant nur Pods auf Knoten mit der angegebenen Plattform. Wenn beispielsweise ein Intel Ice Lake-Knotenpool vorhanden ist und neue Pods mindestens den Intel Cascade Lake anfordern, erstellt GKE einen neuen Knotenpool mit Intel Cascade Lake, obwohl Intel Ice Lake eine fortschrittlichere Plattform ist.

Knoten- und Clusterebene Wählen Sie eine Mindest-CPU-Plattform aus, wenn Sie einen neuen Cluster oder Knotenpool im Standardmodus erstellen. Diese Einstellung unterstützt keine automatische Knotenbereitstellung. Eine Anleitung finden Sie unter Mindest-CPU-Plattform auf Knotenpoolebene auswählen. Neuer Standardcluster oder Knotenpool

Preise

Sie können eine Mindest-CPU-Plattform ohne zusätzliche Kosten auswählen.

Hinweis

Führen Sie die folgenden Schritte durch, 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.

Verfügbarkeit der CPU-Plattform prüfen

Die verfügbaren CPU-Plattformen variieren je nach Computing-Zone, in der die Knoten ausgeführt werden. Sie sollten prüfen, welche CPU-Plattformen in einer Zone verfügbar sind, auch wenn Sie Autopilot-Cluster oder regionale Standardcluster verwenden.

Führen Sie den folgenden Befehl aus, um die verfügbaren Plattformen in einer bestimmten Zone zu prüfen:

gcloud compute zones describe COMPUTE_ZONE

Ersetzen Sie COMPUTE_ZONE durch den Namen einer Zone, z. B. us-central1-a. Wenn Sie einen regionalen Clustertyp verwenden, geben Sie den Namen einer Zone in dieser Region an.

Die Ausgabe sieht in etwa so aus:

availableCpuPlatforms:
- Intel Ice Lake
- Intel Cascade Lake
- Intel Skylake
- Intel Broadwell
- Intel Haswell
- Intel Ivy Bridge
- Intel Sandy Bridge
- AMD Milan
- AMD Rome
- Ampere Altra
- Intel Sapphire Rapids

Wenn Sie diese Werte verwenden, um eine Mindest-CPU-Plattform anzufordern, ersetzen Sie Leerzeichen im Plattformnamen durch Unterstriche. Beispiel: AMD_Milan.

Mindest-CPU-Plattform auf Arbeitslastebene auswählen

Wenn Sie GKE Autopilot-Cluster oder GKE-Standardcluster mit automatischer Knotenbereitstellung verwenden, können Sie in Ihrer Pod-Spezifikation eine Mindest-CPU-Plattform auswählen. Wenn Sie die Arbeitslast bereitstellen, plant GKE diese Pods nur auf Knoten mit der angegebenen Plattform oder höher. Dies ist die empfohlene Vorgehensweise.

Autopilot

Fordern Sie in Autopilot eine Mindest-CPU-Plattform und eine Compute-Klasse an. Die Compute-Klasse muss die CPU-Plattform unterstützen. Autopilot unterstützt die Auswahl einer Mindest-CPU-Plattform für die Compute-Klasse Balanced. Eine Liste der verfügbaren CPU-Plattformen in den einzelnen Compute-Klassen finden Sie unter Wann werden bestimmte Compute-Klassen verwendet?.

Speichern Sie das folgende Manifest als min-cpu.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: min-cpu-platform
  labels:
    app: min-cpu
spec:
  replicas: 3
  selector:
    matchLabels:
      app: min-cpu
  template:
    metadata:
      labels:
        app: min-cpu
    spec:
      nodeSelector:
        cloud.google.com/compute-class: "COMPUTE_CLASS"
        supported-cpu-platform.cloud.google.com/PLATFORM: "true"
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: 250m

Dabei gilt:

  • PLATFORM ist der Name der CPU-Plattform, z. B. AMD_Milan. Beim Plattformnamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss durch Unterstriche getrennt sein.
  • COMPUTE_CLASS: Der Name der Compute-Klasse, der Balanced sein muss.

Standard

Fordern Sie in Standardclustern mit aktivierter automatischer Knotenbereitstellung eine CPU-Plattform zusammen mit einer Compute Engine-Rechnerfamilie an. Die Maschinenfamilie muss die CPU-Plattform unterstützen. Eine Liste der unterstützten Plattformen für jede Maschinenfamilie finden Sie unter Compute Engine-CPU-Plattformen.

Speichern Sie das folgende Manifest als min-cpu.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: min-cpu-platform
  labels:
    app: min-cpu
spec:
  replicas: 3
  selector:
    matchLabels:
      app: min-cpu
  template:
    metadata:
      labels:
        app: min-cpu
    spec:
      nodeSelector:
        cloud.google.com/machine-family: MACHINE_FAMILY
        cloud.google.com/requested-min-cpu-platform: PLATFORM
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
        ports:
        - containerPort: 8080
        resources:
          requests:
            cpu: 250m

Dabei gilt:

  • PLATFORM ist der Name der CPU-Plattform, z. B. AMD_Milan. Beim Plattformnamen wird zwischen Groß- und Kleinschreibung unterschieden und er muss durch Unterstriche getrennt sein.
  • MACHINE_FAMILY ist der Name der Maschinenfamilie, z. B. n2d.

Arbeitslast bereitstellen:

kubectl apply -f min-cpu.yaml

Knoten behalten die gleiche Plattform über ihre Laufzeit bei, es sei denn, die angegebene CPU-Plattform ist veraltet. In diesem Fall werden die Knoten auf einer neueren Plattform ausgeführt.

Mindest-CPU-Plattform auf Knotenpoolebene auswählen

Für GKE Standardcluster ohne automatische Knotenbereitstellung können Sie beim Erstellen eines neuen Clusters oder Knotenpools eine Mindest-CPU-Plattform angeben. Sie sollten diesen Ansatz nur verwenden, wenn Sie die Einstellung auf Arbeitslastebene nicht verwenden können. Diese Einstellung hat keine Auswirkungen auf die automatische Bereitstellung von Knoten.

gcloud

Wenn Sie einen neuen Knotenpool mit einer Mindest-CPU-Plattform mit der gcloud CLI erstellen möchten, geben Sie das Flag --min-cpu-platform an und legen Sie den Namen der CPU-Plattform fest:

gcloud container node-pools create POOL_NAME \
    --cluster CLUSTER_NAME \
    --region COMPUTE_REGION \
    --min-cpu-platform PLATFORM

Dabei gilt:

  • POOL_NAME ist der Name des neuen Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Clusters.
  • COMPUTE_REGION: die Region für den Cluster.
  • PLATFORM: Die CPU-Plattform, die Sie im Knotenpool ausführen möchten, z. B. "Intel Broadwell".

Console

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Konfigurieren Sie den Knotenpool wie gewünscht.

  5. Klicken Sie im Navigationsbereich auf Knoten.

  6. Gehen Sie unter Maschinenkonfiguration so vor:

  7. Wählen Sie in der Drop-down-Liste Reihen einen Maschinentyp aus.

  8. Wählen Sie in der Drop-down-Liste Maschinentyp die Option Benutzerdefiniert aus.

  9. Wählen Sie nach Bedarf Kerne und Arbeitsspeicher aus.

  10. Klicken Sie auf CPU-Plattform und GPU.

  11. Wählen Sie in der Drop-down-Liste CPU-Plattform die gewünschte Plattform aus.

  12. Klicken Sie auf Erstellen.

API

Fügen Sie das Attribut minCpuPlatform als Teil des Felds nodeConfig in den Anfragetext ein. Der Wert für minCpuPlatform muss der Name der Plattform sein, z. B. Intel Haswell, Intel Broadwell oder Intel Sandy Bridge.

Die folgende Anfrage erstellt beispielsweise einen neuen Knotenpool, auf dem die Intel Broadwell-Plattform ausgeführt wird:

POST https://container.googleapis.com/v1/projects/PROJECT_ID/regions/COMPUTE_REGION/clusters/CLUSTER_NAME/nodePools

{
  'nodePool': {
    'name': 'POOL_NAME',
    'nodeConfig': {
      'minCpuPlatform': 'Intel Broadwell'
      ...
    }
    ...
  }
}

Dabei gilt:

  • PROJECT_ID ist Ihre Projekt-ID.
  • COMPUTE_REGION: Die Region für den Cluster.
  • CLUSTER_NAME: Der Name Ihres Clusters.
  • POOL_NAME ist der Name des neuen Knotenpools.

Wenn Sie die Plattform beim Erstellen eines Clusters angeben, gilt die Einstellung für die Mindest-CPU-Plattform für den Standardknotenpool im neuen Cluster.

Alternativen

In GKE können Sie Mindest-CPU-Plattformen auch mit den folgenden Methoden auswählen:

Alternativen

Flag auf Clusterebene

--autoprovisioning-min-cpu-platform Flag

Beschränkungen

Die folgenden Einschränkungen gelten für alle Methoden zum Auswählen einer Mindest-CPU-Plattform:

  • Es gelten alle Einschränkungen der Compute Engine-Mindest-CPU-Plattformen.
  • Die Verfügbarkeit bestimmter CPU-Plattformen variiert je nach Zone.
  • Der E2-Maschinentyp unterstützt keine Mindest-CPU-Plattformen. Sie müssen einen anderen Maschinentyp auswählen.
  • Autopilot-Cluster unterstützen die Plattformauswahl nur für die Compute-Klasse Balanced, nicht für die Standard- oder Scale-Out-Compute-Klasse.
  • Wenn Ihre Autopilot-Arbeitslast mehr als 80 vCPUs anfordert, muss die Mindest-CPU-Plattform Intel Ice Lake oder höher sein. Wenn Sie eine weniger fortschrittliche Plattform angeben, verbleibt der Pod möglicherweise auf unbestimmte Zeit im Status Pending.

Die folgende Einschränkung gilt für die Einstellung der Mindest-CPU-Plattform für Cluster oder Knotenpools:

Wenn Sie eine Mindest-CPU-Plattform auswählen, die weniger fortschrittlich ist als die Standard-CPU-Plattform in der Zone, oder wenn die ausgewählte Plattform nicht mehr verfügbar ist, prüft GKE, ob es eine neuere Plattform zum gleichen Preis gibt. Wenn eine neuere Plattform zum gleichen Preis verfügbar ist, erstellt GKE die Knoten mit der neueren Plattform. Wenn es keine neuere Plattform zum gleichen Preis gibt, schlägt die Cluster- oder Knotenpoolerstellung fehl.

Nächste Schritte