Autoscaling für Knotengruppen


Wenn Sie Knoten für einzelne Mandanten für Ihre Arbeitslasten verwenden, können Sie mit dem Autoscaling für Knotengruppen die Größen Ihrer Knotengruppen automatisch steuern. Sie können das Autoscaling beim Erstellen einer Knotengruppe oder danach konfigurieren.

Mit dem Autoscaling können Sie die Größen Ihrer Knotengruppen für einzelne Mandanten automatisch verwalten:

  • Die Größe einer Knotengruppe wird vergrößert, wenn die Kapazität für eine andere VM-Instanz in dieser Knotengruppe nicht ausreicht. Nachdem die Knotengruppe durch Autoscaling vergrößert wurde, werden die VMs transparent geplant.

  • Die Größe einer Knotengruppe wird verringert, wenn leere Knoten vorhanden sind. Somit müssen Sie für nicht verwendete Knoten für einzelne Mandanten nichts bezahlen.

Beim Skalieren einer Knotengruppe berücksichtigt der Autoscaler die erforderliche Kapazität für die zu planende VM, die freie Kapazität auf den Zielknoten und die Autoscaling-Richtlinie der Knotengruppe. Die erforderliche Kapazität hängt nur von der Größe der VM ab. Die freie Kapazität wird anhand der Größe des Knotens, der bereits darauf geplanten VMs und des optionalen CPU-Overcommit-Verhältnisses geschätzt.

Das folgende Diagramm zeigt:

  1. Das Autoscaling der Knotengruppe skaliert eine Knotengruppe horizontal durch Hinzufügen eines neuen Knotens als Reaktion auf die Bereitstellung einer VM in einer Knotengruppe ohne leere Knoten.

  2. Das Autoscaling der Knotengruppe skaliert durch Entfernen eines leeren Knotens aus einer Knotengruppe für einzelne Mandanten.

Autoscaling der Knotengruppe verwaltet die Größe der Knotengruppe

Autoscaling-Modi

Standardmäßig ist das Autoscaling für Knotengruppen nicht aktiviert. Wenn das Autoscaling nicht aktiviert ist, müssen Sie die Größen Ihrer Knotengruppen manuell verwalten. Beim Aktivieren des Autoscalings für eine Knotengruppe können Sie angeben, ob das Autoscaling die Knotengruppe sowohl vergrößern als auch verringern (hoch- und herunterskalieren) oder nur die Größe der Gruppe vergrößern (nur hochskalieren) soll.

Hoch- und herunterskalieren

In diesem Modus wird das Autoscaling der Knotengruppe sowohl vergrößert als auch verkleinert. Bei diesem Modus müssen Sie eine Maximal- und Mindestgröße für die Knotengruppe angeben. Das Autoscaling skaliert die Größe der Knotengruppe nicht über den angegebenen Höchstwert oder unter den angegebenen Mindestwert.

Das Hochskalieren wird ausgelöst, wenn die Planung einer VM aufgrund von Kapazitätsmangel fehlschlägt. Um dieses Problem zu beheben, wird der Gruppe ein neuer Knoten hinzugefügt und der Vorgang wird noch einmal versucht.

Das Einskalieren wird ausgelöst, wenn ein Knoten für einen bestimmten Zeitraum leer bleibt. Ein leerer Knoten ist das Ergebnis, wenn eine VM aus der Knotengruppe gelöscht oder migriert wurde. Wenn die Autoscaling-Richtlinie der Knotengruppe dies zulässt, wird der leere Knoten nach einem Stabilisierungszeitraum entfernt. Während der Stabilisierungsphase ist der Knoten weiterhin verfügbar, falls Sie ihn benötigen.

Nur horizontal skalieren

In diesem Modus erhöht das Autoscaling als Reaktion auf Anfragen zum Planen von VMs die Größe der Knotengruppe, leere Knoten werden jedoch nicht aus den Knotengruppen entfernt. Google empfiehlt diesen Modus für kontinuierlich zunehmende Arbeitslasten oder Arbeitslasten, die eine physische Serveraffinität erfordern, beispielsweise BYOL-Arbeitslasten, für die sich Lizenzen auf demselben physischen Server befinden müssen.

Sie müssen diesen Modus verwenden, wenn Ihre Knotengruppen mit der Wartungsrichtlinie Innerhalb der Knotengruppe migrieren konfiguriert sind.

Größenbereich einer Knotengruppe

