Automatische Knotenbereitstellung verwenden


Auf dieser Seite wird erläutert, wie Sie die automatische Knotenbereitstellung in Standardclustern von Google Kubernetes Engine (GKE) verwenden. Machen Sie sich vor dem Lesen dieser Seite mit der automatischen Bereitstellung von Knoten vertraut.

Hinweise

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.

Voraussetzungen

Die automatische Knotenbereitstellung ist in den folgenden GKE-Releases verfügbar:

  • Version 1.27.6 und höher oder 1.28 und höher für Cloud TPU v4 und v5e.
  • Version 1.28.7-gke.1020000 oder höher und 1.29.2-gke.1035000 oder höher für Cloud TPU v5p.

Automatische Knotenbereitstellung aktivieren

Sie können die automatische Knotenbereitstellung auf einem Cluster mit der gcloud CLI oder der Google Cloud Console aktivieren.

Für die automatische Knotenbereitstellung gelten die folgenden Ressourceneinschränkungen:

Sie sollten den Knoten-IP-Adressbereich sorgfältig planen. Sie können den Knoten-IP-Adressbereich erweitern, nachdem Sie einen Cluster erstellt haben. Es wird jedoch empfohlen, den IP-Adressbereich des Knotens nach dem Erstellen des Clusters nicht zu erweitern, da Sie die Firewallregeln aktualisieren müssen, um den neuen Bereich als Quelle aufzunehmen. Sie können den Pod-IP-Adressbereich mithilfe des zusammenhängenden Multi-Pod-CIDR mit automatischer Knotenbereitstellung erweitern.

gcloud

Führen Sie den folgenden Befehl aus, um die automatische Knotenbereitstellung zu aktivieren:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --min-cpu MINIMUM_CPU \
    --min-memory MIMIMUM_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
  • MINIMUM_CPU: die Mindestanzahl von Kernen im Cluster
  • MINIMUM_MEMORY: die Mindestanzahl von Gigabyte Arbeitsspeicher im Cluster
  • MAXIMUM_CPU: die maximale Anzahl der Kerne im Cluster
  • MAXIMUM_MEMORY: die maximale Anzahl von Gigabyte Arbeitsspeicher im Cluster

Im folgenden Beispiel wird die automatische Knotenbereitstellung auf dem dev-cluster aktiviert. Dadurch wird die Skalierung von einer Clustergesamtgröße von 1 CPU und 1 GB Arbeitsspeicher auf maximal 10 CPU und 64 GB Arbeitsspeicher ermöglicht:

gcloud container clusters update dev-cluster \
    --enable-autoprovisioning \
    --min-cpu 1 \
    --min-memory 1 \
    --max-cpu 10 \
    --max-memory 64

Console

Führen Sie die folgenden Schritte aus, um die automatische Knotenbereitstellung zu aktivieren:

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

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters.

  3. Klicken Sie im Abschnitt Automatisierung unter Automatische Knotenbereitstellung auf Bearbeiten.

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

  5. Legen Sie die gewünschte minimale und maximale CPU- und Arbeitsspeicherauslastung für den Cluster fest.

  6. Klicken Sie auf Änderungen speichern.

Konfigurationsdatei für die automatische Bereitstellung verwenden

Die automatische Knotenbereitstellung kann mit einer YAML-Konfigurationsdatei konfiguriert werden. Die Konfigurationsdatei kann nur eine einzelne Zeile enthalten, wenn damit eine einzelne Einstellung geändert wird. In einer einzelnen Konfigurationsdatei können mehrere Einstellungen festgelegt werden. In diesem Fall werden beim Anwenden der Konfigurationsdatei alle diese Einstellungen geändert.

Einige erweiterte Konfigurationen können nur mithilfe einer Konfigurationsdatei angegeben werden.

Beispiel 1: Wenn Sie die folgende Konfigurationsdatei anwenden, werden automatische Knotenreparaturen und automatische Upgrades für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden:

management:
  autoRepair: true
  autoUpgrade: true

Beispiel 2: Durch die Anwendung der folgenden Konfigurationsdatei würden die folgenden Einstellungen geändert werden:

  • Ressourcenlimits werden für CPU, Arbeitsspeicher und GPU festgelegt. Wenn die Gesamtgröße des Clusters die angegebenen Ressourcenlimits überschreitet, wird die automatische Knotenbereitstellung keine Knoten erstellen.
  • Automatische Knotenreparaturen und automatische Upgrades werden für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden.
  • Secure Boot und Integritätsmonitoring werden für alle neuen Knotenpools aktiviert, die durch die automatische Knotenbereitstellung erstellt werden.
  • Die Größe des Bootlaufwerks wird für neue Knotenpools, die durch die automatische Knotenbereitstellung erstellt werden, auf 100 GB festgelegt.
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
diskSizeGb: 100

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Erstellen Sie eine Datei mit der gewünschten Konfiguration an einem Standort, an dem die gcloud CLI darauf zugreifen kann.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

    gcloud container clusters update CLUSTER_NAME \
       --enable-autoprovisioning \
       --autoprovisioning-config-file FILE_NAME

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Name der Konfigurationsdatei

    Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update.

Standardeinstellungen für die automatische Bereitstellung

Bei der automatischen Knotenbereitstellung werden die Pod-Anforderungen in Ihrem Cluster untersucht, um festzustellen, welcher Knotentyp am besten zu diesen Pods passt. Einige Knotenpooleinstellungen werden jedoch nicht direkt durch Pods bestimmt (z. B. Einstellungen für Knotenupgrades). Sie können für diese Einstellungen Standardwerte festlegen, die dann auf alle neu erstellten Knotenpools angewendet werden.

Standardknoten-Image-Typ festlegen

Sie können den Knoten-Image-Typ angeben, der für alle neuen, automatisch bereitgestellten Knotenpools verwendet werden soll. Verwenden Sie dazu die gcloud CLI oder eine Konfigurationsdatei. Diese Einstellung ist nur für die GKE-Clusterversion 1.20.6-gke.1800 und höher verfügbar.

gcloud

Führen Sie den folgenden Befehl aus, um den Standardtyp des Knoten-Images festzulegen:

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

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • IMAGE_TYPE: Der Knoten-Image-Typ. Dies kann einer der folgenden Werte sein:

    • cos_containerd: Container-Optimized OS mit containerd.
    • ubuntu_containerd: Ubuntu mit containerd.

Datei

Für alle neuen automatisch bereitgestellten Knotenpools können Sie den zu verwendenden Knoten-Image-Typ mithilfe einer Konfigurationsdatei angeben. Die folgende YAML-Konfiguration gibt an, dass für neue automatisch bereitgestellte Knotenpools der Image-Typ cos_containerd ist und Ressourcenlimits für CPU und Arbeitsspeicher zugeordnet sind. Sie müssen maximale Werte für CPU und Arbeitsspeicher angeben, um die automatische Bereitstellung zu aktivieren.

  1. Speichern Sie die YAML-Konfiguration:

    resourceLimits:
      - resourceType: 'cpu'
        minimum: 4
        maximum: 10
      - resourceType: 'memory'
        maximum: 64
    imageType: 'cos_containerd'
    
  2. Wenden Sie die Konfiguration an:

    gcloud container clusters update CLUSTER_NAME \
      --enable-autoprovisioning \
      --autoprovisioning-config-file FILE_NAME
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Name der Konfigurationsdatei

Standardeinstellungen der Identität für automatisch bereitgestellte Knotenpools festlegen

Berechtigungen für Google Cloud-Ressourcen werden von Identitäten bereitgestellt.

Sie können die Standardidentität (entweder ein Dienstkonto oder einen oder mehrere Bereiche) für neue automatisch bereitgestellte Knotenpools mit der gcloud CLI oder über eine Konfigurationsdatei festlegen.

gcloud

Führen Sie zum Festlegen des  IAM-Standarddienstkontos, das bei der automatischen Knotenbereitstellung verwendet werden soll, den folgenden Befehl aus:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning --autoprovisioning-service-account=SERVICE_ACCOUNT

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • SERVICE_ACCOUNT: der Name des Standarddienstkontos

Im folgenden Beispiel wird test-service-account@google.com als Standarddienstkonto für den Cluster dev-cluster festgelegt:

gcloud container clusters update dev-cluster \
    --enable-autoprovisioning --autoprovisioning-service-account=test-service-account@google.com

Führen Sie den folgenden Befehl aus, um die Standardbereiche anzugeben, die von der automatischen Knotenbereitstellung verwendet werden:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning --autoprovisioning-scopes=SCOPE

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • SCOPE: die Google Cloud-Bereiche, die von automatisch bereitgestellten Knotenpools verwendet werden Wenn Sie mehrere Bereiche angeben möchten, trennen Sie die Bereiche durch ein Komma (z. B. SCOPE1, SCOPE2,...).

Im folgenden Beispiel wird der Standardbereich für den Cluster dev-cluster auf devstorage.read_only festgelegt:

gcloud container clusters update dev-cluster \
    --enable-autoprovisioning \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/pubsub,https://www.googleapis.com/auth/devstorage.read_only

Datei

Sie können die von der automatischen Knotenbereitstellung verwendeten Standardwerte für Identitäten mithilfe einer Konfigurationsdatei festlegen. Mit der folgenden YAML-Konfiguration wird das IAM-Dienstkonto festgelegt:

  serviceAccount: SERVICE_ACCOUNT

Ersetzen Sie SERVICE_ACCOUNT durch den Namen des Standarddienstkontos.

Alternativ können Sie die folgende YAML-Konfiguration verwenden, um Standardbereiche festzulegen, die von der automatischen Knotenbereitstellung verwendet werden:

  scopes: SCOPE

Ersetzen Sie SCOPE durch den Google Cloud-Bereich, der von automatisch bereitgestellten Knotenpools verwendet wird. Wenn Sie mehrere Bereiche angeben möchten, trennen Sie die Bereiche durch ein Komma (z. B. SCOPE1, SCOPE2,...).

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Erstellen Sie eine Konfigurationsdatei, in der die Standardwerte der Identitäten an einem Speicherort festgelegt sind, an dem die gcloud CLI darauf zugreifen kann.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

    gcloud container clusters update CLUSTER_NAME \
       --enable-autoprovisioning \
       --autoprovisioning-config-file FILE_NAME

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • FILE_NAME: der Name der Konfigurationsdatei

Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)

Sie können vom Kunden verwaltete Verschlüsselungsschlüssel (Customer Managed Encryption Keys, CMEK) angeben, die von neuen automatisch bereitgestellten Knotenpools verwendet werden.

Sie können die vom Kunden verwaltete Verschlüsselung von Bootlaufwerken mit einer Konfigurationsdatei aktivieren. Mit der folgenden YAML-Konfiguration wird der CMEK-Schlüssel festgelegt:

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

