Automatisches Erstellen von Knotenpools konfigurieren

Sie können den Aufwand für die manuelle Infrastrukturverwaltung in GKE-Standardclustern (Google Kubernetes Engine) reduzieren, indem Sie GKE Knotenpools für ausstehende Pods automatisch erstellen lassen. In diesem Dokument erfahren Sie, wie Sie die automatische Erstellung von Knotenpools für Cluster und Arbeitslasten aktivieren, Standardwerte für automatisch erstellte Knoten festlegen und die automatische Erstellung für einige gängige Anwendungsfälle auslösen.

Dieses Dokument richtet sich an Clusteradministratoren, ‑operatoren und ‑entwickler, die die Infrastruktur in Standardclustern verwalten und Arbeitslasten in Standardclustern bereitstellen. Weitere Informationen zur automatischen Erstellung von Knotenpools und zu den verschiedenen Aktivierungsmethoden (z. B. ComputeClasses und automatische Knotenbereitstellung auf Clusterebene) finden Sie unter Automatische Erstellung von Knotenpools.

Beschränkungen

Für die automatische Erstellung von Knotenpools gelten die folgenden Einschränkungen:

  • Alle Einschränkungen des Cluster Autoscaler gelten auch für die automatische Erstellung von Knotenpools.
  • Bei Clustern mit mehr als 200 Knotenpools kann es beim Autoscaling zu einer erhöhten Latenz kommen. Jede Konfiguration, die die Erstellung eines neuen Knotenpools auslöst, z. B. die Trennung von Arbeitslasten oder die Verwendung mehrerer Compute-Klassen, erhöht diese Zahl. Weitere Informationen zu Clusterlimits finden Sie unter Limits und Best Practices im Abschnitt „Große Cluster planen“.
  • Alle Ressourcenlimits, die Sie für den Cluster festlegen, wenn Sie die automatische Knotenbereitstellung aktivieren, gelten auch für die Knotenpools, die GKE für ComputeClasses erstellt.
  • Die folgenden Einstellungen werden von ComputeClasses nicht unterstützt:
    • Surge-Upgrades oder Blau/Grün-Upgrades.
    • Knotenintegrität und Secure Boot.
  • Wenn Sie die automatische Erstellung von Knotenpools für eine ComputeClass in GKE-Versionen vor 1.33.3-gke.1136000 aktivieren möchten, müssen Sie auch die automatische Knotenbereitstellung auf Clusterebene aktivieren. Diese Einschränkung gilt nicht für GKE-Versionen ab 1.33.3-gke.1136000.

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.

Voraussetzungen

Mit der automatischen Knotenbereitstellung können Sie die automatische Erstellung von Knotenpools für Ihren gesamten Cluster in jeder GKE-Version aktivieren. Wenn Sie eine ComputeClass verwenden möchten, um das automatische Erstellen von Knotenpools auf Arbeitslastebene zu aktivieren, und Sie die automatische Knotenbereitstellung nicht aktivieren möchten, muss Ihr Cluster die folgenden Anforderungen erfüllen:

  • Verwenden Sie die GKE-Version 1.33.3-gke.1136000 oder höher.
  • Verwenden Sie den Rapid Release Channel.

Damit die automatische Erstellung von Knotenpools für bestimmte Knotenkonfigurationen ausgelöst wird, müssen Sie die entsprechenden Versionsanforderungen erfüllen. Weitere Informationen zur Versionsunterstützung für verschiedene Konfigurationen finden Sie in den GKE-Versionshinweisen (neue Funktionen) oder in der Dokumentation für Ihren Anwendungsfall.

Automatisches Erstellen auf Arbeitslastebene aktivieren

Sie können die automatische Erstellung von Knotenpools für bestimmte Arbeitslasten im Cluster mithilfe einer ComputeClass aktivieren. Mit dem Feld nodePoolAutoCreation in einer ComputeClass-Spezifikation wird gesteuert, ob GKE neue Knotenpools für Pods erstellen kann, die diese ComputeClass auswählen. In GKE-Version 1.33.3-gke.1136000 und höher können Sie die automatische Erstellung von Knotenpools für eine ComputeClass aktivieren, auch wenn die automatische Knotenbereitstellung für den Cluster nicht aktiviert ist. In Versionen vor 1.33.3-gke.1136000 müssen Sie auch die automatische Knotenbereitstellung auf Clusterebene aktivieren.

So aktivieren Sie die automatische Erstellung von Knotenpools für eine ComputeClass:

  1. Verwenden Sie einen neuen oder vorhandenen Standardcluster, der die folgenden Anforderungen erfüllt:

    • Verwendet GKE-Version 1.33.3-gke.1136000 oder höher.
    • Verwendet den Rapid Release Channel.

    Optional können Sie einen neuen Standardcluster erstellen.

  2. Wenn Ihr Cluster die Anforderungen im vorherigen Schritt nicht erfüllt, aktivieren Sie die automatische Knotenbereitstellung auf Clusterebene.

  3. Speichern Sie die folgende Beispiel-ComputeClass als YAML-Datei:

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      -  machineFamily: n4
      -  machineFamily: n2
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie COMPUTE_CLASS durch einen Namen für die neue Compute-Klasse. Weitere Informationen zu den verfügbaren Feldern in ComputeClasses finden Sie in der CustomResourceDefinition für ComputeClass.

  4. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

  5. Speichern Sie das folgende Beispiel-Deployment, in dem eine ComputeClass ausgewählt wird, als helloweb-deploy.yaml:

    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: "1Gi"

  6. Erstellen Sie das Deployment im Cluster:

    kubectl apply -f helloweb-deploy.yaml
    
  7. So prüfen Sie, ob GKE einen neuen Knotenpool für Ihren Pod erstellt hat:

    gcloud container node-pools list \
        --cluster=CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: Der Name Ihres Clusters.
    • CONTROL_PLANE_LOCATION: Die Region oder Zone der Clustersteuerungsebene, z. B. us-central1 oder us-central1-a.

Automatische Knotenbereitstellung auf Clusterebene aktivieren

Wenn Sie die automatische Erstellung von Knotenpools für Ihren gesamten GKE-Cluster aktivieren möchten, verwenden Sie die Einstellung automatische Knotenbereitstellung. Mit der automatischen Knotenbereitstellung kann GKE neue Knotenpools für ausstehende Arbeitslasten im gesamten Cluster basierend auf der Konfiguration in der Pod-Spezifikation oder in einer ComputeClass erstellen. Sie können die automatische Knotenbereitstellung für neue oder vorhandene Cluster aktivieren.

Bevor Sie die automatische Knotenbereitstellung aktivieren, sollten Sie die Größe des primären IPv4-Adressbereichs Ihres VPC-Subnetzes planen. GKE verwendet diesen IP-Adressbereich als primären IP-Adressbereich für Knoten. Je nach Größe und Umfang Ihres Clusters enthält der Standard-IP-Adressbereich für Knoten möglicherweise nicht genügend IP-Adressen, um neuen Knoten zugewiesen zu werden. Wenn Sie die Größe des IP-Adressbereichs für Knoten nach dem Erstellen des Clusters aktualisieren, müssen Sie die GKE-Cluster-Firewallregeln aktualisieren, um Traffic von den neuen IP-Adressen zuzulassen.

Wenn Sie automatisch erstellte Knotenpools in GKE-Versionen vor 1.33.3-gke.1136000 verwenden möchten, müssen Sie die Schritte in diesem Abschnitt ausführen. Sie können die automatische Knotenbereitstellung auch für einen vorhandenen Cluster aktivieren, indem Sie die Clusterkonfiguration in der Google Cloud -Konsole bearbeiten.