Beim Aktivieren des Autoscalings legen Sie den Größenbereich der Knotengruppe fest, indem Sie einen Mindest- und Höchstwert für die Größe der Knotengruppe angeben.

Wenn Sie keinen Wert für die Mindestgröße angeben, setzt das Autoscaling die Mindestgröße auf null (0). Wenn Sie einen Wert für die Mindestgröße angeben, muss dieser eine Ganzzahl größer oder gleich 0 und kleiner oder gleich der Maximalgröße sein.

Sie müssen einen Wert für die maximale Größe der Knotengruppe angeben. Der Wert muss eine Ganzzahl größer oder gleich 0 und kleiner oder gleich 100 sein. Dies ist die maximal zulässige Größe für eine Knotengruppe für einzelne Mandanten. Der Wert muss größer oder gleich dem angegebenen Mindestwert sein.

Erstellen Sie mehrere Knotengruppen mit übereinstimmenden Affinitätslabels, z. B. workload:in:my-autoscaled-node-groups, um Arbeitslasten zu berücksichtigen, die möglicherweise den Höchstwert von 100 für eine Knotengruppe überschreiten. Planen Sie anschließend VMs mit diesem Affinitätslabel und aktivieren Sie das Autoscaling für jede Gruppe, um Knotengruppen mit dynamischer Skalierung zu erstellen.

Verfügbarkeit

Sie können das Autoscaling für Knoten für einzelne Mandanten nur in Regionen verwenden, die Knoten für einzelne Mandanten unterstützen.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Autoscaling für Knotengruppen aktivieren

Konfigurieren Sie Autoscaling für eine neue Knotengruppe.

gcloud

Das folgende Beispiel zeigt, wie Sie mit dem Befehl node-groups create das Autoscaling beim Erstellen einer Knotengruppe aktivieren. Wenn Sie das Autoscaling einer vorhandenen Knotengruppe hinzufügen möchten, verwenden Sie den Befehl node-groups update.

gcloud compute sole-tenancy node-groups create group-name \
    --node-template template-name \
    --target-size size \
    --maintenance-policy maintenance-policy \
    --zone zone \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Ersetzen Sie dabei Folgendes:

  • group-name: Name der Knotengruppe, die erstellt werden soll.
  • template-name: Name der Knotenvorlage, aus der die Knotengruppe erstellt werden soll.
  • size: Angestrebte anfängliche Anzahl an Knoten in der Knotengruppe.
  • maintenance-policy: Legt fest, ob VMs migrieren und bei Hostwartungen neu gestartet werden. Legen Sie dafür einen der folgenden Werte fest:
    • default: VMs migrieren live zu einem neuen Knoten.
    • migrate-within-node-group: VMs migrieren live zu einem anderen Knoten in der Knotengruppe.
    • restart-in-place: VMs werden auf demselben Knoten neu gestartet, nachdem sie aufgrund eines Wartungsereignisses beendet wurden.
  • zone: Zone, in der die Knotengruppe erstellt werden soll.
  • mode: Modus für das Autoscaling in dieser Knotengruppe. Legen Sie einen der folgenden Werte dafür fest:
    • off: Deaktiviert das Autoscaling.
    • on: Ermöglicht das horizontale Herunter- und Hochskalieren.
    • only-scale-out: Ermöglicht nur das horizontale Hochskalieren. Sie müssen diesen Modus verwenden, wenn Ihre Knotengruppen so konfiguriert sind, dass ihre gehosteten VMs auf einer Mindestanzahl von Servern neu gestartet werden.
  • max-nodes: Maximale Größe der Knotengruppe. Legen Sie einen Wert von maximal 100 und von mindestens min-nodes fest.
  • min-nodes: Mindestgröße der Knotengruppe. Der Wert muss eine Ganzzahl von maximal max-nodes sein. Der Standardwert ist 0.

REST

Das folgende Beispiel zeigt, wie Sie mit dem Befehl nodeGroups.insert das Autoscaling beim Erstellen einer Knotengruppe aktivieren. Wenn Sie das Autoscaling einer vorhandenen Knotengruppe hinzufügen möchten, verwenden Sie den Befehl nodeGroups.patch.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/nodeGroups?initialNodeCount=initial-node-count

  {
    "name": "group-name",
    "nodeTemplate": "template-name",
    "autoscalingPolicy": {
      "mode": "mode",
      "min_nodes": min-nodes,
      "max_nodes": max-nodes
    }
    "maintenancePolicy": maintenance-policy
  }

