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 MIGs auch anhand von Load-Balancing-Bereitstellungskapazität, Monitoringmesswerten oder Zeitplänen automatisch skalieren.
Hinweise
- Prüfen Sie die Einschränkungen für Autoscaling.
- Grundlagen von Autoscaling
-
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. Wenn Sie
Code oder Beispiele aus einer lokalen Entwicklungsumgebung ausführen möchten, können Sie sich so bei
Compute Engine authentifizieren:
Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:
Console
Wenn Sie über die Google Cloud Console auf Google Cloud Dienste und APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.
gcloud
-
Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:
gcloud initWenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
- Legen Sie eine Standardregion und -zone fest.
REST
Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.
Installieren Sie die Google Cloud CLI.
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
Weitere Informationen finden Sie in der Google Cloud Authentifizierungsdokumentation unter Für die Verwendung von REST authentifizieren.
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 und Informationen dazu, ob dies für Ihre Arbeitslast geeignet ist, finden Sie unter Anhand von Vorhersagen skalieren.
Autoscaling basierend auf der CPU-Auslastung aktivieren
Console
Rufen Sie in der Cloud Console die Seite Instanzgruppen auf.
Wenn Sie eine Instanzgruppe haben, klicken Sie auf den Namen der Instanzgruppe und dann auf Bearbeiten. Gehen Sie auf der Seite „Instanzgruppe bearbeiten“ so vor:
- Klicken Sie auf Gruppengröße und Autoscaling , um den Bereich zu maximieren.
- Klicken Sie auf Autoscaling konfigurieren.
Wenn Sie keine Instanzgruppe haben, klicken Sie auf Instanzgruppe erstellen und gehen Sie so vor:
- Geben Sie im Feld Name einen Namen für die Gruppe an.
- Wählen Sie in der Liste Instanzvorlage eine Vorlage aus.
Wählen Sie im Abschnitt Standort je nachdem, ob Sie eine zonale oder regionale MIG erstellen, eine Option aus:
- Wählen Sie für eine zonale MIG Einzelne Zone und dann eine Region und eine Zone aus.
- Wählen Sie für eine regionale MIG Mehrere Zonen und dann eine Region und Zonen aus.
Im Abschnitt Autoscaling wird standardmäßig ein Autoscaling-Signal für die CPU-Auslastung hinzugefügt. Sie können entweder die Standardwerte für das Signal verwenden oder so vorgehen:
- Geben Sie die minimale und maximale Anzahl von Instanzen an, die das Autoscaling in dieser Gruppe erstellen soll.
Wenn Sie die Ziel-CPU-Auslastung bearbeiten möchten, klicken Sie auf das CPU-Auslastungssignal, um den Bereich zu maximieren, und geben Sie den Prozentsatz an.
- Wählen Sie unter Vorausschauendes Autoscaling die Option Aus aus. Weitere Informationen zum vorausschauenden Autoscaling und dazu, ob es für Ihre Arbeitslast geeignet ist, finden Sie unter Anhand von Vorhersagen skalieren.
Klicken Sie auf Fertig.
Über die Initialisierungsphase können Sie angeben, wie lange Ihre Anwendung zur Initialisierung benötigt. Wenn Sie die Initialisierungsphase genau definieren, 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 Standardinitialisierungsphase beträgt 60 Sekunden.
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
Sie können das Flag --cool-down-period verwenden, um die Initialisierungsphase festzulegen. Dieser Wert teilt dem Autoscaling mit, wie lange Ihre Anwendung zur Initialisierung benötigt. Wenn Sie die Initialisierungsphase genau definieren, 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 Standardinitialisierungsphase beträgt 60 Sekunden.
Optional können Sie das vorausschauende Autoscaling aktivieren, damit bereits vor dem Auftreten der erwarteten Arbeitslast horizontal skaliert wird. Informationen dazu, ob vorausschauendes Autoscaling für Ihre Arbeitslast geeignet ist, finden Sie unter Anhand von Vorhersagen skalieren.
Mit dem
instance-groups managed describe-Unterbefehl 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 bereitgestellt:
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.
REST
Verwenden Sie zum Erstellen eines Autoscalings die Methode autoscalers.insert für eine zonale MIG oder die Methode regionAutoscalers.insert für eine regionale MIG.
Im folgenden Beispiel wird ein Autoscaling für eine zonale MIG erstellt:
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.
Sie können das Feld coolDownPeriodSec verwenden, um die Initialisierungsphase festzulegen, damit Autoscaling weiß, wie lange Ihre Anwendung zur Initialisierung benötigt. Wenn Sie die Initialisierungsphase genau definieren, 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 Standardinitialisierungsphase beträgt 60 Sekunden.
Optional können Sie das vorausschauende Autoscaling aktivieren, damit bereits vor dem Auftreten der erwarteten Arbeitslast horizontal skaliert wird. Informationen dazu, ob vorausschauendes Autoscaling für Ihre Arbeitslast geeignet ist, finden Sie unter Anhand von Vorhersagen skalieren.
{
"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
- Mehr über die Aktivierung des vorausschauenden Autoscaling erfahren
- Autoscalings verwalten
- Mehr über die Faktoren des Autoscalings erfahren
- Mehr über das Skalieren von Gruppen mit mehreren Autoscaling-Signalen erfahren.