Wenn Sie die automatische Knotenbereitstellung beim Erstellen eines neuen Clusters aktivieren möchten, wählen Sie eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster erstellen auf.

    Zur Seite „Kubernetes-Cluster erstellen“

  2. Geben Sie auf der Seite Clustergrundlagen einen Namen und einen Standort für den neuen Cluster an.

  3. Klicken Sie im Navigationsmenü auf Automatisierung.

  4. Klicken Sie auf das Kästchen Automatische Knotenbereitstellung aktivieren. Der Abschnitt Einschränkungen wird angezeigt.

  5. Geben Sie Limits für CPU und Arbeitsspeicher an.

  6. Klicken Sie auf Änderungen speichern.

gcloud

gcloud container clusters create CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning \
    --min-cpu=MINIMUM_CPU \
    --min-memory=MINIMUM_MEMORY \
    --max-cpu=MAXIMUM_CPU \
    --max-memory=MAXIMUM_MEMORY \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters zum Aktivieren der automatischen Knotenbereitstellung
  • CONTROL_PLANE_LOCATION: Die Region oder Zone der Clustersteuerungsebene, z. B. us-central1 oder us-central1-a.
  • MINIMUM_CPU: die Mindestanzahl von Kernen im Cluster
  • MINIMUM_MEMORY: die minimale Speicherkapazität im Cluster in GiB.
  • MAXIMUM_CPU: die maximale Anzahl der Kerne im Cluster Dieses Limit gilt für die Summe der CPU-Kerne aller neuen und vorhandenen Knoten im Cluster, einschließlich manuell erstellter Knotenpools.
  • MAXIMUM_MEMORY: die maximale Speicherkapazität in GiB im Cluster. Dieses Limit gilt für die Summe der Speicherkapazität aller neuen und vorhandenen Knotenpools im Cluster, einschließlich manuell erstellter Knotenpools.

Einstellungen mit einer Konfigurationsdatei für die automatische Knotenbereitstellung konfigurieren

Sie können Ressourcenlimits und Knotenkonfigurationseinstellungen für die automatische Knotenbereitstellung mit einer YAML-Konfigurationsdatei konfigurieren. Mit der Konfigurationsdatei können Sie deklarativ Standardwerte für automatisch erstellte Knotenpools angeben und erweiterte Konfigurationen vornehmen, z. B. die automatische Knotenreparatur aktivieren. Diese Datei hat nichts mit ComputeClasses zu tun, die benutzerdefinierte Kubernetes-Ressourcen sind. Stattdessen ist die Konfigurationsdatei eine erweiterbare Alternative zur Verwendung von Befehlszeilen-Flags zum Angeben von Einstellungen für die automatische Knotenbereitstellung. Weitere Informationen finden Sie unter Standardeinstellungen auf Clusterebene mit einer Konfigurationsdatei.

So erstellen und verwenden Sie eine Konfigurationsdatei:

  1. Erstellen Sie in einem Texteditor eine YAML-Datei in einem Pfad, auf den die Google Cloud CLI zugreifen kann.
  2. Fügen Sie die Konfigurationen hinzu, die Sie festlegen oder ändern möchten, wie im folgenden Beispiel:

    resourceLimits:
      - resourceType: 'cpu'
        minimum: 4
        maximum: 10
      - resourceType: 'memory'
        maximum: 64
      - resourceType: 'nvidia-tesla-t4'
        maximum: 4
    management:
      autoRepair: true
      autoUpgrade: true
    shieldedInstanceConfig:
      enableSecureBoot: true
      enableIntegrityMonitoring: true
    

    In diesem Beispiel sind die folgenden Einstellungen für die automatische Knotenbereitstellung festgelegt:

    • resourceLimits: Legt Ressourcenlimits für CPU, Arbeitsspeicherkapazität und NVIDIA T4-GPUs im Cluster fest. Diese Limits gelten für die Summe der Ressourcenkapazität im Cluster, einschließlich manuell erstellter Knotenpools.
    • management: Aktiviert die automatische Knotenreparatur und das automatische Knotenupgrade für alle neuen automatisch erstellten Knotenpools im Cluster.
    • shieldedInstanceConfig: Aktiviert Secure Boot und Knotenintegritätsmonitoring für alle neuen automatisch erstellten Knotenpools im Cluster.
  3. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Nachdem Sie die Konfigurationsdatei auf den Cluster angewendet haben, verwendet GKE die Einstellungen in der Datei für neue automatisch erstellte Knotenpools im Cluster. Diese Einstellungen gelten nicht für vorhandene Knotenpools, die von GKE im Cluster erstellt wurden.

Ressourcenlimits für die automatische Knotenbereitstellung konfigurieren

Wenn Sie die automatische Knotenbereitstellung auf Clusterebene verwenden, müssen Sie Limits für die Gesamtmenge an Ressourcen konfigurieren, die Ihr Cluster in allen Knotenpools haben kann. Wenn Sie die automatische Knotenbereitstellung für einen Cluster aktivieren möchten, müssen Sie Grenzwerte für die CPU- und Arbeitsspeicherkapazität im Cluster angeben. Wenn Sie andere Arten von angehängten Ressourcen wie GPUs und TPUs verwenden möchten, müssen Sie außerdem Limits für diese Ressourcen angeben. Diese Limits sind nur erforderlich, wenn Sie die Einstellung für die automatische Knotenbereitstellung für Ihren Cluster aktivieren. Wenn Sie nur Compute-Klassen verwenden, um automatisch erstellte Knotenpools zu erhalten, müssen Sie keine Ressourcenlimits konfigurieren.

Sie können Ressourcenlimits für die automatische Erstellung von Knotenpools mit einer der folgenden Methoden hinzufügen oder ändern:

Wählen Sie eine der folgenden Optionen aus, um Ressourcenlimits für einen vorhandenen Cluster zu konfigurieren:

Console

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

    Zur Seite "Kubernetes-Cluster"

  2. Klicken Sie auf den Namen des Clusters. Die Seite Clusterdetails wird geöffnet.

  3. Klicken Sie auf den Tab Details.

  4. Klicken Sie im Abschnitt Automatisierung in der Zeile Automatische Knotenbereitstellung auf Bearbeiten. Der Bereich Automatische Knotenbereitstellung bearbeiten wird geöffnet.

  5. Klicken Sie auf das Kästchen Automatische Knotenbereitstellung aktivieren.

  6. Geben Sie im Bereich Limits Mindest- und Höchstwerte für die CPU- und Speicherkapazität im Cluster an.

  7. So konfigurieren Sie Limits für eine andere Ressource wie GPUs oder TPUs:

    1. Klicken Sie auf Ressource hinzufügen.
    2. Wählen Sie in der Drop-down-Liste Ressourcentyp das GPU-Modell oder den TPU-Maschinentyp aus, z. B. NVIDIA A100 80 GB oder ct5p.
    3. Geben Sie Mindest- und Höchstwerte für die Ressource an.
  8. Optional: Wählen Sie im Abschnitt Knotenpool-Standorte bestimmte Zonen aus, in denen GKE Knoten erstellen soll. Wenn Sie beispielsweise GPU-Arbeitslasten ausführen möchten, wählen Sie Zonen aus, die eine hohe Verfügbarkeit für den ausgewählten GPU-Typ bieten.

  9. Klicken Sie auf Änderungen speichern.

gcloud

