Knotenpools hinzufügen und verwalten

Auf dieser Seite wird beschrieben, wie Sie Knotenpools, die in Ihren GKE Standard-Clustern (Google Kubernetes Engine) ausgeführt werden, hinzufügen, verwalten, skalieren, upgraden und löschen. Außerdem erfahren Sie, wie Sie Pods in bestimmten Knotenpools bereitstellen und welche Auswirkungen Knotenpool-Upgrades auf laufende Arbeitslasten haben.

Die Informationen auf dieser Seite helfen Ihnen, Ihre GKE Standard-Cluster für Leistung und Skalierbarkeit zu optimieren.

Diese Seite richtet sich an Operatoren, Cloud-Architekten und Entwickler, die Cluster erstellen und konfigurieren und Arbeitslasten in GKE bereitstellen müssen. Weitere Informationen zu gängigen Rollen und Beispielaufgaben, auf die wir in Google Cloud-Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und ‑Aufgaben.

Machen Sie sich vor dem Lesen dieser Seite mit Knotenpools vertraut.

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.

IAM-Dienstkonten für GKE einrichten

GKE verwendet IAM-Dienstkonten, die an Ihre Knoten angehängt sind, um Systemaufgaben wie Logging und Monitoring auszuführen. Diese Knoten-Dienstkonten müssen in Ihrem Projekt mindestens die Rolle Kubernetes Engine Default Node Service Account (roles/container.defaultNodeServiceAccount) haben. Standardmäßig verwendet GKE das Compute Engine-Standarddienstkonto, das automatisch in Ihrem Projekt erstellt wird, als Knotendienstkonto.

So weisen Sie dem Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount zu:

Console

  1. Rufen Sie die Seite Willkommen auf:

    Zur Begrüßungsseite

  2. Klicken Sie im Feld Projektnummer auf  In die Zwischenablage kopieren.
  3. Rufen Sie die IAM-Seite auf.

    IAM aufrufen

  4. Klicken Sie auf Zugriffsrechte erteilen.
  5. Geben Sie im Feld Neue Hauptkonten den folgenden Wert an:
    PROJECT_NUMBER-compute@developer.gserviceaccount.com
    Ersetzen Sie PROJECT_NUMBER durch die kopierte Projektnummer.
  6. Wählen Sie im Menü Rolle auswählen die Rolle Kubernetes Engine Default Node Service Account aus.
  7. Klicken Sie auf Speichern.

gcloud

  1. So finden Sie Ihre Google Cloud Projektnummer:
    gcloud projects describe PROJECT_ID \
        --format="value(projectNumber)"

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

    Die Ausgabe sieht etwa so aus:

    12345678901
    
  2. Weisen Sie dem Compute Engine-Standarddienstkonto die Rolle roles/container.defaultNodeServiceAccount zu:
    gcloud projects add-iam-policy-binding PROJECT_ID \
        --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \
        --role="roles/container.defaultNodeServiceAccount"

    Ersetzen Sie PROJECT_NUMBER durch die Projektnummer aus dem vorherigen Schritt.

Knotenpool einem Standardcluster hinzufügen

Sie können einem GKE Standard-Cluster mithilfe der gcloud CLI, der Google Cloud Console oder Terraform einen neuen Knotenpool hinzufügen. GKE unterstützt auch die automatische Knotenbereitstellung, die die Knotenpools in Ihrem Cluster automatisch basierend auf den Skalierungsanforderungen verwaltet.

Best Practice:

Erstellen Sie ein IAM-Dienstkonto (Identity and Access Management) mit minimalen Berechtigungen für Ihre Knotenpools und verwenden Sie es anstelle des Compute Engine-Standarddienstkontos. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Sicherheit von Clustern erhöhen.

gcloud

Führen Sie zum Erstellen eines Knotenpools den Befehl gcloud container node-pools create aus:

gcloud container node-pools create POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --service-account SERVICE_ACCOUNT

Ersetzen Sie dabei Folgendes:

  • POOL_NAME: der Name des neuen Knotenpools.
  • CLUSTER_NAME ist der Name Ihres vorhandenen Clusters.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • SERVICE_ACCOUNT: der Name des IAM-Dienstkontos, das von Ihren Knoten verwendet werden soll.

    Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

    Wenn Sie ein benutzerdefiniertes Dienstkonto in der gcloud CLI angeben möchten, fügen Sie Ihrem Befehl das folgende Flag hinzu:

    --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com

    Ersetzen Sie SERVICE_ACCOUNT_NAME durch den Namen Ihres Dienstkontos mit minimalen Berechtigungen.

Eine vollständige Liste der optionalen Flags, die Sie angeben können, finden Sie in der Dokumentation zu gcloud container node-pools create.

Die Ausgabe sieht in etwa so aus:

Creating node pool POOL_NAME...done.
Created [https://container.googleapis.com/v1/projects/PROJECT_ID/zones/us-central1/clusters/CLUSTER_NAME/nodePools/POOL_NAME].
NAME: POOL_NAME
MACHINE_TYPE: e2-medium
DISK_SIZE_GB: 100
NODE_VERSION: 1.21.5-gke.1302

In dieser Ausgabe sehen Sie Details zum Knotenpool, z. B. den Maschinentyp und die GKE-Version, die auf den Knoten ausgeführt werden.

Gelegentlich wird der Knotenpool zwar erfolgreich erstellt, doch der Befehl gcloud überschreitet das Zeitlimit, anstatt den Status vom Server zu melden. Mit dem folgenden Befehl können Sie den Status aller Knotenpools prüfen, einschließlich der Pools, die noch nicht vollständig bereitgestellt wurden:

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

Console

Führen Sie die folgenden Schritte aus, um einen Knotenpool einem vorhandenen Standard-Cluster hinzuzufügen:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

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

  3. Klicken Sie auf Knotenpool hinzufügen .

  4. Konfigurieren Sie den Knotenpool.

  5. Klicken Sie im Navigationsmenü auf Sicherheit.

  6. Optional: Geben Sie ein benutzerdefiniertes IAM-Dienstkonto für Ihre Knoten an:
    1. Maximieren Sie auf der Seite Erweiterte Einstellungen den Abschnitt Sicherheit.
    2. Wählen Sie im Menü Dienstkonto das gewünschte Dienstkonto aus.

    Wir empfehlen dringend, ein IAM-Dienstkonto mit minimalen Berechtigungen anzugeben, das Ihre Knoten anstelle des Compute Engine-Standarddienstkontos verwenden können. Eine Anleitung zum Erstellen eines Dienstkontos mit minimalen Berechtigungen finden Sie unter Dienstkonto mit minimalen Berechtigungen verwenden.

  7. Klicken Sie auf Erstellen, um den Knotenpool hinzuzufügen.

Terraform

Verwenden Sie eines der folgenden Beispiele:

  • Fügen Sie einen Knotenpool hinzu, der das Compute Engine-Standard-IAM-Dienstkonto verwendet:
resource "google_container_node_pool" "default" {
  name    = "gke-standard-regional-node-pool"
  cluster = google_container_cluster.default.name

  node_config {
    service_account = google_service_account.default.email
  }
}
  • Fügen Sie einen Knotenpool hinzu, der ein benutzerdefiniertes IAM-Dienstkonto verwendet:
  1. Erstellen Sie ein IAM-Dienstkonto und weisen Sie ihm die Rolle roles/container.defaultNodeServiceAccount für das Projekt zu:

    resource "google_service_account" "default" {
      account_id   = "service-account-id"
      display_name = "Service Account"
    }
    
    data "google_project" "project" {
    }
    
    resource "google_project_iam_member" "default" {
      project = data.google_project.project.project_id
      role    = "roles/container.defaultNodeServiceAccount"
      member  = "serviceAccount:${google_service_account.default.email}"
    }
  2. Erstellen Sie einen Knotenpool, der das neue Dienstkonto verwendet:

    resource "google_container_node_pool" "default" {
      name    = "gke-standard-regional-node-pool"
      cluster = google_container_cluster.default.name
    
      node_config {
        service_account = google_service_account.default.email
      }
    }

Weitere Informationen zur Verwendung von Terraform finden Sie unter Terraform-Unterstützung für GKE.

Knotenpools in einem Standard-Cluster aufrufen

gcloud

Führen Sie zum Auflisten aller Knotenpools eines Standard-Clusters den Befehl gcloud container node-pools list aus:

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

Führen Sie zum Aufrufen der Details eines bestimmten Knotenpools den Befehl gcloud container node-pools describe aus:

gcloud container node-pools describe POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION

Dabei gilt:

  • CLUSTER_NAME ist der Name des Clusters.
  • POOL_NAME ist der Name des Knotenpools, den Sie sich ansehen möchten.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

Console

Führen Sie die folgenden Schritte aus, um Knotenpools für einen Standard-Cluster anzeigen zu lassen:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie in der Clusterliste auf den Namen des Standard-Clusters.

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie aufrufen möchten.

Knotenpool skalieren

Sie können die Knotenpools hoch- oder herunterskalieren, um Leistung und Kosten zu optimieren. Mit GKE-Standard-Knotenpools können Sie einen Knotenpool horizontal skalieren, indem Sie die Anzahl der Knoten im Knotenpool ändern oder einen Knotenpool vertikal skalieren, indem Sie die Maschinenattributkonfiguration der Knoten ändern.

Horizontal skalieren, indem Sie die Knotenzahl ändern

gcloud

Mit dem Befehl gcloud container clusters resize können Sie die Größe der Knotenpools eines Clusters anpassen:

gcloud container clusters resize CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --node-pool POOL_NAME \
    --num-nodes NUM_NODES

Dabei gilt:

  • CLUSTER_NAME ist der Name des Clusters, dessen Größe geändert werden soll.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • POOL_NAME ist der Name des Knotenpools, dessen Größe geändert werden soll.
  • NUM_NODES ist die Anzahl der Knoten im Pool in einem zonalen Cluster. Wenn Sie multizonale oder regionale Cluster verwenden, ist NUM_NODES die Anzahl der Knoten jeder Zone, in der sich der Knotenpool befindet.

Wiederholen Sie diesen Befehl für weitere Knotenpools. Wenn Ihr Cluster nur einen einzigen Knotenpool hat, lassen Sie das Flag --node-pool weg.

Console

Führen Sie die folgenden Schritte aus, um die Größe des Knotenpools Ihres Clusters zu ändern:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

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

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie im Bereich Knotenpools auf den Namen des Knotenpools, dessen Größe Sie anpassen möchten.

  5. Klicken Sie auf Größe ändern .

  6. Geben Sie im Feld Anzahl der Knoten den gewünschten Wert für den Knotenpool ein und klicken Sie dann auf Größe ändern.

  7. Wiederholen Sie den Vorgang nach Bedarf für weitere Knotenpools.

Vertikale Skalierung durch Änderung der Knotenmaschinenattribute

Sie können den konfigurierten Maschinentyp, den Laufwerktyp und die Laufwerkgröße des Knotenpools ändern.

Wenn Sie eines oder mehrere dieser Maschinenattribute bearbeiten, aktualisiert GKE die Knoten anhand der für den Knotenpool konfigurierten Upgradestrategie auf die neue Konfiguration. Wenn Sie die Blau/Grün-Upgradestrategie konfigurieren, können Sie die Arbeitslasten von den ursprünglichen Knoten zu den neuen Knoten migrieren und dabei die ursprünglichen Knoten zurücksetzen, wenn die Migration fehlschlägt. Prüfen Sie die Upgrade-Einstellungen des Knotenpools, um sicherzustellen, dass die konfigurierte Strategie so ist, wie Ihre Knoten aktualisiert werden sollen.

Aktualisieren Sie mit dem folgenden Befehl mindestens eines der markierten Maschinenattribute:

gcloud container node-pools update POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION \
    --machine-type MACHINE_TYPE \
    --disk-type DISK_TYPE \
    --disk-size DISK_SIZE

Lassen Sie alle Flags für Maschinenattribute weg, die Sie nicht ändern möchten. Sie müssen jedoch mindestens ein Maschinenattribut-Flag verwenden, da der Befehl ansonsten fehlschlägt.

Ersetzen Sie dabei Folgendes:

  • POOL_NAME ist der Name des Knotenpools, dessen Größe geändert werden soll.
  • CLUSTER_NAME ist der Name des Clusters, dessen Größe geändert werden soll.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.
  • MACHINE_TYPE: Der Maschinentyp für Knoten. Weitere Informationen finden Sie unter gcloud container node-pools update.
  • DISK_TYPE: Der Typ des Knoten-VM-Bootlaufwerks muss einer von pd-standard, pd-ssd, pd-balanced sein.
  • DISK_SIZE: Die Größe für VM-Bootlaufwerke des Knotens in GB. Der Standardwert ist 100 GB.

Für diese Änderung müssen die Knoten neu erstellt werden, was zu Unterbrechungen Ihrer laufenden Arbeitslasten führen kann. Details zu dieser spezifischen Änderung finden Sie in der entsprechenden Zeile in der Tabelle Manuelle Änderungen, die die Knoten mithilfe einer Knotenupgrade-Strategie neu erstellen, ohne Wartungsrichtlinien zu berücksichtigen. Weitere Informationen zu Knotenupdates finden Sie unter Unterbrechungen durch Knotenupdates planen.

Knotenpool aktualisieren

Für die Knoten eines Clusters ist standardmäßig das automatische Upgrade aktiviert. Automatische Knotenupgrades sorgen dafür, dass die Steuerungsebene und die Knotenversion Ihres Clusters synchron bleiben und die Versionsinkompatibilitätsrichtlinie von Kubernetes einhalten. Dadurch wird sichergestellt, dass die Steuerungsebenen mit Knoten kompatibel sind, die bis zu zwei Nebenversionen älter als die Steuerungsebene sind. Die Steuerungsebenen von Kubernetes 1.29 sind beispielsweise mit den Knoten von Kubernetes 1.27 kompatibel.

Best Practice:

Deaktivieren Sie automatische Knotenupgrades nicht, damit Ihr Cluster von den im vorherigen Abschnitt aufgeführten Upgrades profitieren kann.

Bei GKE-Knotenpool-Upgrades haben Sie die Wahl zwischen zwei konfigurierbaren Upgradestrategien, nämlich Surge-Upgrades und Blau/Grün-Upgrades.

Wählen Sie eine Strategie aus und verwenden Sie die Parameter, um die Strategie so zu optimieren, dass sie die Anforderungen Ihrer Clusterumgebung am besten erfüllt.

So funktionieren Knotenupgrades

Beim Upgrade von Knoten wird die Planung neuer Pods für diese Knoten in GKE beendet. In diesem Fall werden die neu geplanten Pods nach Möglichkeit auf anderen Knoten geplant. Dies ist mit anderen Ereignissen vergleichbar, bei denen der Knoten neu erstellt wird, z. B. beim Aktivieren oder Deaktivieren eines Features im Knotenpool.

Während automatischer oder manueller Knotenupgrades werden PodDisruptionBudgets (PDBs) und der Kulanzzeitraum für Beendigung von Pods maximal eine Stunde lang berücksichtigt. Wenn Pods, die auf dem Knoten ausgeführt werden, nach einer Stunde nicht auf neuen Knoten geplant werden können, führt GKE das Upgrade trotzdem aus. Dieses Verhalten gilt auch, wenn Sie Ihre PDBs so konfigurieren, dass immer alle Repliken verfügbar sind. Dazu setzen Sie das Feld maxUnavailable auf 0 oder 0% oder das Feld minAvailable auf 100% oder auf die Anzahl der Repliken. In all diesen Fällen löscht GKE die Pods nach einer Stunde, damit der Knoten gelöscht werden kann.

Best Practice:

Wenn eine Arbeitslast mehr Flexibilität bei der ordnungsgemäßen Beendigung erfordert, verwenden Sie Blau/Grün-Upgrades, die Einstellungen für eine zusätzliche Übergangszeit bieten, um PDB-Prüfungen über den Standardwert von einer Stunde hinaus zu verlängern.

Weitere Informationen dazu, was bei der Auflösung von Knoten normalerweise zu erwarten ist, finden Sie im Thema zu Pods.

Das Upgrade ist erst abgeschlossen, wenn alle Knoten neu erstellt worden sind und der Cluster den gewünschten Status hat. Die aktualisierten Knoten werden bei der Registrierung auf der Steuerungsebene in GKE als planbar gekennzeichnet.

Neue Knoteninstanzen führen die gewünschte Kubernetes-Version aus sowie:

Damit ein Knotenpool-Upgrade als abgeschlossen gilt, müssen alle Knoten im Knotenpool neu erstellt werden. Wenn ein Upgrade gestartet, aber nicht abgeschlossen wurde und sich in einem teilweise aktualisierten Zustand befindet, spiegelt die Knotenpoolversion möglicherweise nicht die Version aller Knoten wider. Weitere Informationen finden Sie unter Einige Knotenversionen stimmen nach einem unvollständigen Knotenpool-Upgrade nicht mit der Knotenpoolversion überein. Prüfen Sie den Status des Knotenpool-Upgrades, um festzustellen, ob das Upgrade abgeschlossen ist. Wenn der Upgradevorgang über den Aufbewahrungszeitraum hinausgeht, prüfen Sie, ob die Version jedes einzelnen Knotens mit der Version des Knotenpools übereinstimmt.

Knotenpool manuell aktualisieren

Sie können die Version eines Knotenpools manuell auf die Version der Steuerungsebene oder auf eine frühere Version aktualisieren, die noch verfügbar und mit der Steuerungsebene kompatibel ist. Sie können mehrere Knotenpools gleichzeitig manuell aktualisieren, während GKE automatisch jeweils nur einen Knotenpool nacheinander aktualisiert.

Wenn Sie einen Knotenpool manuell aktualisieren, entfernt GKE alleLabels, die Sie einzelnen Knoten mit kubectl hinzugefügt haben. Um dies zu vermeiden, können Sie stattdessen Labels auf Knotenpools anwenden.

Beachten Sie vor dem manuellen Upgrade Ihres Knotenpools die folgenden Bedingungen:

  • Das Upgrade eines Knotenpools kann zu Problemen mit den Arbeitslasten führen, die in diesem Knotenpool ausgeführt werden. Dies lässt sich vermeiden, wenn Sie einen neuen Knotenpool mit der gewünschten Version erstellen und die Arbeitslast migrieren. Nach der Migration können Sie den alten Knotenpool löschen.
  • Wenn Sie einen Knotenpool mit einem Ingress-Objekt in einem fehlerhaften Zustand aktualisieren, wird die Instanzgruppe nicht synchronisiert. Zur Umgehung dieses Problems überprüfen Sie zuerst den Status mit dem Befehl kubectl get ing. Wenn die Instanzgruppe nicht synchronisiert ist, wenden Sie noch einmal das Manifest an, das zum Erstellen des Ingress-Objekts verwendet wurde.

Sie können Knotenpools mithilfe der Google Cloud Console oder der Google Cloud CLI manuell auf eine Version aktualisieren, die mit der Steuerungsebene kompatibel ist.

gcloud

Die folgenden Variablen werden in den Befehlen in diesem Abschnitt verwendet:

  • CLUSTER_NAME ist der Name des Clusters des Knotenpools, der aktualisiert werden soll.
  • NODE_POOL_NAME ist der Name des Knotenpools, der aktualisiert werden soll.
  • CONTROL_PLANE_LOCATION: Der Standort (Region oder Zone) für die Steuerungsebene, z. B. us-central1 oder us-central1-a.
  • VERSION ist die Kubernetes-Version, auf die die Knoten aktualisiert werden. Beispiel: --cluster-version=1.7.2 oder cluster-version=latest.

Knotenpool aktualisieren:

gcloud container clusters upgrade CLUSTER_NAME \
  --node-pool=NODE_POOL_NAME \
  --location=CONTROL_PLANE_LOCATION

Wenn Sie für Knoten eine andere Version von GKE angeben möchten, verwenden Sie das optionale Flag --cluster-version:

gcloud container clusters upgrade CLUSTER_NAME \
  --node-pool=NODE_POOL_NAME \
  --location=CONTROL_PLANE_LOCATION \
  --cluster-version VERSION

Weitere Informationen zum Festlegen von Versionen finden Sie unter Versionsverwaltung.

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

Console

So aktualisieren Sie einen Knotenpool mithilfe der Google Cloud Console:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

  2. Klicken Sie auf den Namen des Clusters.

  3. Klicken Sie auf der Seite Clusterdetails auf den Tab Knoten.

  4. Klicken Sie im Bereich Knotenpools auf den Namen des Knotenpools, den Sie aktualisieren möchten.

  5. Klicken Sie auf  Bearbeiten.

  6. Klicken Sie unter Knotenversion auf Ändern.

  7. Wählen Sie die gewünschte Version aus der Drop-down-Liste Knotenversion aus und klicken Sie auf Ändern.

Es kann einige Minuten dauern, bis die Knotenversion geändert wird.

Einen Pod in einem bestimmten Knotenpool bereitstellen

Sie können einen Pod explizit mithilfe eines nodeSelector in Ihrem Pod-Manifest für einen bestimmten Knotenpool bereitstellen. nodeSelector plant Pods auf Knoten mit einem passenden Label.

Alle GKE-Knotenpools haben Labels im folgenden Format: cloud.google.com/gke-nodepool: POOL_NAME. Fügen Sie dieses Label dem Feld nodeSelector in Ihrem Pod hinzu, wie im folgenden Beispiel gezeigt:

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
    imagePullPolicy: IfNotPresent
  nodeSelector:
    cloud.google.com/gke-nodepool: POOL_NAME

Weitere Informationen finden Sie unter Pods zu Knoten zuweisen.

Alternativ zur Knotenauswahl können Sie auch die Knotenaffinität verwenden. Verwenden Sie die Knotenaffinität, wenn Sie eine „weiche“ Regel wünschen, bei der der Pod versucht, die Einschränkung zu erfüllen, aber selbst dann geplant wird, wenn gegen die Einschränkung verstoßen wird. Weitere Informationen finden Sie unter Knotenaffinität. Sie können auch Ressourcenanfragen für die Container angeben.

Downgrade eines Knotenpools durchführen

Sie können beispielsweise ein Downgrade für einen Knotenpool ausführen, um einem fehlgeschlagenen Knotenpool-Upgrade entgegenzuwirken. Lesen Sie sich die Einschränkungen durch, bevor Sie ein Downgrade für einen Knotenpool durchführen.

Best Practice:

Verwenden Sie die Blau/Grün-Knotenupgrade-Strategie, wenn Sie eine Risikominderung für Knotenpool-Upgrades optimieren müssen, die sich auf Ihre Arbeitslasten auswirken. Mit dieser Strategie können Sie ein Rollback für ein laufendes Upgrade auf die ursprünglichen Knoten durchführen, wenn das Upgrade nicht erfolgreich war.

  1. Legen Sie einen Wartungsausschluss für den Cluster fest, um zu verhindern, dass der Knotenpool nach dem Downgrade von GKE automatisch aktualisiert wird.
  2. Geben Sie für das Downgrade eines Knotenpools eine frühere Version an, wenn Sie der Anleitung unter Manuelles Upgrade für einen Knotenpool ausführen folgen.

Knotenpool löschen

Durch das Löschen eines Knotenpools werden die Knoten und alle laufenden Arbeitslasten gelöscht, ohne die Einstellungen von PodDisruptionBudget zu berücksichtigen. Weitere Informationen dazu, wie sich dies auf Ihre Arbeitslasten auswirkt, einschließlich Interaktionen mit Knotenselektoren, finden Sie unter Knotenpools löschen.

gcloud

Führen Sie zum Löschen eines Knotenpools den Befehl gcloud container node-pools delete aus:

gcloud container node-pools delete POOL_NAME \
    --cluster CLUSTER_NAME \
    --location=CONTROL_PLANE_LOCATION

Ersetzen Sie Folgendes:

  • POOL_NAME: Der Name des zu löschenden Knotenpools.
  • CLUSTER_NAME: Der Name Ihres Clusters.
  • CONTROL_PLANE_LOCATION: Der Compute Engine-Standort der Steuerungsebene des Clusters. Geben Sie für regionale Cluster eine Region und für zonale Cluster eine Zone an.

Console

Führen Sie die folgenden Schritte aus, um einen Knotenpool zu löschen:

  1. Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.

    Zur Seite "Google Kubernetes Engine"

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

  3. Klicken Sie auf den Tab Knoten.

  4. Klicken Sie im Abschnitt Knotenpools neben dem zu löschenden Knotenpool auf .

  5. Wenn Sie zur Bestätigung aufgefordert werden, klicken Sie auf Löschen.

Knoten zu einem anderen Maschinentyp migrieren

Informationen zu verschiedenen Ansätzen zum Verschieben von Arbeitslasten zwischen Maschinentypen, z. B. zum Migrieren zu einem neueren Maschinentyp, finden Sie unter Knoten zu einem anderen Maschinentyp migrieren.

Arbeitslasten zwischen Knotenpools migrieren

Informationen zum Migrieren von Arbeitslasten von einem Knotenpool zu einem anderen finden Sie unter Arbeitslasten zwischen Knotenpools migrieren. Sie können diese Anleitung beispielsweise verwenden, wenn Sie einen vorhandenen Knotenpool durch einen neuen Knotenpool ersetzen und dafür sorgen möchten, dass die Arbeitslasten von den vorhandenen Knoten auf die neuen Knoten verschoben werden.

Fehlerbehebung

Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung bei Standardknotenpools und Fehlerbehebung bei der Knotenregistrierung.

Nächste Schritte