Mehrere Richtlinien verwenden

Wenn Sie ein Autoscaling mit mehreren Richtlinien erstellen, erfolgt die Skalierung auf Grundlage jener Richtlinie, die über die größte Anzahl an virtuellen Maschinen in der Gruppe verfügt. Auf diese Weise wird sichergestellt, dass immer genügend virtuelle Maschinen für Ihre Anwendungs-Workloads bereitstehen und Anwendungen mit mehreren möglichen Engpässen skaliert werden können.

Vorbereitung

Autoscaling mit mehreren Richtinien

Das Autoscaling berechnet bei Verwendung mehrerer Richtlinien die empfohlene Anzahl an virtuellen Maschinen, die pro Richtlinie benötigt werden. Die Skalierung erfolgt auf Grundlage jener Richtlinie, die über die größte Anzahl an virtuellen Maschinen in der Gruppe verfügt.

Ein Autoscaling kann eine Richtlinie pro Messwerttyp verarbeiteten, außer im Fall von Stackdriver Monitoring-Messwerten. Sie können bis zu fünf Richtlinien für Stackdriver Monitoring-Messwerte auswählen. Sie können beispielsweise ein Autoscaling einrichten, das eine CPU-Nutzungsrichtlinie, eine Lastausgleichsrichtlinie und bis zu fünf benutzerdefinierte Messwertrichtlinien verwendet.

Zum Beispiel, wenn Sie die folgenden Autoscaling-Richtlinien festgelegt haben:

  • cpuUtilization mit einer Zielauslastung von 0,8.
  • loadBalancingUtilization mit einer Zielauslastung von 0,6.
  • customMetricUtilization für Messwert1 mit einer Zielvorgabe von 1.000.
  • customMetricUtilization für Messwert2 mit einer Zielauslastung von 2.000.

Das Autoscaling analysiert die folgenden Durchschnittswerte für die verwaltete Instanzgruppe, die zehn virtuelle Maschinen enthält:

  • 0,5 für CPU-Auslastung.
  • 0,4 für Auslastung bei Lastenausgleich.
  • 1.100 für Messwert1.
  • 2.700 für Messwert2.

Anhand dieser Durchschnittswerte empfiehlt das Autoscaling für jede Richtlinie die passende Anzahl an virtuellen Maschinen.

  • 7 virtuelle Maschinen basierend auf der CPU-Auslastung.
  • 7 virtuelle Maschinen basierend auf der Auslastung bei Lastenausgleich.
  • 11 virtuelle Maschinen basierend auf Messwert1.
  • 14 virtuelle Maschinen basierend auf Messwert2.

Da hier mehr als eine Richtlinie angewendet wird, wählt das Autoscaling automatisch den größten empfohlenen Wert – in diesem Fall 14 virtuelle Maschinen – und ändert die Größe der verwalteten Instanzgruppe auf 14 virtuelle Maschinen.

Autoscaling mit mehreren Richtlinien erstellen

Je nachdem, ob Sie das gcloud-Befehlszeilentool oder die API verwenden, gibt es beim Anlegen eines Autoscalings geringfügige Unterschiede.

Konsole


  1. Gehen Sie zur Seite Instanzgruppen.
  2. Wählen Sie die gewünschte Instanzgruppe aus der Liste aus und klicken Sie auf Bearbeiten.
  3. Wählen Sie zum Aktivieren der Autoscaling-Funktion auf der Detailseite "Instanzgruppen" im Drop-down-Menü unter Autoscaling die Option On (Ein) aus.
  4. Wählen Sie im Drop-down-Menü unter Autoscale based on (Automatisch skalieren auf der Grundlage von) die Option Multiple metrics (Mehrere Messwerte) aus.

    Screenshot "Mehrere Richtlinien auswählen"

  5. Füllen Sie bei Bedarf die Felder für CPU-Auslastung und Auslastung bei Load-Balancing aus.

  6. Klicken Sie zum Hinzufügen eigener Messwertrichtlinien im Abschnitt Target monitoring metrics (Ziel-Kontrollmesswerte) auf das Symbol + und füllen Sie die für eine benutzerdefinierte Messwertrichtlinie benötigten Felder aus.

    Screenshot "Benutzerdefinierte Messwerte anzeigen"

    Sie können durch Klicken auf das Symbol + mehrere benutzerdefinierte Messwertrichtlinien hinzufügen.

gcloud


Zum Erstellen eines Autoscalings mit mehreren Richtlinien müssen Sie die Spezifikationen für mehrere Richtlinien mit den jeweiligen Befehlszeilenparametern festlegen. Der folgende Befehl erstellt ein Autoscaling, das CPU-Auslastung und zwei benutzerdefinierte Messwerte verwendet:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --target-cpu-utilization 0.8 \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric1,utilization-target=1000.0,utilization-target-type=GAUGE \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
    --max-num-replicas 50

Mit Ausnahme der Flags für benutzerdefinierte Messwerte können Sie pro Messwerttyp jeweils maximal ein Flag angeben.

Bei Verwendung von benutzerdefinierten Messwerten können Sie mehrere benutzerdefinierte Messwerte durch die Wiederholung der folgenden Parameter bestimmen:

--custom-metric-utilization metric=METRIC,utilization-target=TARGET,utilization-target-type=TYPE

API


In der API können Sie eine POST-Anfrage mit allen gewünschten Richtlinien stellen:

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/autoscalers

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "customMetricUtilizations":[
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
    }
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/example-managed-instance-group",
  "name": "example-autoscaler"
}
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation