Auf dieser Seite wird erläutert, wie Sie die Größe von Standardclustern von Google Kubernetes Engine (GKE) manuell anpassen. Durch Ändern der Clustergröße können Sie die Anzahl der darin enthaltenen Knoten erhöhen oder reduzieren. Alternativ können Sie Ihren Cluster automatisch skalieren. Dabei passt GKE die Größe Ihrer Knotenpools automatisch an sich ändernde Bedingungen an, z. B. Änderungen an Arbeitslasten und Ressourcennutzung.
Diese Anleitung gilt nicht für Autopilot-Cluster in GKE, die automatisch die Größe basierend auf der Anzahl der Pods im Cluster anpassen.
Wenn Sie Ihrem Cluster Knoten hinzufügen oder daraus entfernen, fügt GKE die zugehörigen VM-Instanzen der zugrunde liegenden Compute Engine-MIGs hinzu oder entfernt sie, die für Ihre Knotenpools bereitgestellt wurden. Verwenden Sie zum Entfernen von Knoten kubectl delete node
nicht, da die Compute Engine-VM-Instanz in der zugrunde liegenden verwalteten Instanzgruppe des Knotenpools nicht gelöscht wird. Verwenden Sie Cluster Autoscaler oder verringern Sie die Größe des Clusters manuell.
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 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.
Größe eines Clusters erhöhen
Wenn Sie die Größe eines Clusters erhöhen, treten die folgenden Änderungen auf:
- neue Knoteninstanzen mit derselben Konfiguration wie die der vorhandenen Instanzen werden erstellt,
- möglicherweise werden neue Pods auf den neuen Instanzen geplant und
vorhandene Pods nicht auf die neuen Instanzen verschoben.
gcloud
Führen Sie den Befehl gcloud container clusters resize
aus, um die Größe der Knotenpools eines Clusters zu erhöhen:
gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \ --num-nodes NUM_NODES
Dabei gilt:
CLUSTER_NAME
ist der Name des Clusters, dessen Größe geändert werden soll.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, istNUM_NODES
die Anzahl der Knoten jeder Zone, in der sich die Knotenpools befinden.
Wiederholen Sie diesen Befehl für weitere Knotenpools. Wenn Ihr Cluster nur einen einzigen Knotenpool hat, lassen Sie das Flag --node-pool
weg.
Console
Zum Vergrößern der Knotenpools eines Clusters führen Sie die folgenden Schritte aus:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf Aktionen more_vert und dann auf Bearbeiten.
Klicken Sie neben dem Tab Details auf den Tab Knoten.
Klicken Sie im Bereich Knotenpools auf den Namen des Knotenpools, den Sie vergrößern möchten.
Klicken Sie auf Größe ändern edit.
Geben Sie im Feld Anzahl der Knoten den gewünschten Wert für den Knotenpool ein und klicken Sie dann auf Größe ändern.
Wiederholen Sie den Vorgang nach Bedarf für weitere Knotenpools.
Größe eines Clusters verringern
Wenn Sie die Größe eines Clusters verringern, werden die folgenden Änderungen vorgenommen:
- GKE beendet Knoten, die gelöscht werden, ordnungsgemäß mithilfe des Drain-Prozesses, um die Pods aus der Instanz zu entfernen.
PodDisruptionBudget
undterminationGracePeriodSeconds
werden jeweils bis zu einer Stunde lang berücksichtigt. - Die von einem Replikations-Controller verwalteten Pods werden vom Controller neu geplant, um sie auf den verbleibenden Instanzen auszuführen.
- Nicht von einem Replikations-Controller verwaltete Pods werden nicht neu gestartet.
Die MIG unterscheidet nicht zwischen Instanzen, in denen Pods ausgeführt werden, und Instanzen ohne Pods. Beim Verringern der Größe werden Instanzen nach dem Zufallsprinzip entfernt.
Wie Sie neue Knotenpools hinzufügen und vorhandene Knotenpools verwalten, erfahren Sie in diesem Artikel.
gcloud
Führen Sie den Befehl gcloud container clusters resize
aus, um die Größe der Knotenpools eines Clusters zu verringern:
gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \ --num-nodes NUM_NODES
Dabei gilt:
CLUSTER_NAME
ist der Name des Clusters, dessen Größe geändert werden soll.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, istNUM_NODES
die Anzahl der Knoten jeder Zone, in der sich die Knotenpools befinden.
Wiederholen Sie diesen Befehl für weitere Knotenpools. Wenn Ihr Cluster nur einen einzigen Knotenpool hat, lassen Sie das Flag --node-pool
weg.
Console
Zum Verringern der Größe der Knotenpools eines Clusters führen Sie die folgenden Schritte aus:
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie neben dem Cluster, den Sie bearbeiten möchten, auf Aktionen more_vert und dann auf Bearbeiten.
Klicken Sie neben dem Tab Details auf den Tab Knoten.
Klicken Sie im Bereich Knotenpools auf den Namen des Knotenpools, den Sie verkleinern möchten.
Klicken Sie auf Größe ändern edit.
Geben Sie im Feld Anzahl der Knoten den gewünschten Wert für den Knotenpool ein und klicken Sie dann auf Größe ändern.
Wiederholen Sie den Vorgang nach Bedarf für weitere Knotenpools.
Cluster automatisch skalieren
Mit der GKE-Funktion Cluster Autoscaler können Sie die Größe der Knotenpools anpassen, wenn sich beispielsweise die Arbeitslasten oder die Ressourcenauslastung ändern.
Weitere Informationen zur Funktionsweise der automatischen Skalierung erhalten Sie in der Dokumentation zu Cluster Autoscaler. Informationen zum Einrichten von Autoscaling für Cluster finden Sie unter Autoscaling von Clustern.