Führen Sie einen der folgenden Befehle aus:

  • Geben Sie CPU- und Arbeitsspeicherressourcenlimits an:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --min-cpu=MINIMUM_CPU \
        --min-memory=MINIMUM_MEMORY \
        --max-cpu=MAXIMUM_CPU \
        --max-memory=MAXIMUM_MEMORY
    

    Ersetzen Sie Folgendes:

    • MINIMUM_CPU: die Mindestanzahl von Kernen im Cluster
    • MINIMUM_MEMORY: die minimale Speicherkapazität im Cluster in GiB.
    • MAXIMUM_CPU: die maximale Anzahl der Kerne im Cluster Dieses Limit gilt für die Summe der CPU-Kerne in allen Knotenpools im Cluster, einschließlich manuell erstellter Knotenpools.
    • MAXIMUM_MEMORY: die maximale Speicherkapazität in GiB im Cluster. Dieses Limit gilt für die Summe der Arbeitsspeicherkapazität aller Knotenpools im Cluster, einschließlich manuell erstellter Knotenpools.
  • GPU-Ressourcenlimits angeben:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --min-cpu=MINIMUM_CPU \
        --min-memory=MINIMUM_MEMORY \
        --max-cpu=MAXIMUM_CPU \
        --max-memory=MAXIMUM_MEMORY \
        --min-accelerator=type=GPU_TYPE,count=MINIMUM_GPU_COUNT \
        --max-accelerator=type=GPU_TYPE,count=MAXIMUM_GPU_COUNT
    

    Ersetzen Sie Folgendes:

    • GPU_TYPE: Der GPU-Typ, für den ein Limit festgelegt werden soll, z. B. nvidia-l4.
    • MINIMUM_GPU_COUNT: die Mindestanzahl von GPUs des angegebenen Typs, die der Cluster haben kann.
    • MAXIMUM_GPU_COUNT: die maximale Anzahl von GPUs des angegebenen Typs, die der Cluster haben kann.
  • TPU-Ressourcenlimits angeben:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --min-cpu=MINIMUM_CPU \
        --min-memory=MINIMUM_MEMORY \
        --max-cpu=MAXIMUM_CPU \
        --max-memory=MAXIMUM_MEMORY \
        --min-accelerator=type=TPU_TYPE,count=MINIMUM_TPU_COUNT \
        --max-accelerator=type=TPU_TYPE,count=MAXIMUM_TPU_COUNT
    

    Ersetzen Sie Folgendes:

    • TPU_TYPE: Der TPU-Typ, für den ein Limit festgelegt werden soll. Die folgenden Werte werden unterstützt:
      • tpu-v4-podslice: TPU v4.
      • tpu-v5-lite-podslice: TPU v5e mit Maschinentypen, die mit ct5lp- beginnen.
      • tpu-v5p-slice: TPU v5e mit Maschinentypen, die mit ct5p- beginnen.
      • tpu-v6e-slice: TPU Trillium.
    • MINIMUM_TPU_COUNT: die Mindestanzahl von TPU-Chips des angegebenen Typs, die der Cluster haben kann. Wenn der angegebene Wert größer als die Anzahl der TPU-Chips in einem TPU-Slice mit mehreren Hosts ist, wird Ihr TPU-Slice möglicherweise nicht herunterskaliert.
    • MAXIMUM_TPU_COUNT: die maximale Anzahl von TPU-Chips des angegebenen Typs, die der Cluster haben kann. Geben Sie für TPU-Slices mit mehreren Hosts einen Wert an, der größer als die Anzahl der Chips in jedem Slice ist, damit GKE den Slice atomar skalieren kann. Die Anzahl der Chips in einem Slice ist das Produkt der TPU-Topologie. Wenn die Topologie beispielsweise 2x2x2 ist, beträgt die Anzahl der Chips im Slice 8. Das bedeutet, dass der Wert von MAXIMUM_TPU_COUNT größer als 8 sein muss.

Konfigurationsdatei

  1. Geben Sie in Ihrer Konfigurationsdatei einen der folgenden Feldgruppen im Feld resourceLimits an:

    • Geben Sie CPU- und Arbeitsspeicherressourcenlimits an:

      resourceLimits:
        - resourceType: 'cpu'
          minimum: MINIMUM_CPU
          maximum: MAXIMUM_CPU
        - resourceType: 'memory'
          minimum: MINIMUM_MEMORY
          maximum: MAXIMUM_MEMORY
      

      Ersetzen Sie Folgendes:

      • MINIMUM_CPU: die Mindestanzahl von Kernen im Cluster
      • MINIMUM_MEMORY: die minimale Speicherkapazität im Cluster in GiB.
      • MAXIMUM_CPU: die maximale Anzahl der Kerne im Cluster Dieses Limit gilt für die Summe der CPU-Kerne in allen Knotenpools im Cluster, einschließlich manuell erstellter Knotenpools.
      • MAXIMUM_MEMORY: die maximale Speicherkapazität in GiB im Cluster. Dieses Limit gilt für die Summe der Arbeitsspeicherkapazität aller Knotenpools im Cluster, einschließlich manuell erstellter Knotenpools.
    • GPU-Ressourcenlimits angeben:

      resourceLimits:
        - resourceType: 'cpu'
          minimum: MINIMUM_CPU
          maximum: MAXIMUM_CPU
        - resourceType: 'memory'
          minimum: MINIMUM_MEMORY
          maximum: MAXIMUM_MEMORY
        - resourceType: 'GPU1_TYPE'
          minimum: MINIMUM_GPU1_COUNT
          maximum: MAXIMUM_GPU1_COUNT
        - resourceType: 'GPU2_TYPE'
          minimum: MINIMUM_GPU2_COUNT
          maximum: MAXIMUM_GPU2_COUNT
      

      Ersetzen Sie Folgendes:

      • GPU1_TYPE,GPU2_TYPE: die GPU-Typen, für die Limits festgelegt werden sollen, z. B. nvidia-l4.
      • MINIMUM_GPU1_COUNT,MINIMUM_GPU2_COUNT: die Mindestanzahl von GPUs der angegebenen Typen, die der Cluster haben kann.
      • MAXIMUM_GPU1_COUNT,MAXIMUM_GPU2_COUNT: Die maximale Anzahl von GPUs der angegebenen Typen, die der Cluster haben kann.
    • TPU-Ressourcenlimits angeben:

      resourceLimits:
        - resourceType: 'cpu'
          minimum: MINIMUM_CPU
          maximum: MAXIMUM_CPU
        - resourceType: 'memory'
          minimum: MINIMUM_MEMORY
          maximum: MAXIMUM_MEMORY
        - resourceType: 'TPU1_TYPE'
          minimum: MINIMUM_TPU1_COUNT
          maximum: MAXIMUM_TPU1_COUNT
        - resourceType: 'TPU2_TYPE'
          minimum: MINIMUM_TPU2_COUNT
          maximum: MAXIMUM_TPU2_COUNT
      

      Ersetzen Sie Folgendes:

      • TPU1_TYPE,TPU2_TYPE: Die TPU-Typen, für die Limits festgelegt werden sollen. Folgende Werte werden unterstützt:
        • tpu-v4-podslice: TPU v4.
        • tpu-v5-lite-podslice: TPU v5e mit Maschinentypen, die mit ct5lp- beginnen.
        • tpu-v5p-slice: TPU v5e mit Maschinentypen, die mit ct5p- beginnen.
        • tpu-v6e-slice: TPU Trillium.
      • MINIMUM_TPU1_COUNT,MINIMUM_TPU2_COUNT: Die Mindestanzahl von TPU-Chips des angegebenen Typs, die der Cluster haben kann. Wenn der angegebene Wert größer als die Anzahl der TPU-Chips in einem TPU-Slice mit mehreren Hosts ist, wird Ihr TPU-Slice möglicherweise nicht herunterskaliert.
      • MAXIMUM_TPU1_COUNT,MAXIMUM_TPU2_COUNT: Die maximale Anzahl von TPU-Chips des angegebenen Typs, die der Cluster haben kann. Geben Sie für Multi-Host-TPU-Slices einen Wert an, der größer als die Anzahl der Chips in jedem Slice ist, damit GKE den Slice atomar skalieren kann. Die Anzahl der Chips in einem Slice ist das Produkt der TPU-Topologie. Wenn die Topologie für TPU1_TYPE beispielsweise 2x2x2 ist, beträgt die Anzahl der Chips im Slice 8. Das bedeutet, dass der Wert von MAXIMUM_TPU1_COUNT größer als 8 sein muss.
  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Vorhandene Knotenpools als automatisch erstellt markieren