Ersetzen Sie Folgendes:

  • KEY_PROJECT_ID: Ihre Schlüsselprojekt-ID
  • LOCATION: der Speicherort Ihres Schlüsselbunds
  • KEY_RING: der Name des Schlüsselbunds
  • KEY_NAME: der Name des Schlüssels

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Erstellen Sie eine Konfigurationsdatei, in der ein CMEK-Schlüssel an einem Speicherort festgelegt ist, an dem die gcloud CLI darauf zugreifen kann.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

    gcloud container clusters update CLUSTER_NAME \
       --enable-autoprovisioning \
       --autoprovisioning-config-file FILE_NAME

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Name der Konfigurationsdatei

Knotenintegrität

Die automatische Knotenbereitstellung unterstützt die Erstellung von Knotenpools mit aktiviertem Secure Boot und Integritätsmonitoring.

Sie können Secure Boot und das Integritätsmonitoring mit einer Konfigurationsdatei aktivieren. Die folgende YAML-Konfiguration aktiviert Secure Boot und deaktiviert das Integritätsmonitoring:

  shieldedInstanceConfig:
    enableSecureBoot: true
    enableIntegrityMonitoring: false

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für enableSecureBoot und enableIntegrityMonitoring. Speichern Sie die Datei.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

    gcloud container clusters update CLUSTER_NAME \
       --enable-autoprovisioning \
       --autoprovisioning-config-file FILE_NAME

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Name der Konfigurationsdatei

Automatische Knotenreparatur und automatische Upgrades

Die automatische Knotenbereitstellung unterstützt das Erstellen von Knotenpools mit aktivierter automatischer Reparatur und automatischem Upgrade.

gcloud

Führen Sie den folgenden Befehl aus, um die automatische Reparatur und das automatische Upgrade für alle neuen, automatisch bereitgestellten Knotenpools zu aktivieren:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning --enable-autoprovisioning-autorepair \
    --enable-autoprovisioning-autoupgrade

Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters.

Führen Sie den folgenden Befehl aus, um die automatische Reparatur und das automatische Upgrade für alle neuen, automatisch bereitgestellten Knotenpools zu deaktivieren:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning --no-enable-autoprovisioning-autorepair \
    --no-enable-autoprovisioning-autoupgrade

Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters.

Datei

Sie können die automatische Reparatur und das automatische Upgrade von Knoten mit einer Konfigurationsdatei aktivieren oder deaktivieren. Die folgende YAML-Konfiguration aktiviert die automatische Reparatur und deaktiviert das automatische Upgrade:

  management:
    autoRepair: true
    autoUpgrade: false

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für autoUpgrade und autoRepair. Speichern Sie die Datei.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --autoprovisioning-config-file FILE_NAME

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • FILE_NAME: der Name der Konfigurationsdatei

Surge-Upgrades für neue automatisch bereitgestellte Knotenpools verwenden

Sie können die Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools mithilfe der gcloud CLI oder einer Konfigurationsdatei angeben. Standardmäßig ist in GKE die Knotenupgrade-Strategie auf Surge-Upgrades festgelegt.

gcloud

Führen Sie den folgenden Befehl aus, um die Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools zu übernehmen:

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

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • 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

Datei

Mithilfe einer Konfigurationsdatei wie der Folgenden können Sie Surge-Upgrade-Einstellungen für alle neuen, automatisch bereitgestellten Knotenpools festlegen:

  upgradeSettings:
    maxSurgeUpgrade: 1
    maxUnavailableUpgrade: 2

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den gcloud zugreifen kann. Bearbeiten Sie die Werte für maxSurgeUpgrade und maxUnavailableUpgrade. Speichern Sie die Datei.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --autoprovisioning-config-file FILE_NAME

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • FILE_NAME: der Name der Konfigurationsdatei

Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update.

Führen Sie den folgenden Befehl aus, um wieder zu Surge-Upgrades für neue, automatisch bereitgestellte Knotenpools zu wechseln:

gcloud container clusters update CLUSTER_NAME \
  --enable-autoprovisioning \
  --enable-autoprovisioning-surge-upgrade

Ersetzen Sie CLUSTER_NAME durch den Namen des Clusters.

Optional können Sie die Flags für bestimmte Einstellungen wie in den vorherigen Befehlen angeben. Die vorherige Konfiguration wird von GKE für die Upgradestrategie wiederverwendet, sofern festgelegt.

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

Sie können Blau/Grün-Upgrades für alle neuen, automatisch bereitgestellten Knotenpools mithilfe der gcloud CLI verwenden. Mit Blau/Grün-Upgrades können Sie die Standardeinstellungen verwenden oder anpassen, um Ihre Umgebung zu optimieren. Weitere Informationen zu Blau/Grün-Upgrades finden Sie unter Blau/Grün-Upgrades.

Informationen zum Aktualisieren der Knotenupgrade-Strategie für einen vorhandenen automatisch bereitgestellten Knotenpool finden Sie unter Surge-Upgrade für einen vorhandenen Knotenpool aktivieren oder deaktivieren und unter Vorhandene Blau/Grün-Upgradestrategie für einen Knotenpool aktualisieren.

