Kubernetes-Knotenlabels und -Taints für Knotenpools aktualisieren

In diesem Dokument wird beschrieben, wie Sie die Kubernetes-Knotenlabels und ‑Knotenmarkierungen eines vorhandenen Knotenpools in einem GKE-Standardcluster (Google Kubernetes Engine) mit der GKE API aktualisieren. Kubernetes-Knoten labels unterscheiden sich von GKE-Cluster- und Knoten labels.

Knoten Markierungen und Labels befinden sich in den Objektmetadaten von Kubernetes-Knoten. Kubernetes-Labels werden verwendet, um Pods für bestimmte Knoten zu planen. Im Gegensatz dazu können Markierungen verwendet werden, um Pods von bestimmten Knoten fernzuhalten. Weitere Informationen finden Sie unter Arbeitslast trennung in GKE konfigurieren.

Mit der GKE API können Sie Aktualisierungen auf die Kubernetes-Knotenlabels und ‑Knotenmarkierungen eines vorhandenen GKE-Knotenpools anwenden, ohne den Knotenpool neu erstellen oder laufende Arbeitslasten unterbrechen zu müssen. Die aktualisierte Knotenpoolkonfiguration wird in GKE beibehalten, sodass zukünftige Knotenpools und neue Knotenbereitstellungen im Knotenpool die neue Konfiguration verwenden.

Weitere Informationen dazu, wie sich Änderungen auf den Betrieb eines GKE-Cluster auswirken, finden Sie unter Änderungen am Clusterlebenszyklus verwalten, um Unterbrechungen zu minimieren. Details zu bestimmten Änderungen finden Sie im Abschnitt Arten von Änderungen an einem GKE-Cluster.

Label syntax

Kubernetes-Labels müssen alle folgenden Anforderungen erfüllen:

  • Labelschlüssel und ‑werte müssen die Anforderungen an Syntax und Zeichensatz erfüllen.
  • Die Länge des Werts, den Sie im gcloud CLI-Flag --node-labels angeben, darf maximal 1.024 Zeichen betragen.

Hinweis

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, installieren und dann initialisieren Sie die gcloud CLI. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem gcloud components update Befehl ab. Ältere gcloud CLI-Versionen unterstützen möglicherweise nicht die Ausführung der Befehle in diesem Dokument.

Knotenlabels aktualisieren

Verwenden Sie den folgenden Befehl, um Knotenlabels für einen Knotenpool zu aktualisieren:

gcloud container node-pools update NODEPOOL_NAME \
    --node-labels=[NODE_LABEL,...] \
    --cluster=CLUSTER_NAME
    --location=CONTROL_PLANE_LOCATION
    [GCLOUD_WIDE_FLAG ]

Dabei gilt:

  • NODEPOOL_NAME: der Name des Knotenpools, der aktualisiert werden soll.
  • [NODE_LABEL,...]: die neuen Knotenlabels (z. B. label1=value1,label2=value2).
  • CLUSTER_NAME: der Name des Clusters.
  • CONTROL_PLANE_LOCATION: der Compute Engine Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region oder für zonale Cluster eine Zone an.

Knotenmarkierungen aktualisieren

Verwenden Sie den folgenden Befehl, um Knotenmarkierungen für einen Knotenpool zu aktualisieren:

gcloud container node-pools update NODEPOOL_NAME \
    --node-taints=[NODE_TAINT,...] \
    --cluster=CLUSTER_NAME
    --location=CONTROL_PLANE_LOCATION
    [GCLOUD_WIDE_FLAG ]

Dabei gilt:

  • NODEPOOL_NAME: der Name des Knotenpools, der aktualisiert werden soll.
  • [NODE_TAINT,...]: die neuen Knotenmarkierungen (z. B. key1=val1:NoSchedule,key2=val2:PreferNoSchedule).
  • CLUSTER_NAME: der Name des Clusters.
  • CONTROL_PLANE_LOCATION: der Compute Engine Standort der Steuerungsebene Ihres Clusters. Geben Sie für regionale Cluster eine Region oder für zonale Cluster eine Zone an.