Nachdem Sie die automatische Knotenbereitstellung auf Clusterebene aktiviert haben, können Sie alle vorhandenen Knotenpools im Cluster als automatisch erstellt markieren. GKE verwaltet die Skalierung in diesen Knotenpools, einschließlich des Löschens der Knotenpools, wenn sie leer sind. Sie können manuell erstellte Knotenpools als automatisch erstellt markieren, damit GKE die Knotenpools für Sie verwaltet.

Wenn Sie die automatische Bereitstellung für Ihren Cluster deaktivieren, verwaltet GKE alle vorhandenen automatisch erstellten Knotenpools im Cluster nicht mehr. Wenn Sie die automatische Bereitstellung für den Cluster später wieder aktivieren, setzt GKE die Verwaltung dieser vorhandenen Knotenpools nicht automatisch fort. Sie müssen diese vorhandenen Knotenpools als automatisch erstellt markieren.

Führen Sie den folgenden Befehl aus, um einen vorhandenen Knotenpool als automatisch erstellt zu kennzeichnen:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning

Ersetzen Sie NODE_POOL_NAME durch den Namen des Knotenpools.

Standardeinstellungen für automatisch erstellte Knotenpools konfigurieren

GKE verwendet Ihre Compute-Klassen und Pod-Spezifikationen, um die Knotentypen zu bestimmen, auf denen Ihre ausstehenden Pods optimal ausgeführt werden können. Optional können Sie Standardeinstellungen konfigurieren, die GKE auf automatisch erstellte Knotenpools anwendet, z. B. ein benutzerdefiniertes IAM-Dienstkonto (Identity and Access Management) für die Knoten oder benutzerdefinierte Konfigurationen für Bootlaufwerke. Diese Standardeinstellungen überschreiben alle entsprechenden Standardwerte, die Google für Ihre Cluster festlegt. Sie können beispielsweise ein Ubuntu-Knoten-Image als Standard für automatisch erstellte Knotenpools festlegen. Dadurch wird das standardmäßige Container-Optimized OS-Knoten-Image von GKE überschrieben.

Sie können Standardeinstellungen auf Clusterebene mit der automatischen Knotenbereitstellung oder auf Arbeitslastebene in ComputeClasses konfigurieren. Bevor Sie eine Einstellung auf einer dieser Ebenen konfigurieren, sollten Sie Folgendes berücksichtigen:

  • Die Einstellungen auf Clusterebene gelten für alle automatisch erstellten Knotenpools im Cluster. Die ComputeClass-Einstellungen gelten nur für Arbeitslasten, die diese ComputeClass verwenden.
  • Wenn Sie dieselbe Standardeinstellung in einer ComputeClass und auf Clusterebene angeben, verwendet GKE die ComputeClass-Einstellung für Arbeitslasten, die die ComputeClass verwenden.
  • Alle Standardwerte, die Sie konfigurieren, gelten nur für neue automatisch erstellte Knotenpools. Vorhandene Knotenpools sind davon nicht betroffen.

In den folgenden Abschnitten erfahren Sie, wie Sie bestimmte Standardeinstellungen konfigurieren.

Standardknoten-Image festlegen

Wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Verwenden Sie in einem ComputeClass-Manifest das Feld nodePoolConfig.imageType. Dieses Feld ist in der GKE-Version 1.32.4-gke.1198000 und höher verfügbar.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - machineFamily: n4
      - machineFamily: n4d
      nodePoolConfig:
        imageType: IMAGE_TYPE
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie IMAGE_TYPE durch einen Wert für das Knoten-Image, der einer der folgenden sein kann:

    • cos_containerd: Container-Optimized OS mit containerd.
    • ubuntu_containerd: Ubuntu mit containerd.
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

Verwenden Sie das Flag --autoprovisioning-image-type, um das Standardknoten-Image über die Befehlszeile festzulegen:

gcloud container clusters update CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning \
    --autoprovisioning-image-type=IMAGE_TYPE

Ersetzen Sie Folgendes:

  • CLUSTER_NAME ist der Name des Clusters.
  • IMAGE_TYPE: Das Knoten-Image. Dies kann einer der folgenden Werte sein:
    • cos_containerd: Container-Optimized OS mit containerd.
    • ubuntu_containerd: Ubuntu mit containerd.

So legen Sie das Standardknoten-Image in einer Konfigurationsdatei fest:

  1. Geben Sie in der Konfigurationsdatei das Feld imageType an:

      imageType: 'IMAGE_TYPE'
    

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Standard-IAM-Dienstkonto für Knoten festlegen

GKE-Knoten verwenden ein IAM-Dienstkonto für Systemaufgaben wie Logging und Monitoring. Wenn Sie das IAM-Dienstkonto für automatisch erstellte Knotenpools ändern möchten, wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Verwenden Sie in einem Computeclass-Manifest das Feld nodePoolConfig.serviceAccount. Dieses Feld ist in der GKE-Version 1.31.4-gke.1072000 und höher verfügbar.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - machineFamily: n4
      - machineFamily: n4d
      nodePoolConfig:
        serviceAccount: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie Folgendes:

    • SERVICE_ACCOUNT_NAME: Der Name des IAM-Dienstkontos, z. B. my-node-account.
    • PROJECT_ID: die Projekt-ID des Dienstkontoprojekts.
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

Wenn Sie die gcloud CLI verwenden, um ein Standarddienstkonto für automatisch erstellte Knotenpools zu konfigurieren, müssen Sie auch Zugriffsbereiche angeben, die für die korrekte Funktion der Knotenpools erforderlich sind.

Wenn Sie das Standarddienstkonto und die Zugriffsbereiche über die Befehlszeile festlegen möchten, verwenden Sie die Flags --autoprovisioning-service-account und --autoprovisioning-scopes:

gcloud container clusters update CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning \
    --autoprovisioning-service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append

Ersetzen Sie Folgendes:

  • SERVICE_ACCOUNT_NAME: Der Name des IAM-Dienstkontos, z. B. my-node-account.
  • PROJECT_ID: die Projekt-ID des Dienstkontoprojekts.

So legen Sie das Standarddienstkonto und die Zugriffsbereiche in einer Konfigurationsdatei fest:

  1. Geben Sie in der Konfigurationsdatei die Felder serviceAccount und scopes an:

    serviceAccount: SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    scopes: https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/trace.append
    

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Standardzonen für automatisch erstellte Knoten festlegen

Standardmäßig werden in GKE Knoten in den folgenden Zonen automatisch erstellt, je nach Clustertyp:

  • Regionale Cluster: GKE erstellt Knoten in drei zufälligen Zonen in der Clusterregion.
  • Zonale Cluster: GKE erstellt Knoten in derselben Zone wie die Steuerungsebene des Clusters.