Die folgenden Variablen werden in den unten aufgeführten Befehlen verwendet:

  • CLUSTER_NAME ist der Name des Clusters für den Knotenpool.
  • COMPUTE_ZONE: Die Zone für den Cluster.
  • NODE_POOL_NAME ist der Name des Knotenpools.
  • NUMBER_NODES: Die Anzahl der Knoten im Knotenpool in jeder der Clusterzonen.
  • BATCH_NODE_COUNT: Die Anzahl der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Die Standardeinstellung ist eins. Wenn sie auf null gesetzt ist, wird die blaue Poolleerungsphase übersprungen.
  • BATCH_PERCENT: Der Prozentsatz der blauen Knoten, die während der blauen Poolleerungsphase in einem Batch geleert werden sollen. Der Wert muss im Bereich von 0,0 bis 1,0 liegen.
  • BATCH_SOAK_DURATION: Die Dauer in Sekunden, die nach jeder Batchleerung gewartet werden soll. Die Standardeinstellung ist null.
  • NODE_POOL_SOAK_DURATION: Die Wartezeit in Sekunden nach Abschluss des Leerens aller Batches. Die Standardeinstellung beträgt 3.600 Sekunden.

Die Standardeinstellungen für Blau/Grün-Upgrades sind:

  • BATCH_NODE_COUNT = 1
  • BATCH_SOAK_DURATION = 0 Sekunden
  • NODE_POOL_SOAK_DURATION = 3.600 Sekunden (1 Stunde)

Cluster aktualisieren, um Blau/Grün-Upgrades für neue, automatisch bereitgestellte Knotenpools zu verwenden

In den folgenden Befehlen wird mit gcloud container clusters update die Knotenupgrade-Strategie für neue, automatisch bereitgestellte Knotenpools aktualisiert.

Sie können diese Flags auch in folgenden Fällen verwenden:

Führen Sie den folgenden Befehl aus, um einen Cluster für die Verwendung von Blau/Grün-Upgrades mit Standardeinstellungen für neue, automatisch bereitgestellte Knotenpools zu aktualisieren:

gcloud container clusters update CLUSTER_NAME \
  --enable-autoprovisioning \
  --enable-autoprovisioning-blue-green-upgrade

Sie können einen Cluster aktualisieren, um Blau/Grün-Upgrades mit spezifischen Einstellungen für neue, automatisch bereitgestellte Knotenpools zu verwenden. Diese Befehle können auch ohne das Flag --enable-autoprovisioning-blue-green-upgrade verwendet werden, um die Einstellungen zu aktualisieren.

Der folgende Befehl verwendet BATCH_NODE_COUNT, um eine Batchgröße für die absolute Knotenanzahl festzulegen:

gcloud container clusters update CLUSTER_NAME \
  --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

Sie können auch BATCH_PERCENT verwenden, um eine prozentuale Batchgröße festzulegen. Ersetzen Sie dabei batch-node-count im letzten Befehl durch batch-percent und verwenden Sie eine Dezimalzahl zwischen 0 und 1 (25 % ist z. B. 0.25). Informationen zum Festlegen von prozentualen Batchgrößen finden Sie unter Knotenpool mit Blau/Grün-Upgrade aktualisieren und dabei prozentuale Batchgrößen verwenden.

Benutzerdefinierte Bootlaufwerke

Die automatische Knotenbereitstellung unterstützt die Erstellung von Knotenpools mit benutzerdefinierten Bootlaufwerken.

Sie können die Einstellung des Bootlaufwerks mit einer Konfigurationsdatei anpassen. GKE reserviert einen Teil des Knoten-Bootlaufwerks für die Kubelet-Funktionen. Weitere Informationen finden Sie unter Flüchtiger Speicher mit Bootlaufwerk des Knotens.

Die folgende YAML-Konfiguration bewirkt, dass die automatische Knotenbereitstellung Knotenpools mit SSD-Laufwerken mit einer Größe von 100 GB erstellt:

  diskSizeGb: 100
  diskType: pd-ssd

Geben Sie Folgendes an:

  • diskSizeGb: die Größe des Laufwerks in GB
  • diskType: der Typ des Laufwerks, nämlich einer der folgenden Werte:
    • pd-balanced (Standard)
    • pd-standard
    • pd-ssd. Wenn Sie in der GKE-Version 1.22 und früher pd-ssd angeben, berücksichtigt die automatische Knotenbereitstellung beim Erstellen von Knotenpools nur N1-Maschinentypen.

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Erstellen Sie eine Datei mit der gewünschten Bootlaufwerkkonfiguration an einem Speicherort, an dem die gcloud CLI darauf zugreifen kann.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

    gcloud container clusters update CLUSTER_NAME \
       --enable-autoprovisioning \
       --autoprovisioning-config-file FILE_NAME

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Name der Konfigurationsdatei

Von GKE verwaltete Pods von Arbeitslasten trennen

Als Clusteradministrator können Sie Pods trennen, die GKE von Ihren Arbeitslasten verwaltet. Diese Trennung trägt dazu bei, Probleme mit dem Herunterskalieren zu vermeiden, wenn im Cluster nicht ausgelastete Knoten vorhanden sind, auf denen System-Pods ausgeführt werden.