Ersetzen Sie dabei Folgendes:

  • project-id: ID des Projekts, für das eine Knotengruppe mit Autoscaling hinzugefügt werden soll.
  • zone: Zone, in der die neue Knotengruppe erstellt werden soll.
  • initial-node-count: Beim Erstellen der Knotengruppe erforderlich. Damit wird die anfängliche Anzahl der Knoten in der Knotengruppe angegeben. Wenn der Wert für min-nodes größer als die anfängliche Anzahl der Knoten ist, wird die Größe der Knotengruppe horizontal auf den Wert min-nodes hochskaliert.
  • group-name: Name der neuen Knotengruppe.
  • template-name: Name der Knotenvorlage, aus der die Knotengruppe erstellt werden soll.
  • mode: Modus für das Autoscaling in dieser Knotengruppe. Legen Sie dafür einen der folgenden Werte fest:
      .
    • OFF: Deaktiviert das Autoscaling.
    • ON: Ermöglicht das horizontale Herunter- und Hochskalieren.
    • ONLY_SCALE_OUT: Ermöglicht nur das horizontale Hochskalieren. Sie müssen diesen Modus verwenden, wenn Ihre Knotengruppen so konfiguriert sind, dass ihre gehosteten VMs auf einer Mindestanzahl von Servern neu gestartet werden.
  • max-nodes: Maximale Größe der Knotengruppe. Legen Sie einen Wert von maximal 100 und von mindestens min-nodes fest.
  • min-nodes: Mindestgröße der Knotengruppe. Der Wert muss eine Ganzzahl von maximal max-nodes sein. Der Standardwert ist 0.
  • maintenance-policy: Legt fest, ob VMs migrieren und bei Hostwartungen neu gestartet werden. Legen Sie dafür einen der folgenden Werte fest:
    • DEFAULT: VMs migrieren live zu einem neuen Knoten.
    • MIGRATE_WITHIN_NODE_GROUP: VMs migrieren live zu einem anderen Knoten in der Knotengruppe.
    • RESTART_IN_PLACE: VMs werden auf demselben Knoten neu gestartet, nachdem sie aufgrund eines Wartungsereignisses beendet wurden.

Autoscaling-Einstellungen aktualisieren

Sie können die Autoscaling-Einstellungen für eine Knotengruppe ändern und dabei den Autoscaling-Modus oder die Mindest- und maximale Größe der Knotengruppe aktualisieren.

gcloud

Das folgende Beispiel zeigt, wie Sie mit dem Befehl node-groups update den Modus für das Autoscaling einer Knotengruppe ändern.

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Ersetzen Sie dabei Folgendes:

  • name: Name der Knotengruppe, für die der Autoscaling-Modus geändert werden soll.
  • mode: Modus für das Autoscaling in dieser Knotengruppe. Legen Sie dafür einen der folgenden Werte fest:
      .
    • off: Deaktiviert das Autoscaling.
    • on: Ermöglicht das horizontale Herunter- und Hochskalieren.
    • only-scale-out: Ermöglicht nur das horizontale Hochskalieren. Sie müssen diesen Modus verwenden, wenn Ihre Knotengruppen so konfiguriert sind, dass ihre gehosteten VMs auf einer Mindestanzahl von Servern neu gestartet werden.
  • max-nodes: Maximale Größe der Knotengruppe. Legen Sie einen Wert von maximal 100 und von mindestens min-nodes fest.
  • min-nodes: Mindestgröße der Knotengruppe. Der Wert muss eine Ganzzahl von maximal max-nodes sein. Der Standardwert ist 0.

REST

Das folgende Beispiel zeigt, wie Sie mit dem Befehl nodeGroups.patch den Modus für das Autoscaling einer Knotengruppe ändern.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode",
    "minSize": min-nodes,
    "maxSize": max-nodes
  }
}