Sie können manuell eine Liste von Zonen angeben, in denen GKE automatisch Knoten erstellt. Diese Zonen müssen sich in derselben Region wie die Steuerungsebene des Clusters befinden. Wenn Sie beispielsweise einen zonalen Cluster mit der Steuerungsebene in us-central1-a haben, können Sie beliebige Zonen in der Region us-central1 angeben, damit GKE automatisch Knoten erstellt. Wenn Sie die Standardzonen für automatisch erstellte Knoten in einem vorhandenen Cluster ändern, gelten die Änderungen nur für neue Knotenpools, die von GKE erstellt werden.

Wählen Sie eine der folgenden Optionen aus, um die Standardzonen für automatisch erstellte Knoten anzugeben:

ComputeClass

  1. Verwenden Sie in einem ComputeClass-Manifest das Feld spec.priorityDefaults.location.zones. Dieses Feld ist in der GKE-Version 1.33.1-gke.1545000 und höher verfügbar.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorityDefaults:
        location:
          zones: ['ZONE1','ZONE2','...']
      priorities:
      - machineFamily: n4
      - machineFamily: n4d
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie ZONE1,ZONE2,... durch eine durch Kommas getrennte Liste der Standardzonen für automatisch erstellte Knoten, z. B. „us-central1-a','us-central1-b', 'us-central1-f'“. GKE verwendet diese Zonen, wenn bestimmte Regeln im Feld spec.priorities keine explizite Liste von Zonen enthalten.

  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

Verwenden Sie das Flag --autoprovisioning-locations, um die Standardzonen für die automatische Erstellung von Knotenpools in der Befehlszeile festzulegen:

gcloud container clusters update CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning \
    --autoprovisioning-locations=ZONE1,ZONE2,...

Ersetzen Sie ZONE1,ZONE2,... durch eine durch Kommas getrennte Liste der Standardzonen für automatisch erstellte Knoten, z. B. us-central1-a','us-central1-b', 'us-central1-f'.

So legen Sie die Standardzonen für die automatische Erstellung von Knotenpools mithilfe einer Konfigurationsdatei fest:

  1. Geben Sie das Feld autoprovisioningLocations in der Konfigurationsdatei an:

    autoprovisioningLocations:
    - ZONE1
    - ZONE2
    

    Ersetzen Sie ZONE1,ZONE2 durch die Standardzonen für automatisch erstellte Knoten, z. B. „us-central1-a“ und „us-central1-b“.

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Vom Kunden verwaltete Verschlüsselungsschlüssel für die Bootlaufwerkverschlüsselung festlegen

Sie können einen vom Kunden verwalteten Verschlüsselungsschlüssel (Customer-Managed Encryption Key, CMEK) in Cloud Key Management Service angeben, den GKE zum Verschlüsseln der Bootlaufwerke von Knoten in automatisch erstellten Knotenpools verwendet. Sie müssen den Schlüssel erstellen, bevor Sie ihn für die automatische Erstellung von Knotenpools verwenden können. Wenn Sie einen CMEK für Ihre Knoten-Bootlaufwerke festlegen möchten, wählen Sie eine der folgenden Optionen aus:

ComputeClass

In ComputeClasses müssen Sie den Schlüssel in jeder Prioritätsregel im Feld spec.priorities in der ComputeClass angeben.

  1. Verwenden Sie in einem ComputeClass-Manifest das Feld priorities.storage.bootDiskKMSKey:

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - machineFamily: n4
        storage:
          bootDiskKMSKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
      - machineFamily: n4d
        storage:
          bootDiskKMSKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie Folgendes:

    • KEY_PROJECT_ID: die Projekt-ID des Projekts, das den Schlüssel enthält.
    • KEY_LOCATION: der Speicherort des Schlüsselbunds
    • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält
    • KEY_NAME: Der Name des Schlüssels.
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

  1. Geben Sie das Feld bootDiskKmsKey in der Konfigurationsdatei an:

    bootDiskKmsKey: projects/KEY_PROJECT_ID/locations/KEY_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
    

    Ersetzen Sie Folgendes:

    • KEY_PROJECT_ID: die Projekt-ID des Projekts, das den Schlüssel enthält.
    • KEY_LOCATION: der Speicherort des Schlüsselbunds
    • KEY_RING: der Name des Schlüsselbunds, der den Schlüssel enthält
    • KEY_NAME: Der Name des Schlüssels.

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Knotenintegrität und Secure Boot konfigurieren

Sie können Secure Boot und Integritätsmonitoring für automatisch erstellte Knotenpools nur über die Konfigurationsdatei für die automatische Knotenbereitstellung aktivieren.

  1. Geben Sie das Feld shieldedInstanceConfig in der Konfigurationsdatei an:

    shieldedInstanceConfig:
      enableSecureBoot: true
      enableIntegrityMonitoring: true
    

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Automatische Knotenreparatur und automatische Upgrades konfigurieren

Sie können die Einstellungen für automatische Knotenreparaturen und automatische Knotenupgrades in automatisch erstellten Knotenpools ändern. Diese Funktionen sind in allen GKE-Clustern und Knotenpools standardmäßig aktiviert. Wir empfehlen, diese Funktionen aktiviert zu lassen, um die Zuverlässigkeit und Stabilität Ihrer Cluster zu verbessern.

Wenn Sie die Einstellungen für die automatische Knotenreparatur und das automatische Knotenupgrade ändern möchten, wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Verwenden Sie in einem ComputeClass-Manifest das Feld autoRepair und das Feld autoUpgrade im Feld spec.nodePoolConfig. Diese Felder sind in der GKE-Version 1.34.0-gke.2201000 und höher verfügbar.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      nodePoolConfig:
        autoRepair: true
        autoUpgrade: true
      priorities:
      - machineFamily: n4
      - machineFamily: n4d
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

  • Wenn Sie die Einstellungen für die automatische Reparatur und das automatische Upgrade über die Befehlszeile aktivieren möchten, verwenden Sie die Flags --enable-autoprovisioning-autorepair und --enable-autoprovisioning-autoupgrade:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --enable-autoprovisioning-autorepair \
        --enable-autoprovisioning-autoupgrade
    
  • Wenn Sie die Einstellungen für die automatische Reparatur und das automatische Upgrade über die Befehlszeile deaktivieren möchten, verwenden Sie die Flags --no-enable-autoprovisioning-autorepair und --no-enable-autoprovisioning-autoupgrade:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --no-enable-autoprovisioning-autorepair \
        --no-enable-autoprovisioning-autoupgrade
    
  • So ändern Sie die Einstellungen für die automatische Reparatur und das automatische Upgrade von Knoten mit einer Konfigurationsdatei:

    1. Geben Sie die Felder management.autoRepair und management.autoUpgrade in der Konfigurationsdatei an:

      management:
        autoRepair: true
        autoUpgrade: true
      

      Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

    2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

      gcloud container clusters create CLUSTER_NAME \
          --location=CONTROL_PLANE_LOCATION \
          --enable-autoprovisioning \
          --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
      

      Ersetzen Sie Folgendes:

      • CLUSTER_NAME ist der Name des Clusters.
      • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Einstellungen für Surge-Upgrades konfigurieren