Das folgende Beispiel zeigt, wie Sie verwaltete Pods mithilfe einer Kombination aus automatischer Knotenbereitstellung sowie Kubernetes-Markierungen und -Toleranzen von Ihren Arbeitslasten trennen können.

  1. Erstellen Sie einen Cluster mit einem Standardknotenpool von e2-standard-2-VMs und wenden Sie eine Knotenmarkierung an, mit der GKE-Systemarbeitslasten nur auf diesen Knoten ausgeführt werden können:

    gcloud container clusters create test-cluster \
        --machine-type=e2-standard-2 \
        --node-taints=components.gke.io/gke-managed-components=true:NoSchedule
    
  2. Aktivieren Sie die automatische Knotenbereitstellung für Ihren Cluster:

    gcloud container clusters update test-cluster \
        --enable-autoprovisioning \
        --min-cpu 1 \
        --min-memory 1 \
        --max-cpu 10 \
        --max-memory 64
    

    Ihr Cluster kann zwischen einer Clustergesamtgröße von 1 CPU und 1 GB Arbeitsspeicher auf maximal 10 CPU und 64 GB Arbeitsspeicher skaliert werden.

  3. Testen Sie diese Konfiguration. Speichern Sie dazu das folgende Beispielmanifest als nginx.yaml:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
      labels:
        env: test
    spec:
      containers:
      - name: nginx
        image: nginx
        imagePullPolicy: IfNotPresent
      tolerations:
      - key: dedicated
        operator: Equal
        value: ui-team
        effect: NoSchedule
      nodeSelector:
        dedicated: ui-team
    

    Mit diesem Manifest wird ein Testarbeitslast-Pod im Cluster mit dem Label nodeSelector und der Knotenmarkierung dedicated: ui-team bereitgestellt. Ohne die automatische Knotenbereitstellung kann dieser Arbeitslast-Pod nicht geplant werden, da kein Knotenpool das richtige Label und die entsprechenden Markierungen hat.

  4. Wenden Sie das Manifest auf den Cluster an:

    kubectl apply -f nginx.yaml
    

    Die Ausgabe sieht in etwa so aus:

    pod/nginx created
    
  5. Sehen Sie sich den neuen Knotenpool an, der zum Label ui-team passt:

    kubectl get node --selector=dedicated=ui-team
    

    Die Ausgabe sieht in etwa so aus:

    NAME                                            STATUS   ROLES    AGE   VERSION
    gke-test-nap-e2-medium-14b723z1-19f89fa8-jmhr   Ready    <none>   14s   v1.21.11-gke.900
    

Der Cluster trennt Ihre Arbeitslasten von verwalteten GKE-Pods.

Laufzeit von automatisch bereitgestellten Knoten begrenzen

Ab GKE-Version 1.31.1-gke.1146000 können Sie die Laufzeit automatisch bereitgestellter Knoten mithilfe der Knotenauswahl cloud.google.com/gke-max-run-duration-seconds begrenzen. Fügen Sie Ihrem Manifest das folgende Feld hinzu:

spec:
  nodeSelector:
    cloud.google.com/gke-max-run-duration-seconds: "MAX_RUN_DURATION"

Ersetzen Sie MAX_RUN_DURATION durch die Dauer in Sekunden, über die der automatisch bereitgestellte Knoten ausgeführt werden soll, bevor er automatisch beendet wird. Informationen zu Einschränkungen finden Sie unter Einschränkungen für die maximale Ausführungsdauer.

Beschleuniger für neue automatisch bereitgestellte Knotenpools verwenden

Sie können die automatische Knotenbereitstellung aktivieren und GKE so konfigurieren, dass GPU- oder Cloud TPU-Beschleuniger automatisch bereitgestellt werden, um die erforderliche Kapazität für die Planung von KI/ML-Arbeitslasten zu gewährleisten.

GPU-Limits konfigurieren

Wenn Sie die automatische Knotenbereitstellung mit GPUs verwenden, können Sie mit der gcloud CLI oder der Google Cloud Console die Höchstgrenze für jeden GPU-Typ im Cluster festlegen. Die GPU-Limitanzahl ist die maximale Anzahl von GPUs. Zum Beispiel zählt eine VM mit 16 GPUs im Rahmen dieses Limits als 16 und nicht als 1. Wenn Sie mehrere GPU-Typen konfigurieren möchten, müssen Sie eine Konfigurationsdatei verwenden.

Führen Sie den Befehl gcloud compute accelerator-types list aus, um die verfügbaren resourceTypes auflisten zu lassen.

gcloud

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --max-cpu MAXIMUM_CPU \
    --max-memory MAXIMUM_MEMORY \
    --min-accelerator type=GPU_TYPE,count=MINIMUM_ACCELERATOR \
    --max-accelerator type=GPU_TYPE,count=MAXIMUM_ACCELERATOR

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • MAXIMUM_CPU: die maximale Anzahl der Kerne im Cluster
  • MAXIMUM_MEMORY: die maximale Anzahl von Gigabyte Arbeitsspeicher im Cluster
  • GPU_TYPE: GPU-Typ
  • MINIMUM_ACCELERATOR: die Mindestanzahl von GPU-Beschleunigern im Cluster
  • MAXIMUM_ACCELERATOR: die maximale Anzahl von GPU-Beschleunigern im Cluster

Im folgenden Beispiel werden die GPU-Limits für den GPU-Beschleunigertyp nvidia-tesla-t4 im Cluster dev-cluster festgelegt:

gcloud container clusters update dev-cluster \
    --enable-autoprovisioning \
    --max-cpu 10 \
    --max-memory 64 \
    --min-accelerator type=nvidia-tesla-t4,count=1 \
    --max-accelerator type=nvidia-tesla-t4,count=4

Datei