Ersetzen Sie dabei Folgendes:

  • project-id: ID des Projekts, das die Knotengruppe enthält, für die der Autoscaling-Modus geändert werden soll.
  • group-zone: Zone mit der Knotengruppe, für die der Autoscaling-Modus geändert werden soll.
  • group-name: Name der Knotengruppe, für die der Autoscaling-Modus geändert werden soll.
  • template-name: Name der Knotenvorlage, aus der die Knotengruppe erstellt wurde.
  • mode: Modus für das Autoscaling in dieser Knotengruppe. Legen Sie dafür einen der folgenden Werte fest: .

    • OFF: Deaktiviert das Autoscaling.
    • ON: Ermöglicht das horizontale Herunter- und Hochskalieren.

    • ONLY_SCALE_OUT: Ermöglicht nur das horizontale Hochskalieren. Sie müssen diesen Modus verwenden, wenn Ihre Knotengruppen mit der Wartungsrichtlinie Innerhalb der Knotengruppe migrieren konfiguriert sind.

  • max-nodes: Maximale Größe der Knotengruppe. Legen Sie einen Wert von maximal 100 und von mindestens min-nodes fest.

  • min-nodes: Mindestgröße der Knotengruppe. Der Wert muss eine Ganzzahl von maximal max-nodes sein. Der Standardwert ist 0.

Größe von automatisch skalierten Knotengruppen manuell aktualisieren

Wenn das Autoscaling aktiviert ist, wird die Größe der Knotengruppen automatisch gesteuert. Sie können aber in dieser Knotengruppe VMs planen oder entfernen, um die Gruppengröße effektiv manuell anzupassen.

Wenn Sie die Größe einer automatisch skalierten Knotengruppe manuell reduzieren möchten, löschen Sie VMs aus dem Knoten, bis der Knoten leer ist. Ist der Knoten leer, wird durch das Autoscaling der leere Knoten entfernt. Dies verkleinert die Größe der Knotengruppe.

Wenn Sie die Größe einer automatisch skalierten Knotengruppe manuell erhöhen möchten, legen Sie für die Mindestgröße der Gruppe einen Wert fest, der über der aktuellen Größe liegt. Wenn für die Mindestgröße einer Gruppe ein Wert über der aktuellen Größe festgelegt ist, skaliert das Autoscaling die Gruppengröße auf die neu angegebene Mindestgröße.

Wenn für Knotengruppen nur das horizontale Hochskalieren festgelegt ist, steuert das Autoscaling automatisch die Erhöhung der Gruppengröße und deaktiviert das manuelle Erhöhen der Gruppengröße. Mit dieser Einstellung können Sie die Größe einer Gruppe reduzieren. Dazu werden VMs aus einem Knoten entfernt, bis dieser leer ist. Anschließend können Sie den leeren Knoten löschen.

Autoscaling deaktivieren

Wenn Sie die Größe Ihrer Knotengruppen nicht mehr automatisch mit Autoscaling steuern oder wenn Sie die Größe Ihrer Knotengruppen manuell festlegen möchten, deaktivieren Sie das Autoscaling.

gcloud

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode OFF

Ersetzen Sie name durch den Namen der Knotengruppe, von der die Autoscaling-Richtlinie entfernt werden soll.

REST

Im folgenden Beispiel wird gezeigt, wie Sie mit dem Befehl nodeGroups.patch das Autoscaling für eine Knotengruppe deaktivieren.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode"
  }
}

Ersetzen Sie dabei Folgendes:

  • project-id: ID des Projekts, das die Knotengruppe enthält, für die der Autoscaling-Modus geändert werden soll.
  • group-zone: Zone mit der Knotengruppe, für die der Autoscaling-Modus geändert werden soll.
  • group-name: Name der Knotengruppe, für die der Autoscaling-Modus geändert werden soll.
  • template-name: Name der Knotenvorlage, aus der die Knotengruppe erstellt wurde.
  • mode: Modus für das Autoscaling in dieser Knotengruppe. Legen Sie OFF fest, um das Autoscaling für diese Knotengruppe zu deaktivieren.

Autoscaling-Aktivitäten ansehen

Sie können in der Google Cloud Console das Autoscaling anzeigen lassen und die Größe Ihrer Knotengruppen anpassen. In der Google Cloud Console wird die aktuelle Größe der Knotengruppe angezeigt. Wenn das Autoscaling derzeit die Größe der Gruppe automatisch anpasst, wird auch die Zielgröße der Knotengruppe angezeigt.

Console

  1. Rufen Sie in der Cloud Console die Seite Knoten für einzelne Mandanten auf.

    Zur Seite "Knoten für einzelne Mandanten"

  2. Klicken Sie auf Knotengruppen.

  3. Prüfen Sie die Anzahl der Knoten in jeder Knotengruppe. Wenn Compute Engine die Knotengruppe skaliert, wird auch die Zielanzahl der Knoten angezeigt.

Nächste Schritte