Sie können Surge-Upgrade-Einstellungen in automatisch erstellten Knotenpools angeben. Surge-Upgrades sind die Standardstrategie für Knotenupgrades in GKE. Wenn Sie die Surge-Upgrade-Einstellungen ändern möchten, müssen Sie die automatische Bereitstellung von Knoten auf Clusterebene konfigurieren.

  • Verwenden Sie die Flags --autoprovisioning-max-surge-upgrade und --autoprovisioning-max-unavailable-upgrade, um Surge-Upgrade-Einstellungen in der Befehlszeile anzugeben:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-max-surge-upgrade=MAX_SURGE \
        --autoprovisioning-max-unavailable-upgrade=MAX_UNAVAILABLE
    

    Ersetzen Sie Folgendes:

    • MAX_SURGE: die maximale Anzahl von Knoten, die während eines Upgrades dem Knotenpool hinzugefügt werden können
    • MAX_UNAVAILABLE: die maximale Anzahl von Knoten im Knotenpool, die während Upgrades gleichzeitig nicht verfügbar sind
  • So geben Sie Surge-Upgrade-Einstellungen mithilfe einer Konfigurationsdatei an:

    1. Geben Sie die Felder upgradeSettings.maxSurgeUpgrade und upgradeSettings.maxUnavailableUpgrade in der Konfigurationsdatei an:

      upgradeSettings:
        maxSurgeUpgrade: MAX_SURGE
        maxUnavailableUpgrade: MAX_UNAVAILABLE
      

      Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

    2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

      gcloud container clusters create CLUSTER_NAME \
          --location=CONTROL_PLANE_LOCATION \
          --enable-autoprovisioning \
          --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
      

      Ersetzen Sie Folgendes:

      • CLUSTER_NAME ist der Name des Clusters.
      • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

Die von Ihnen angegebenen Surge-Upgrade-Einstellungen gelten nur, wenn in Ihrem Cluster Surge-Upgrades zum Upgraden automatisch erstellter Knotenpools verwendet werden. Führen Sie den folgenden Befehl aus, um die Knotenupgrade-Strategie für neue, automatisch erstellte Knotenpools auf Surge-Upgrades umzustellen:

gcloud container clusters update CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --enable-autoprovisioning \
    --enable-autoprovisioning-surge-upgrade

Wenn Sie die Upgradestrategie ändern, verwendet GKE alle Einstellungen, die Sie zuvor für diese Upgradestrategie konfiguriert haben.

Blau/Grün-Upgrades für neue automatisch erstellte Knotenpools verwenden

Sie können die Strategie für Knotenupgrades für alle neuen, automatisch erstellten Knotenpools auf Blau/Grün-Upgrades umstellen und die Standardeinstellungen für Blau/Grün-Upgrades anpassen. Wenn Sie Ihre Upgradestrategie ändern möchten, müssen Sie die automatische Knotenbereitstellung auf Clusterebene konfigurieren. Alle Änderungen, die Sie vornehmen, gelten nur für neue automatisch erstellte Knotenpools. Sie können auch vorhandene automatisch erstellte Knotenpools aktualisieren, um Blau/Grün-Upgrades zu verwenden.

  • Führen Sie den folgenden Befehl aus, um Blau/Grün-Upgrades und die GKE-Standardeinstellungen für neue, automatisch erstellte Knotenpools zu verwenden:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION
        --enable-autoprovisioning \
        --enable-autoprovisioning-blue-green-upgrade
    
  • Führen Sie den folgenden Befehl aus, um Blau/Grün-Upgrades zu verwenden und eigene Standardeinstellungen für neue, automatisch erstellte Knotenpools zu konfigurieren:

    gcloud container clusters update CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --enable-autoprovisioning-blue-green-upgrade \
        --autoprovisioning-node-pool-soak-duration=NODE_POOL_SOAK_DURATION \
        --autoprovisioning-standard-rollout-policy=batch-node-count=BATCH_NODE_COUNT,batch-soak-duration=BATCH_SOAK_DURATION
    

    Ersetzen Sie Folgendes:

    • NODE_POOL_SOAK_DURATION: Die Dauer in Sekunden, die GKE nach dem Leeren aller Knoten-Batches im blauen Pool wartet, bevor der blaue Pool gelöscht wird. Der Standardwert ist 3600.
    • BATCH_NODE_COUNT: Die Anzahl der Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Der Standardwert ist 1. Wenn Sie den Wert 0 angeben, überspringt GKE die blaue Poolleerungsphase.
    • BATCH_SOAK_DURATION: Die Dauer in Sekunden, die GKE wartet, bevor ein Batch-Drain-Vorgang gestartet wird, nachdem der vorherige Drain-Vorgang abgeschlossen wurde. Der Standardwert ist 0.

Benutzerdefinierte Knoten-Bootlaufwerke konfigurieren

Wenn Sie den Typ und die Größe der Bootlaufwerke angeben möchten, die GKE an jede Knoten-VM in einem automatisch erstellten Knotenpool anhängt, wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Verwenden Sie die Felder bootDiskType und bootDiskSize im Feld spec.priorities.storage in einer ComputeClass:

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - machineFamily: n4
        storage:
          bootDiskType: BOOT_DISK_TYPE
          bootDiskSize: BOOT_DISK_SIZE
      - machineFamily: n4d
        storage:
          bootDiskType: BOOT_DISK_TYPE
          bootDiskSize: BOOT_DISK_SIZE
      whenUnsatisfiable: ScaleUpAnyway
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie Folgendes:

    • BOOT_DISK_TYPE: Der Laufwerkstyp, der als Knoten-Bootlaufwerk verwendet werden soll. Der von Ihnen angegebene Wert muss vom Compute Engine-Maschinentyp unterstützt werden, der von GKE für diese Prioritätsregel verwendet wird. Der Wert muss einer der folgenden sein:
      • pd-balanced: abgestimmter nichtflüchtiger Speicher.
      • pd-standard: nichtflüchtiger Standardspeicher.
      • pd-ssd: auf Leistung ausgelegter Persistent Disk SSD-Speicher.
      • hyperdisk-balanced: Google Cloud Hyperdisk Balanced.
    • BOOT_DISK_SIZE: die Größe des Bootlaufwerks des Knotens in GiB. Der Mindestwert beträgt 10.
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

gcloud

  1. Geben Sie in der Konfigurationsdatei die Felder diskSizeGb und diskType an:

    diskSizeGb: BOOT_DISK_SIZE
    diskType: BOOT_DISK_TYPE
    

    Ersetzen Sie Folgendes:

    • BOOT_DISK_TYPE: Der Laufwerkstyp, der als Knoten-Bootlaufwerk verwendet werden soll. Der von Ihnen angegebene Wert muss vom Compute Engine-Maschinentyp unterstützt werden, der von GKE für diese Prioritätsregel verwendet wird. Der Wert muss einer der folgenden sein:
      • pd-balanced: abgestimmter nichtflüchtiger Speicher.
      • pd-standard: nichtflüchtiger Standardspeicher.
      • pd-ssd: auf Leistung ausgelegter Persistent Disk SSD-Speicher.
      • hyperdisk-balanced: Google Cloud Hyperdisk Balanced.
    • BOOT_DISK_SIZE: die Größe des Bootlaufwerks des Knotens in GiB. Der Mindestwert beträgt 10.

    Wenn Ihre Konfigurationsdatei andere Einstellungen enthält, ändern Sie diese nicht. Alle Änderungen oder Entfernungen in der Konfigurationsdatei wirken sich auch auf die entsprechenden Einstellungen auf Clusterebene aus.

  2. Stellen Sie GKE die Konfigurationsdatei zur Verfügung, indem Sie das Flag --autoprovisioning-config-file und das Flag --enable-autoprovisioning für einen neuen oder vorhandenen Cluster angeben:

    gcloud container clusters create CLUSTER_NAME \
        --location=CONTROL_PLANE_LOCATION \
        --enable-autoprovisioning \
        --autoprovisioning-config-file=PATH_TO_CONFIGURATION_FILE
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • PATH_TO_CONFIGURATION_FILE: der Pfad zur Konfigurationsdatei.

