Hostwartungsereignisse simulieren


Auf dieser Seite wird beschrieben, wie Sie die Auswirkungen der Hostwartungsrichtlinie Ihrer VM-Instanz auf Ihre Anwendungen testen.

In folgenden Situationen können Sie ein Wartungsereignis für Ihre VMs simulieren:

  • Sie haben VMs, die für die Live-Migration bei Wartungsereignissen konfiguriert sind, und Sie möchten die Auswirkungen der Live-Migration auf Ihre Anwendungen testen.
  • Sie haben Batch-Jobs, die auf VM-Instanzen auf Abruf ausgeführt werden, und Sie müssen testen, wie Ihre Anwendungen auf das vorzeitige Beenden und das Herunterfahren einer oder mehrerer Instanzen reagieren.
  • Ihre Instanzen sind so konfiguriert, dass sie bei Wartungsereignissen beendet und neu gestartet und nicht live migriert werden. Sie müssen testen, wie Ihre Anwendungen auf diesen Vorgang des Herunterfahrens und Neustartens reagieren.
  • Sie möchten testen, wie sich Arbeitslasten während eines Hostwartungsereignisses verhalten, die auf Knoten für einzelne Mandanten laufen und die Auswirkungen der Hostwartungsrichtlinie der VMs für einzelne Mandanten für die Anwendungen ansehen, die auf den VMs ausgeführt werden.

Hinweise

  • Prüfen Sie die API-Ratenbegrenzung für den Messwert simulate_maintenance_event_requests.
  • 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 wie folgt 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

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

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

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Beschränkungen

  • Hinweis: Wenn Sie versuchen, ein Hostwartungsereignis auf VMs zu simulieren, die keine Live-Migration unterstützen, werden diese entweder beendet oder neu gestartet, je nach konfigurierter Hostwartungsrichtlinie.

  • Wenn Sie versuchen, ein Hostwartungsereignis für eine Knotengruppe zu simulieren, in der die Hostwartungsrichtlinie auf Innerhalb der Knotengruppe migrieren festgelegt ist, wenn die Anzahl der angegebenen Knoten kleiner als die Gesamtzahl der reservierten Holdback-Knoten oder gleich ist, wird die Simulation des Hostwartungsereignisses für alle angegebenen Knoten gleichzeitig ausgeführt. Wenn die Anzahl der angegebenen Knoten größer ist als die Gesamtzahl der reservierten Holdback-Knoten, schlägt die Simulation fehl.

  • Um ein Wartungsereignis für eine Knotengruppe, in der die Hostwartungsrichtlinie für die Migration innerhalb der Knotengruppe festgelegt wurde, korrekt zu simulieren, müssen Sie das Wartungsereignis auf jedem Knoten sequenziell auslösen.

Hostwartungsereignisse simulieren

Sie können ein Wartungsereignis auf einer VM mit der Google Cloud CLI oder einer API-Anfrage simulieren.

Während der Simulation des Hostwartungsereignisses durchläuft der Metadatenschlüssel maintenance-event der VM die folgenden Änderungen:

  1. Zu Beginn der Simulation ändert sich der Wert des Metadatenschlüssels maintenance-event von NONE in MIGRATE_ON_HOST_MAINTENANCE.
  2. Während des Simulationsereginisses bleibt der Wert MIGRATE_ON_HOST_MAINTENANCE.
  3. Nach der Simulation wird der Wert wieder auf NONE zurückgesetzt.

Informationen zum Abfragen des Wartungsereignisschlüssels finden Sie unter Metadatenschlüssel des Wartungsereignisses abfragen.

gcloud

Führen Sie den Befehl instances simulate-maintenance-event aus, damit für eine Instanz die jeweils konfigurierte Wartungsrichtlinienaktion aktiviert wird:

gcloud compute instances simulate-maintenance-event VM_NAME \
    --zone ZONE

Dabei gilt:

  • VM_NAME: der Name der VM, für die das Wartungsereignis simuliert werden soll.

    Sie können mehrere VM-Namen angeben, die durch einzelne Leerzeichen getrennt sind, um Wartungsereignisse für mehr als eine VM in derselben Zone zu simulieren. Beispiel: instance-1 instance-2 instance-3.

  • ZONE: die Zone, in der sich die Instanz befindet.

REST

Stellen Sie in der Compute Engine API eine Anfrage an die Methode compute.instances.simulateMaintenanceEvent:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/simulateMaintenanceEvent

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage.
  • VM_NAME: der Name der Instanz, für die das Wartungsereignis simuliert werden soll

    Sie können mehrere Instanznamen angeben, die durch einzelne Leerzeichen getrennt sind, um Wartungsereignisse für mehr als eine Instanz in derselben Zone zu simulieren. Beispiel: instance-1 instance-2 instance-3.

  • ZONE: die Zone, in der sich die Instanz befindet.

Hostwartungen auf Knoten für einzelne Mandanten simulieren

Sie können ein Hostwartungsereignis auf Knoten für einzelne Mandanten mit der Google Cloud CLI oder einer API-Anfrage simulieren. Während der Simulation des Hostwartungsereignisses auf einer VM für einzelne Mandanten ändert sich der Metadatenschlüsselwert maintenance-event nicht und bleibt während der Simulation NONE.

gcloud

Führen Sie den Befehl sole-tenancy node-groups simulate-maintenance-event aus, damit für Knoten für einzelne Mandanten die konfigurierte Wartungsrichtlinie aktiviert wird:

 gcloud compute sole-tenancy node-groups simulate-maintenance-event NODE_GROUP \
    --nodes=NODE_NAMES \
    --zone=ZONE \
    --async

Dabei gilt:

  • NODE_GROUP: der Name der Knotengruppe, in der das Wartungsereignis simuliert werden soll.

  • NODE_NAMES: die Namen der Knoten, auf denen Sie das Wartungsereignis simulieren möchten. Wenn Sie mehrere Knotennamen angeben, verwenden Sie durch Kommas getrennte Werte, z. B. node-1,node-2,node-3.

  • ZONE: die Zone, in der sich die Knoten befinden.

REST

Stellen Sie in der Compute Engine API eine Anfrage an die Methode compute.nodeGroups.simulateMaintenanceEvent:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/nodeGroups/NODE_GROUP/simulateMaintenanceEvent

{
  "nodes": [NODE_NAMES]
}

Dabei gilt:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage.

  • ZONE: die Zone, in der sich die Knoten befinden.

  • NODE_GROUP: der Name der Knotengruppe, in der das Wartungsereignis simuliert werden soll.

  • NODE_NAMES: die Namen der Knoten, auf denen Sie das Wartungsereignis simulieren möchten. Setzen Sie den Knotennamen in doppelte Anführungszeichen, z. B. "node-1". Verwenden Sie dabei durch Kommas getrennte Werte, z. B. "node-1","node-2","node-3".

Nächste Schritte