Wenn Sie eine Konfigurationsdatei verwenden, können Sie Limits für mehrere Grafikprozessortypen laden. Mit der folgenden YAML-Konfiguration werden zwei verschiedene GPU-Typen konfiguriert:

  resourceLimits:
    - resourceType: 'cpu'
      minimum: 4
      maximum: 10
    - resourceType: 'memory'
      maximum: 64
    - resourceType: 'nvidia-tesla-t4'
      maximum: 4
    - resourceType: 'nvidia-tesla-v100'
      maximum: 2

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für cpu und memory. Fügen Sie beliebig viele Werte für resourceType hinzu. Speichern Sie die Datei.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --autoprovisioning-config-file FILE_NAME

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • FILE_NAME: der Name der Konfigurationsdatei

Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update.

Console

Führen Sie die folgenden Schritte aus, um die automatische Knotenbereitstellung mit GPU-Ressourcen zu aktivieren:

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

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters.

  3. Klicken Sie im Abschnitt Automatisierung unter Automatische Knotenbereitstellung auf Bearbeiten.

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

  5. Legen Sie die minimale und maximale CPU- und Arbeitsspeicherauslastung für den Cluster fest.

  6. Klicken Sie auf Ressource hinzufügen.

  7. Wählen Sie den GPU-Typ (z. B. NVIDIA T4) aus, den Sie hinzufügen möchten. Legen Sie die Mindest- und Höchstzahl von GPUs fest, die dem Cluster hinzugefügt werden sollen.

  8. Akzeptieren Sie die Einschränkungen für GPUs in GKE.

  9. Klicken Sie auf Änderungen speichern.

Treiberversion zur Installation auswählen

In GKE-Version 1.29.2-gke.1108000 und höher können Sie eine GPU-Treiberversion für GKE auswählen, die automatisch in automatisch bereitgestellten GPU-Knoten installiert wird. Fügen Sie Ihrem Manifest das folgende Feld hinzu:

spec:
  nodeSelector:
    cloud.google.com/gke-gpu-driver-version: "DRIVER_VERSION"

Ersetzen Sie DRIVER_VERSION durch einen der folgenden Werte:

  • default: der standardmäßige, stabile Treiber für Ihre GKE-Version des Knotens. Wenn Sie den nodeSelector in Ihrem Manifest weglassen, ist dies die Standardoption.
  • latest ist die neueste verfügbare Treiberversion für Ihre GKE-Knotenversion.

Cloud TPUs konfigurieren

Weitere Informationen zur Funktionsweise der automatischen Knotenbereitstellung mit TPUs finden Sie unter Unterstützte ML-Beschleuniger.

Erstellen Sie einen Cluster und konfigurieren Sie Ihre Pods mithilfe der gcloud CLI für die Verwendung von TPU-Ressourcen. Wenn Sie mehrere TPU-Typen konfigurieren möchten, müssen Sie eine Konfigurationsdatei verwenden.

gcloud

  1. Erstellen Sie einen Cluster und definieren Sie die TPU-Limits:

    gcloud container clusters create CLUSTER_NAME \
        --enable-autoprovisioning \
        [--min-cpu  MINIMUM_CPU ] \
        --max-cpu MAXIMUM_CPU \
        [--min-memory MINIMUM_MEMORY ] \
        --max-memory MAXIMUM_MEMORY \
        [--min-accelerator=type=TPU_TYPE,count= MINIMUM_ACCELERATOR ] \
        --max-accelerator=type=TPU_TYPE,count= MAXIMUM_ACCELERATOR
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME ist der Name des Clusters.
    • MINIMUM_CPU: die Mindestanzahl von vCPUs im Cluster
    • MAXIMUM_CPU: die maximale Anzahl von vCPUs im Cluster
    • MINIMUM_MEMORY: die Mindestanzahl von Gigabyte Arbeitsspeicher im Cluster
    • MAXIMUM_MEMORY: die maximale Anzahl von Gigabyte Arbeitsspeicher im Cluster
    • TPU_TYPE: der von Ihnen ausgewählte TPU-Typ. Verwenden Sie tpu-v4-podslice, um TPU v4 auszuwählen. Verwenden Sie tpu-v5-lite-podslice, um TPU v5e mit einem Maschinentyp auszuwählen, der mit ct5lp- beginnt. Verwenden Sie tpu-v5-lite-device, um TPU v5e mit einem Maschinentyp auszuwählen, der mit ct5l- beginnt.
    • MINIMUM_ACCELERATOR: die Mindestanzahl von TPU-Chips im Cluster.
      • Beachten Sie, dass die Verwendung von MINIMUM_ACCELERATOR das Herunterskalieren von TPU-Slices mit mehreren Hosts blockieren kann, selbst wenn count kleiner als die Anzahl der TPU-Chips im Slice ist.
    • MAXIMUM_ACCELERATOR: die maximale Anzahl von TPU-Chips im Cluster
      • Wenn die Pod-Konfiguration ein TPU-Segment mit mehreren Hosts anfordert, erstellt GKE ein solches Segment atomar. Legen Sie den Zählerwert hoch genug fest, um die Bereitstellung aller TPU-Chips der angegebenen Topologie zu ermöglichen. Die Anzahl der Chips in jedem TPU-Slice entspricht dem Produkt der Topologie. Wenn die Topologie des TPU-Slices mit mehreren Hosts beispielsweise 2x2x2 ist, beträgt die Anzahl der TPU-Chips 8, daher muss MAXIMUM_ACCELERATOR größer als 8 sein.

    Im folgenden Beispiel werden die TPU-Limits für die Maschinentypen ct5lp-hightpu-1t, ct5lp-hightpu-4t und ct5lp-hightpu-8t im Cluster dev-cluster festgelegt. Beispielsweise können bis zu zehn ct5lp-hightpu-4t-Maschinen mit jeweils 4 TPU-Chips, 112 vCPUs und 192 GiB-Arbeitsspeicher bereitgestellt werden.

    gcloud container clusters create dev-cluster-inference \
          --enable-autoprovisioning \
          --min-cpu 0 \
          --max-cpu 1120 \
          --min-memory 0 \
          --max-memory 1920 \
          --min-accelerator=type=tpu-v5-lite-podslice,count=0 \
          --max-accelerator=type=tpu-v5-lite-podslice,count=40
    
  2. Erstellen Sie eine Deployment-Spezifikation, die dazu führt, dass ein Pod TPU-Ressourcen anfordert. Das folgende Manifest führt beispielsweise dazu, dass GKE vier ct5lp-hightpu-4t-Knoten bereitstellt:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: tpu-workload
      labels:
        app: tpu-workload
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx-tpu
      template:
        metadata:
          labels:
            app: nginx-tpu
        spec:
          nodeSelector:
            cloud.google.com/gke-tpu-accelerator: tpu-v5-lite-podslice
            cloud.google.com/gke-tpu-topology:  2x2
            cloud.google.com/reservation-name: my-reservation
          containers:
          - name: nginx
            image: nginx:1.14.2
            resources:
              requests:
                google.com/tpu: 4
              limits:
                google.com/tpu: 4
            ports:
            - containerPort: 80
    

    Im Feld nodeSelector definieren Sie den TPU-Typ, die TPU-Topologie und die Beschleunigeranzahl. Dabei gilt:

    • cloud.google.com/gke-tpu-accelerator: Definiert den TPU-Typ. Beispiel: tpu-v4-podslice
    • cloud.google.com/gke-tpu-topology: Definiert die TPU-Topologie, z. B. 2x2x1 oder 4x4x8.

    Wenn Sie eine vorhandene Reservierung für Ihre Arbeitslast verwenden möchten, geben Sie im Feld nodeSelector ein zusätzliches Label an: * cloud.google.com/reservation-name: Definiert den Namen der Reservierung, die GKE für die automatische Bereitstellung der Knoten verwendet.

    Unter limits: google.com/tpu definieren Sie die Anzahl der Chips pro Knoten.