GKE reserviert einen Teil des Knoten-Bootlaufwerks für Systemfunktionen und für sitzungsspezifischen Speicher. Weitere Informationen finden Sie unter Von Knoten-Bootlaufwerk unterstützter sitzungsspezifischer Speicher.

Automatisch erstellte Knotenpools für häufige Szenarien konfigurieren

In den folgenden Abschnitten erfahren Sie, wie Sie automatisch erstellte Knotenpools für bestimmte gängige GKE-Anwendungsfälle anfordern. Weitere Informationen zu zusätzlichen Anwendungsfällen und unterstützten Konfigurationen finden Sie in der Dokumentation zu Ihrem spezifischen Anwendungsfall.

Maschinenserie oder Maschinentyp auswählen

Wählen Sie eine der folgenden Optionen aus, um eine unterstützte Compute Engine-Maschinenserie oder einen unterstützten Maschinentyp auszuwählen:

ComputeClass

  1. Geben Sie in einem ComputeClass-Manifest im Feld spec.priorities eines der folgenden Felder an. Sie können beide Felder im selben ComputeClass-Manifest, aber nicht in derselben Prioritätsregel angeben.

    • Geben Sie das Feld machineFamily in einer Prioritätsregel an, um eine Maschinenserie auszuwählen:

      apiVersion: cloud.google.com/v1
      kind: ComputeClass
      metadata:
        name: COMPUTE_CLASS
      spec:
        priorities:
        - machineFamily: MACHINE_SERIES
        whenUnsatisfiable: ScaleUpAnyway
        nodePoolAutoCreation:
          enabled: true
      

      Ersetzen Sie MACHINE_SERIES durch eine Compute Engine-Maschinenserie, z. B. n4.

    • Geben Sie das Feld machineType in einer Prioritätsregel an, um einen Maschinentyp auszuwählen:

      apiVersion: cloud.google.com/v1
      kind: ComputeClass
      metadata:
        name: COMPUTE_CLASS
      spec:
        priorities:
        - machineType: MACHINE_TYPE
        whenUnsatisfiable: ScaleUpAnyway
        nodePoolAutoCreation:
          enabled: true
      

      Ersetzen Sie MACHINE_TYPE durch einen Compute Engine-Maschinentyp, z. B. c4-standard-96. In GKE-Version 1.33.2-gke.1111000 und höher können Sie in diesem Feld auch benutzerdefinierte Maschinentypen angeben.

    Sie können das Feld machineFamily und das Feld machineType nicht in derselben Prioritätsregel angeben.

  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

  3. Compute-Klasse in einer Arbeitslast auswählen

Pod-Spezifikation

  1. Wählen Sie in einem Pod-Manifest eines der folgenden Knotenlabels aus:

    • Verwenden Sie das Knotenlabel cloud.google.com/machine-family, um eine Maschinenserie auszuwählen:

      apiVersion: v1
      kind: Pod
      metadata:
        name: machine-series-pod
      spec:
        nodeSelector:
          cloud.google.com/machine-family: MACHINE_SERIES
        containers:
        - name: hello-app
          image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
      

      Ersetzen Sie MACHINE_SERIES durch eine Compute Engine-Maschinenserie, z. B. n4.

    • Wenn Sie einen vordefinierten Maschinentyp auswählen möchten, verwenden Sie die Knotenlabels cloud.google.com/machine-family und node.kubernetes.io/instance-type:

      apiVersion: v1
      kind: Pod
      metadata:
        name: machine-series-pod
      spec:
        nodeSelector:
          cloud.google.com/machine-family: MACHINE_SERIES
          node.kubernetes.io/instance-type: MACHINE_TYPE
        containers:
        - name: hello-app
          image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
      

      Ersetzen Sie MACHINE_TYPE durch einen Compute Engine-Maschinentyp in der angegebenen Maschinenserie. Wenn Sie beispielsweise n4 für MACHINE_SERIES angeben, können Sie n4-standard-80 für MACHINE_TYPE angeben.

      In der GKE-Version 1.33.2-gke.1111000 können Sie in diesem Feld auch benutzerdefinierte Maschinentypen angeben.

  2. Erstellen Sie den Pod:

    kubectl apply -f PATH_TO_POD_MANIFEST
    

    Ersetzen Sie PATH_TO_POD_MANIFEST durch den Pfad zum Pod-Manifest.

GPUs auswählen

Wenn Sie GPUs für automatisch erstellte Knotenpools anfordern möchten, wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Geben Sie im ComputeClass-Manifest das Feld spec.priorities.gpu an:

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - gpu:
          type: GPU_TYPE
          count: GPU_COUNT
          driverVersion: DRIVER_VERSION
      whenUnsatisfiable: DoNotScaleUp
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie Folgendes:

    • GPU_TYPE: Der GPU-Typ, der angehängt werden soll, z. B. nvidia-l4.
    • GPU_COUNT: Die Anzahl der GPUs, die an jeden Knoten angehängt werden sollen. Dieser Wert muss mindestens 1 sein.
    • DRIVER_VERSION: die zu installierende GPU-Treiberversion. Dieser Wert muss default oder latest sein. Für dieses Feld ist die GKE-Version 1.31.1-gke.1858000 oder höher erforderlich.
  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

  3. Wählen Sie die ComputeClass in einer GPU-Arbeitslast aus, wie im folgenden Beispiel:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-gpu-pod
    spec:
      nodeSelector:
        cloud.google.com/compute-class: nvidia-l4-class
      containers:
      - name: my-gpu-container
        image: nvidia/cuda:11.0.3-runtime-ubuntu20.04
        command: ["/bin/bash", "-c", "--"]
        args: ["while true; do sleep 600; done;"]
        resources:
          limits:
          nvidia.com/gpu: 1
    

Pod-Spezifikation

Wenn Sie GPUs in Ihren Pod-Spezifikationen auswählen möchten, müssen Sie die automatische Knotenbereitstellung auf Clusterebene konfigurieren und Ressourcenlimits für diesen GPU-Typ festlegen. So konfigurieren Sie GPU-Ressourcenlimits und wählen GPUs in Ihren Pods aus:

  1. Konfigurieren Sie Ressourcenlimits auf Clusterebene für die GPUs, die Sie verwenden möchten, wie im Abschnitt Ressourcenlimits für die automatische Erstellung von Knotenpools konfigurieren beschrieben.
  2. GPUs mit Knotenlabels in der Pod-Spezifikation auswählen:

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-gpu-pod
    spec:
      nodeSelector:
        cloud.google.com/gke-accelerator: GPU_TYPE
        cloud.google.com/gke-accelerator-count: GPU_COUNT
        cloud.google.com/gke-gpu-driver-version: DRIVER_VERSION
      containers:
      - name: my-gpu-container
        image: nvidia/cuda:11.0.3-runtime-ubuntu20.04
        command: ["/bin/bash", "-c", "--"]
        args: ["while true; do sleep 600; done;"]
        resources:
          limits:
          nvidia.com/gpu: GPU_QUANTITY
    

    Ersetzen Sie Folgendes:

    • GPU_TYPE: Der GPU-Typ, der angehängt werden soll, z. B. nvidia-l4.
    • GPU_COUNT: Die Anzahl der GPUs, die an jeden Knoten angehängt werden sollen. Dieser Wert muss mindestens 1 sein.
    • DRIVER_VERSION: die zu installierende GPU-Treiberversion. Dieser Wert muss default oder latest sein. In GKE-Version 1.32.2-gke.1297000 und höher installiert GKE automatisch die Treiberversion default. Für dieses Knotenlabel ist die GKE-Version 1.29.2-gke.1108000 oder höher erforderlich. Weitere Informationen finden Sie unter Treiber mithilfe der automatischen Knotenbereitstellung mit GPUs installieren.
    • GPU_QUANTITY: Die Anzahl der GPUs, die an den Pod angehängt werden sollen. Dieser Wert muss kleiner oder gleich dem Wert von GPU_COUNT sein.

