Anhand der CPU-Auslastung skalieren

Die einfachste Form von Autoscaling besteht darin, eine verwaltete Instanzgruppe (managed instance group, MIG) anhand der CPU-Auslastung ihrer Instanzen zu skalieren.

Sie können eine MIG auch anhand der Bereitstellungskapazität eines externen HTTP(S)-Load-Balancers oder auf der Grundlage von Monitoringmesswerten skalieren.

Hinweis

Anhand der CPU-Auslastung skalieren

Sie können ein Autoscaling anhand der durchschnittlichen CPU-Auslastung einer verwalteten Instanzgruppe durchführen. Anhand dieser Richtlinie erfasst das Autoscaling die CPU-Auslastung der Instanzen in der Gruppe und bestimmt, ob eine Skalierung erforderlich ist. Sie legen die Ziel-CPU-Auslastung fest, die das Autoscaling nach Möglichkeit einhalten soll.

Das Autoscaling behandelt das Ziel-CPU-Auslastungsniveau als Bruchteil der durchschnittlichen Nutzung aller vCPUs in der Instanzgruppe im Zeitverlauf. Wenn die durchschnittliche Auslastung aller vCPUs die Zielauslastung überschreitet, fügt das Autoscaling weitere virtuelle Maschinen hinzu. Wenn die durchschnittliche Auslastung aller vCPUs geringer als die Zielauslastung ist, entfernt das Autoscaling Instanzen. Bei einer Zielauslastung von 0,75 muss das Autoscaling beispielsweise eine durchschnittliche Nutzung von 75 % für alle vCPUs in der Instanzgruppe aufrechterhalten.

Sie können die Skalierung auch auf Grundlage der prognostizierten CPU-Auslastung ausführen. Weitere Informationen dazu und um festzustellen, ob die Skalierung für Ihre Arbeitslast geeignet ist, finden Sie unter Vorausschauendes Autoscaling verwenden.

Autoscaling basierend auf der CPU-Auslastung aktivieren

Console

  1. Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Wenn Sie eine Instanzgruppe haben, wählen Sie sie aus und klicken Sie auf Gruppe bearbeiten. Wenn Sie keine Instanzgruppe haben, klicken Sie auf Instanzgruppe erstellen.

  3. Wenn keine Autoscaling-Konfiguration vorhanden ist, klicken Sie unter Autoscaling auf Autoscaling konfigurieren.

  4. Wählen Sie unter Autoscaling-Modus die Option Autoscaling aus, um die Funktion zu aktivieren.

  5. Fügen Sie im Abschnitt Autoscaling-Richtlinie einen vorhandenen Messwert für die CPU-Auslastung hinzu, falls noch nicht vorhanden.

    1. Klicken Sie auf Neuen Messwert hinzufügen.
    2. Wählen Sie unter Messwerttyp die Option CPU-Auslastung aus.
    3. Geben Sie die gewünschte Ziel-CPU-Auslastung ein. Dieser Wert wird als Prozentsatz behandelt. Bei einer CPU-Auslastung von beispielsweise 75 % geben Sie den Wert 75 ein.
    4. Klicken Sie auf Fertig.
  6. Wählen Sie unter Vorausschauendes Autoscaling die Option Aus aus. Weitere Informationen zum vorausschauenden Autoscaling und ob es für Ihre Arbeitslast geeignet ist, finden Sie unter Vorausschauendes Autoscaling verwenden.

  7. Sie können die Wartezeit verwenden, um dem Autoscaling zu sagen, wie lange Ihre Anwendung zur Initialisierung benötigt. Wenn Sie eine genaue Wartezeit festlegen, verbessern Sie die Autoscaling-Entscheidungen. Beim horizontalen Skalieren ignoriert beispielsweise das Autoscaling Daten von VMs, die noch initialisiert werden, da diese VMs möglicherweise noch nicht die normale Nutzung Ihrer Anwendung darstellen. Die Standard-Wartezeit beträgt 60 Sekunden.

  8. Geben Sie die minimale und maximale Anzahl von Instanzen an, die das Autoscaling in dieser Gruppe erstellen soll.

  9. Klicken Sie auf Speichern.

gcloud

Mit dem Unterbefehl set-autoscaling können Sie das Autoscaling für eine verwaltete Instanzgruppe aktivieren. Durch den folgenden Befehl wird z. B. ein Autoscaling mit einer CPU-Zielauslastung von 60 % erstellt. Neben dem Parameter --target-cpu-utilization ist beim Erstellen eines Autoscalings auch der Parameter --max-num-replicas erforderlich:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

Mit dem Flag --cool-down-period können Sie für das Autoscaling angeben, wie lange die Initialisierung Ihrer Anwendung dauert. Wenn Sie eine genaue Wartezeit festlegen, verbessern Sie die Autoscaling-Entscheidungen. Beim horizontalen Skalieren ignoriert beispielsweise das Autoscaling Daten von VMs, die noch initialisiert werden, da diese VMs möglicherweise noch nicht die normale Nutzung Ihrer Anwendung darstellen. Die Standard-Wartezeit beträgt 60 Sekunden.

Optional können Sie das vorausschauende Autoscaling aktivieren, damit bereits vor dem Auftreten der erwarteten Arbeitslast horizontal skaliert wird. Unter Vorausschauendes Autoscaling verwenden erfahren Sie, ob vorausschauendes Autoscaling für Ihre Arbeitslast geeignet ist.

Mit dem Unterbefehl instance-groups managed describe können Sie prüfen, ob Autoscaling erfolgreich aktiviert ist. Damit wird die entsprechende verwaltete Instanzgruppe beschrieben und es werden Informationen zu den Autoscaling-Features für diese Instanzgruppe bereitstellt:

gcloud compute instance-groups managed describe example-managed-instance-group

Eine Liste der verfügbaren gcloud-Befehle und Flags finden Sie in der Referenz zu gcloud.

API

Senden Sie in der API eine POST-Anfrage an die Methode autoscalers.insert:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

Der Text Ihrer Anfrage muss die Felder name, target und autoscalingPolicy enthalten. cpuUtilization und maxNumReplicas müssen durch autoscalingPolicy definiert sein.

Mit dem Feld coolDownPeriodSec können Sie für das Autoscaling angeben, wie lange die Initialisierung Ihrer Anwendung dauert. Wenn Sie eine genaue Wartezeit festlegen, verbessern Sie die Autoscaling-Entscheidungen. Beim horizontalen Skalieren ignoriert beispielsweise das Autoscaling Daten von VMs, die noch initialisiert werden, da diese VMs möglicherweise noch nicht die normale Nutzung Ihrer Anwendung darstellen. Die Standard-Wartezeit beträgt 60 Sekunden.

Optional können Sie das vorausschauende Autoscaling aktivieren, damit bereits vor dem Auftreten der erwarteten Arbeitslast horizontal skaliert wird. Unter Vorausschauendes Autoscaling verwenden erfahren Sie, ob vorausschauendes Autoscaling für Ihre Arbeitslast geeignet ist.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Weitere Informationen zum Aktivieren des Autoscalings auf Grundlage der CPU-Auslastung finden Sie in der Anleitung Autoscaling für hochskalierbare Anwendungen verwenden.

Autoscaling bei starker CPU-Auslastung

Wenn bei einer starken CPU-Auslastung fast ein Wert von 100 % erreicht wird, geht das Autoscaling davon aus, dass die Gruppe bereits stark überlastet ist. In diesen Fällen erhöht das Autoscaling die Anzahl virtueller Maschinen um höchstens 50 %.

Nächste Schritte