Auf dieser Seite wird beschrieben, wie Sie Ihre Google Kubernetes Engine-Cluster (GKE) automatisch skalieren. In diesem Artikel wird die Funktionsweise von Cluster Autoscaler beschrieben.
Cluster Autoscaler verwenden
Im folgenden Abschnitt wird die Nutzung von Cluster Autoscaler erklärt.
Cluster mit Autoscaling erstellen
gcloud
Verwenden Sie zum Erstellen eines Clusters mit Autoscaling das Flag --enable-autoscaling
und geben Sie --min-nodes
und --max-nodes
an.
Der folgende Befehl erstellt einen Cluster mit 30 Knoten: Autoscaling für Knoten ist aktiviert und passt die Anzahl der Knoten entsprechend der Clusterlast automatisch an. Der Cluster Autoscaler kann die Größe des Standardknotenpools auf 15 Knoten verringern oder den Knotenpool auf bis zu 50 Knoten erhöhen.
gcloud container clusters create cluster-name --num-nodes 30 \
--enable-autoscaling --min-nodes 15 --max-nodes 50 [--zone compute-zone] | [--region compute-region]
Dabei gilt:
--num-nodes
gibt die Anzahl der Knoten an, die in den einzelnen Zonen des Clusters erstellt werden sollen. Der Standardwert ist 3.--enable-autoscaling
gibt an, dass Autoscaling aktiviert ist.--min-nodes
gibt die Mindestanzahl von Knoten für den Standardknotenpool an.--max-nodes
gibt die maximale Anzahl von Knoten für den Standardknotenpool an.--zone
gibt die Computing-Zone an, in der das Autoscaling neue Knoten erstellen soll.--region
gibt die [Computing-Region] an, in der das Autoscaling neue Knoten erstellen soll.
Console
So erstellen Sie einen neuen Cluster, in dem für den Standardknotenpool Autoscaling aktiviert ist:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie auf add_box Erstellen.
Konfigurieren Sie den Cluster wie gewünscht.
Klicken Sie im Navigationsbereich unter Knotenpools auf default-pool.
Klicken Sie das Kästchen Autoscaling aktivieren an.
Ändern Sie die Werte in den Feldern Mindestanzahl von Knoten und Maximale Anzahl von Knoten nach Bedarf.
Klicken Sie auf Erstellen.
Knotenpools mit Autoscaling hinzufügen
gcloud
Mit dem folgenden Befehl erstellen Sie einen Knotenpool der Größe 3 (Standard) mit automatischer, lastabhängiger Knotenskalierung, wobei der Knotenpool maximal auf 5 und minimal auf 1 Knoten skaliert wird:
gcloud container node-pools create pool-name --cluster cluster-name \
--enable-autoscaling --min-nodes 1 --max-nodes 5 [--zone compute-zone]
Dabei gilt:
--cluster
gibt den Cluster an, in dem der Knoten erstellt wird.--enable-autoscaling
gibt an, dass Autoscaling aktiviert ist.--min-nodes
gibt die Mindestanzahl von Knoten für den Knotenpool an.--max-nodes
gibt die maximale Anzahl von Knoten für den Knotenpool an.--zone
gibt die Computing-Zone an, in der das Autoscaling neue Knoten erstellen soll.
Console
So fügen Sie einem vorhandenen Cluster einen Knotenpool mit Autoscaling hinzu:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf Knotenpool hinzufügen add_box.
Konfigurieren Sie den Knotenpool wie gewünscht.
Klicken Sie unter Größe das Kästchen Autoscaling aktivieren an.
Ändern Sie die Werte in den Feldern Mindestanzahl von Knoten und Maximale Anzahl von Knoten nach Bedarf.
Klicken Sie auf Erstellen.
Autoscaling für vorhandene Knotenpools aktivieren
gcloud
Mit dem folgenden Befehl können Sie die automatische Skalierung für einen vorhandenen Knotenpool aktivieren:
gcloud container clusters update cluster-name --enable-autoscaling \
--min-nodes 1 --max-nodes 10 --region compute-region || --zone compute-zone --node-pool default-pool
Dabei gilt:
--enable-autoscaling
gibt an, dass Autoscaling aktiviert ist.--min-nodes
gibt die Mindestanzahl von Knoten für den Knotenpool an.--max-nodes
gibt die maximale Anzahl von Knoten für den Knotenpool an.--region
gibt die [Computing-Zone] des Clusters an.--node-pool
gibt den gewünschten Knotenpool an. Wenn Sie nur einen Knotenpool haben, geben Sie für dieses Flagdefault-pool
an.
Console
So aktivieren Sie Autoscaling für einen vorhandenen Knotenpool:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf den Tab Knoten.
Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten, und klicken Sie dann auf edit Bearbeiten.
Klicken Sie unter Größe das Kästchen Autoscaling aktivieren an.
Ändern Sie die Werte in den Feldern Mindestanzahl von Knoten und Maximale Anzahl von Knoten nach Bedarf.
Klicken Sie auf Speichern.
Autoscaling für vorhandene Knotenpools deaktivieren
gcloud
Führen Sie den folgenden Befehl aus, um die automatische Skalierung für einen bestimmten Knotenpool zu deaktivieren:
gcloud container clusters update cluster-name --no-enable-autoscaling \
--node-pool pool-name [--zone compute-zone --project project-id]
In diesem Befehl weist --no-enable-autoscaling
den Cluster an, die automatische Skalierung zu deaktivieren.
Die Clustergröße wird auf die Größe des aktuellen standardmäßigen Clusterknotenpools festgelegt und kann manuell angepasst werden.
Console
So deaktivieren Sie das Autoscaling für einen bestimmten Knotenpool:
Rufen Sie in der Cloud Console das Kubernetes Engine-Menü auf.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie auf den Tab Knoten.
Klicken Sie unter Knotenpools auf den Namen des Knotenpools, den Sie ändern möchten, und klicken Sie dann auf edit Bearbeiten.
Entfernen Sie unter Größe das Häkchen aus dem Kästchen Autoscaling aktivieren.
Klicken Sie auf Speichern.
Fehlerbehebung
Im Folgenden finden Sie Informationen zur Fehlerbehebung für Cluster Autoscaler:
- Möglicherweise stellen Sie eine der Einschränkungen für Cluster Autoscaler fest.
- Wenn Sie Probleme mit dem Herunterskalieren des Clusters haben, lesen Sie die Informationen unter Pod-Planung und -Unterbrechung.
Möglicherweise müssen Sie ein PodDisruptionBudget für die
kube-system
-Pods hinzufügen. Weitere Informationen zum manuellen Hinzufügen eines PodDisruptionBudget für diekube-system
-Pods finden Sie in den FAQ zu Cluster Autoscaler.