TPUs auswählen

Sie können TPUs in Compute-Klassen oder Pod-Spezifikationen anfordern. In diesem Abschnitt wird davon ausgegangen, dass Sie mit der Cloud TPU-Auswahl vertraut sind und den TPU-Typ, die Topologie und die Anzahl kennen, die Sie verwenden möchten. Die Schritte, die Sie ausführen, hängen davon ab, wie Sie TPUs auswählen:

Laufzeit automatisch erstellter Knoten begrenzen

Sie können eine maximale Dauer angeben, nach der GKE die automatisch erstellten Knoten beendet. Für dieses Zeitlimit gelten Compute Engine-Einschränkungen.

Wählen Sie eine der folgenden Optionen aus:

ComputeClass

  1. Verwenden Sie in einem ComputeClass-Manifest das Feld spec.priorities.maxRunDurationSeconds. Dieses Feld ist in der GKE-Version 1.32.1-gke.1159000 und höher verfügbar.

    apiVersion: cloud.google.com/v1
    kind: ComputeClass
    metadata:
      name: COMPUTE_CLASS
    spec:
      priorities:
      - machine-family: n4
        maxRunDurationSeconds: MAX_RUN_DURATION
      whenUnsatisfiable: DoNotScaleUp
      nodePoolAutoCreation:
        enabled: true
    

    Ersetzen Sie MAX_RUN_DURATION durch die Zeit in Sekunden, die automatisch erstellte Knoten ausgeführt werden können, bevor GKE die Knoten beendet.

  2. Wenden Sie das ComputeClass-Manifest auf den Cluster an:

    kubectl apply -f PATH_TO_COMPUTECLASS_MANIFEST
    

    Ersetzen Sie PATH_TO_COMPUTECLASS_MANIFEST durch den Pfad zur ComputeClass-Manifestdatei.

  3. Compute-Klasse in einer Arbeitslast auswählen

Pod-Spezifikation

  1. Verwenden Sie in Ihrem Pod-Manifest einen Knotenselektor für das Knotenlabel cloud.google.com/gke-max-run-duration-seconds. Dieses Knotenlabel ist in GKE-Version 1.31.2-gke.1518000 und höher verfügbar.

    apiVersion: v1
    kind: Pod
    metadata:
      name: machine-series-pod
    spec:
      nodeSelector:
        cloud.google.com/machine-family: n4
        cloud.google.com/gke-max-run-duration-seconds: MAX_RUN_DURATION
      containers:
      - name: hello-app
        image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
    

    Ersetzen Sie MAX_RUN_DURATION durch die Zeit in Sekunden, die automatisch erstellte Knoten ausgeführt werden können, bevor GKE die Knoten beendet.

  2. Erstellen Sie den Pod:

    kubectl apply -f PATH_TO_POD_MANIFEST
    

    Ersetzen Sie PATH_TO_POD_MANIFEST durch den Pfad zum Pod-Manifest.

Mindest-CPU-Plattform angeben

Die automatische Knotenbereitstellung unterstützt das Erstellen von Knotenpools mit einer angegebenen Mindest-CPU-Plattform. Sie können die Mindest-CPU-Plattform auf Arbeitslastebene (empfohlen) oder auf Clusterebene angeben.

Automatische Erstellung von Knotenpools deaktivieren

In den folgenden Abschnitten erfahren Sie, wie Sie die automatische Erstellung von Knotenpools für bestimmte Knotenpools oder für den gesamten Cluster deaktivieren. Sie können die automatische Erstellung von Knotenpools in einer ComputeClass auch deaktivieren, indem Sie im Feld nodePoolAutoCreation.enabled der ComputeClass den Wert false angeben. Wir empfehlen jedoch nicht, die automatische Erstellung für ComputeClasses zu deaktivieren, da sie ein Hauptvorteil von ComputeClasses ist und Ihnen die Verwendung von Funktionen wie aktiver Migration und Fallback-Prioritäten ermöglicht.

Automatische Erstellung für bestimmte Knotenpools deaktivieren

Sie können verhindern, dass GKE die Knoten in vorhandenen automatisch erstellten Knotenpools verwaltet. Diese Aktion hat folgende Auswirkungen:

  • Der Cluster Autoscaler beendet das Erstellen oder Löschen von Knoten in diesem Knotenpool. Wenn Sie möchten, dass GKE die Knoten automatisch skaliert, können Sie Cluster Autoscaler für diesen Knotenpool separat aktivieren.
  • GKE löscht den Knotenpool nicht, wenn die Anzahl der Knoten null ist.
  • GKE platziert weiterhin ausstehende Pods auf vorhandenen Knoten in diesem Knotenpool, die verfügbar sind. Wenn die automatische Knotenbereitstellung für den Cluster weiterhin aktiviert ist, kann GKE bei Bedarf auch neue Knotenpools für ausstehende Pods erstellen.

Führen Sie den folgenden Befehl aus, um die automatische Erstellung für einen bestimmten Knotenpool zu deaktivieren:

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --no-enable-autoprovisioning

Automatische Knotenbereitstellung für den Cluster deaktivieren

Sie können die automatische Erstellung von Knotenpools für Ihren gesamten Cluster deaktivieren, indem Sie die Clustereinstellung für die automatische Knotenbereitstellung deaktivieren. Diese Aktion hat folgende Auswirkungen:

  • Der Cluster Autoscaler beendet das Erstellen und Löschen von Knoten in vorhandenen automatisch erstellten Knotenpools. Manuell erstellte Knotenpools, die den Cluster-Autoscaler verwenden, sind nicht betroffen.
  • GKE erstellt nicht automatisch neue Knotenpools für ausstehende Arbeitslasten. Cluster überwachen, um festgefahrene Pods zu vermeiden
  • Wenn der Cluster die folgenden Anforderungen erfüllt, erstellt GKE weiterhin neue Knotenpools für Compute-Klassen, für die die automatische Erstellung aktiviert ist:

    • Verwendet GKE-Version 1.33.3-gke.1136000 oder höher.
    • Der Cluster ist für den Rapid Release Channel registriert.

    Wenn der Cluster diese Anforderungen nicht erfüllt, erstellt GKE keine neuen Knotenpools für Compute-Klassen, die die automatische Erstellung ermöglichen.

Wenn Sie die Einstellung für die automatische Knotenbereitstellung auf Clusterebene später wieder aktivieren, wird die automatische Erstellung von Knotenpools für vorhandene Knotenpools nicht wieder aktiviert. Sie müssen einzelne Knotenpools als automatisch erstellt markieren.

Wenn Sie die Einstellung für die automatische Knotenbereitstellung auf Clusterebene deaktivieren möchten, wählen Sie eine der folgenden Optionen aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Kubernetes-Cluster auf:

    Zur Seite "Kubernetes-Cluster"

  2. Klicken Sie auf den Namen des Clusters, den Sie ändern möchten. Die Seite Clusterdetails wird geöffnet.

  3. Klicken Sie auf den Tab Details.

  4. Klicken Sie im Abschnitt Automatisierung in der Zeile Automatische Knotenbereitstellung auf Bearbeiten. Der Bereich Automatische Knotenbereitstellung bearbeiten wird angezeigt.

  5. Entfernen Sie das Häkchen bei Automatische Knotenbereitstellung aktivieren.

  6. Klicken Sie auf Änderungen speichern.

gcloud

gcloud container clusters update CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --no-enable-autoprovisioning

Nächste Schritte