Datei

Sie können Limits für mehrere TPU-Typen mithilfe einer Konfigurationsdatei zuweisen. Mit der folgenden YAML-Konfiguration werden zwei verschiedene TPU-Typen konfiguriert:

  resourceLimits:
    - resourceType: 'cpu'
      maximum: 10000
    - resourceType: 'memory'
      maximum: 10000
    - resourceType: 'tpu-v4-podslice'
      maximum: 32
    - resourceType: 'tpu-v5-lite'
      maximum: 64

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Kopieren Sie die Konfiguration oben in eine Datei an einem Speicherort, auf den die gcloud CLI zugreifen kann. Bearbeiten Sie die Werte für resourceType und maximum. Fügen Sie beliebig viele Werte für resourceType hinzu. Speichern Sie die Datei.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an, indem Sie den folgenden Befehl ausführen:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --autoprovisioning-config-file FILE_NAME

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • FILE_NAME: der Name der Konfigurationsdatei

Weitere Informationen finden Sie in der Dokumentation zu gcloud container clusters update.

Standorte für die automatische Bereitstellung von Knoten

Sie legen die Zonen fest, in denen über die automatische Knotenbereitstellung neue Knotenpools erstellt werden können. Regionale Standorte werden nicht unterstützt. Zonen müssen zu derselben Region wie der Cluster gehören, sind aber nicht auf Knotenstandorte beschränkt, die auf Clusterebene definiert sind. Eine Änderung der Standorte für die automatische Knotenbereitstellung hat keine Auswirkungen auf vorhandene Knotenpools.

Verwenden Sie die gcloud CLI oder eine Konfigurationsdatei, um Standorte festzulegen, an denen durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können.

gcloud

Führen Sie dazu diesen Befehl aus:

gcloud container clusters update CLUSTER_NAME \
  --enable-autoprovisioning --autoprovisioning-locations=ZONE

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: der Name des Clusters
  • ZONE ist die Zone, in der durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können Wenn Sie mehrere Zonen angeben möchten, trennen Sie die Zonen durch ein Komma voneinander ab (z. B. ZONE1, ZONE2,...).

Datei

Mit einer Konfigurationsdatei können Sie Standorte festlegen, an denen durch die automatische Knotenbereitstellung neue Knotenpools erstellt werden können.

Fügen Sie die folgende YAML-Konfiguration hinzu, die den Standort der neuen Knotenpools festlegt:

    autoprovisioningLocations:
      - ZONE

Ersetzen Sie ZONE durch die Zone, in der neue Knotenpools durch die automatische Knotenbereitstellung erstellt werden können. Wenn Sie mehrere Zonen angeben möchten, fügen Sie der Liste weitere Zonen hinzu. Speichern Sie die Datei.

So verwenden Sie eine Konfigurationsdatei für die automatische Bereitstellung:

  1. Erstellen Sie eine Konfigurationsdatei an einem Speicherort, an dem gcloud CLI darauf zugreifen kann.

  2. Wenden Sie die Konfiguration auf Ihren Cluster an:

    gcloud container clusters update CLUSTER_NAME \
        --enable-autoprovisioning \
        --autoprovisioning-config-file FILE_NAME
    

    Ersetzen Sie Folgendes:

    • CLUSTER_NAME: der Name des Clusters
    • FILE_NAME: der Pfad zur Konfigurationsdatei

Nahe beieinander liegende Knoten mit kompakter Platzierung

Ab der GKE-Version 1.25 unterstützt die automatische Knotenbereitstellung die Richtlinie für kompakte Platzierung. Mit der Richtlinie für kompakte Platzierung können Sie GKE anweisen, Knotenpools näher beieinander innerhalb einer Zone zu erstellen.

Zum Definieren einer Richtlinie für kompakte Platzierung fügen Sie der Pod-Spezifikation mit den folgenden Schlüsseln einen nodeSelector hinzu.

  • cloud.google.com/gke-placement-group ist die Kennung, die Sie der Gruppe von Pods zuweisen, die zusammen in derselben kompakten Placement-Gruppe ausgeführt werden sollen.

  • cloud.google.com/machine-family ist der Name der Maschinenfamilie. Weitere Informationen finden Sie unter Maschinenfamilien, die die kompakte Platzierung unterstützen.

Im folgenden Beispiel wird eine Richtlinie für kompakte Platzierung mit einer Placement-Gruppen-ID von placement-group-1 und einer Maschinenfamilie von c2 festgelegt:

apiVersion: v1
kind: Pod
metadata:
  ...
spec:
  ...
  nodeSelector:
    cloud.google.com/gke-placement-group: placement-group-1
    cloud.google.com/machine-family: c2

Weitere Informationen finden Sie unter Kompakte Platzierung für GKE-Knoten definieren.

Automatische Knotenbereitstellung deaktivieren

Wenn Sie die automatische Knotenbereitstellung für einen Cluster deaktivieren, werden Knotenpools nicht mehr automatisch bereitgestellt.

gcloud

Führen Sie den folgenden Befehl aus, um die automatische Knotenbereitstellung für einen Cluster zu deaktivieren:

gcloud container clusters update CLUSTER_NAME \
  --no-enable-autoprovisioning

Ersetzen Sie CLUSTER_NAME durch den Namen Ihres Clusters.

Datei

So deaktivieren Sie die automatische Knotenbereitstellung über die Google Cloud Console:

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

    Zur Seite „Google Kubernetes Engine“

  2. Klicken Sie auf den Namen des Clusters.

  3. Klicken Sie im Abschnitt Automatisierung bei Automatische Bereitstellung von Knoten auf Bearbeiten.

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

  5. Klicken Sie auf Änderungen speichern.

Knotenpool als automatisch bereitgestellt markieren

Nach dem Aktivieren der automatischen Knotenbereitstellung für den Cluster können Sie angeben, welche Knotenpools automatisch bereitgestellt werden sollen. Ein automatisch bereitgestellter Knotenpool wird automatisch gelöscht, wenn er von keinen Arbeitslasten verwendet wird.

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

gcloud container node-pools update NODE_POOL_NAME \
  --enable-autoprovisioning

Ersetzen Sie NODE_POOL_NAME durch den Namen des Knotenpools.

Knotenpool als nicht automatisch bereitgestellt markieren

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

gcloud container node-pools update NODE_POOL_NAME \
  --no-enable-autoprovisioning

Ersetzen Sie NODE_POOL_NAME durch den Namen des Knotenpools.

Benutzerdefinierte Maschinenfamilie verwenden

Sie können eine bestimmte Compute Engine-Maschinenreihe wie n2 oder t2d für Ihre Arbeitslasten auswählen, indem Sie eines der folgenden Felder in Ihrem Manifest festlegen:

  • Legen Sie die Knotenaffinität mit dem Schlüssel von cloud.google.com/machine-family, mit dem Operator In und mit dem Wert für die gewünschte Maschinenfamilie (z. B. n2) fest.
  • Fügen Sie einen nodeSelector mit dem Schlüssel von cloud.google.com/machine-family und mit dem Wert für die gewünschte Maschinenfamilie hinzu.

Im folgenden Beispiel wird für nodeAffinity die Maschinenfamilie n2 festgelegt:

spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: cloud.google.com/machine-family
            operator: In
            values:
            - n2

Nach Anwendung der Änderungen wählt die automatische Knotenbereitstellung den besten Knotenpool mit einem Maschinentyp aus der angegebenen Maschinenreihe aus. Wenn Sie mehrere Einträge für matchExpressions angeben, wählt GKE eine Maschinenreihe aus den angegebenen Einträgen nach dem Zufallsprinzip aus.

Knotenattribute mit einer benutzerdefinierten Compute-Klasse steuern

Wenn Sie die Attribute Ihrer automatisch bereitgestellten Knotenpools genauer steuern möchten, erstellen und verwenden Sie benutzerdefinierte Compute-Klassen. Mit benutzerdefinierten Compute-Klassen können Sie Skalierungsverhalten wie Fallback-Prioritäten bei der Auswahl von Maschinentypen für Knoten oder bestimmte Grenzwerte für die Ressourcennutzung konfigurieren, die die Konsolidierung von Arbeitslasten auf Knoten auslösen, um nicht verwendete Ressourcen freizugeben. Benutzerdefinierte Compute-Klassen sind in der GKE-Version 1.30.3-gke.1451000 und höher verfügbar.

Informationen zu den Funktionen benutzerdefinierter Compute-Klassen und zur Verwendung benutzerdefinierter Compute-Klassen mit der automatischen Knotenbereitstellung finden Sie unter Benutzerdefinierte Compute-Klassen.

Mindest-CPU-Plattform

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.

Nächste Schritte