Hostwartungsereignisse simulieren


Auf dieser Seite wird beschrieben, wie Sie die Auswirkungen der Hostwartungsrichtlinie Ihrer Compute Engine-Instanz auf Ihre Anwendungen testen können.

Mit der Simulation eines Wartungsereignisses für Ihre VMs lässt sich Folgendes testen:

  • Die Auswirkungen der Live-Migration auf Ihre Anwendungen
  • Wie Ihre Anwendungen und Batchjobs auf das vorzeitige Beenden und Herunterfahren reagieren, wenn Sie eine oder mehrere Spot-VMs verwenden
  • Wie Ihre Anwendungen das Herunterfahren und Neustarten von Instanzen verarbeiten, die so konfiguriert sind, dass sie bei Wartungsereignissen beendet und neu gestartet und nicht live migriert werden
  • Wie sich Arbeitslasten während eines Hostwartungsereignisses verhalten, die auf Knoten für einzelne Mandanten laufen und welche Auswirkungen die Hostwartungsrichtlinie der VMs für einzelne Mandanten auf die Anwendungen hat, die auf den VMs ausgeführt werden

Wenn Sie versuchen, ein Hostwartungsereignis auf einer Instanz zu simulieren, die die Live-Migration nicht unterstützt, wird die Instanz je nach konfigurierter Hostwartungsrichtlinie entweder beendet oder neu gestartet.

Hinweis

  • Prüfen Sie die regionale API-Ratenbegrenzung für SimulateMaintenanceEventRequestsPerMinutePerProjectPerRegion.
  • 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. Zum Ausführen von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei der Compute Engine authentifizieren:

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

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

        Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, nutzen Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Beschränkungen

  • Zur korrekten Simulation eines Wartungsereignisses für eine Knotengruppe für einzelne Mandanten, in der die Hostwartungsrichtlinie für die Migration innerhalb der Knotengruppe festgelegt wurde, müssen Sie das Wartungsereignis auf jedem Knoten sequenziell auslösen.
  • Wenn Sie für eine Knotengruppe für einzelne Mandanten versuchen, ein Hostwartungsereignis zu simulieren, und für die Knotengruppe eine Hostwartungsrichtlinie festgelegt ist, die die Migration innerhalb der Knotengruppe vorsieht, gilt Folgendes:
    • Wenn die Anzahl der angegebenen Knoten kleiner oder gleich der Gesamtzahl der reservierten Holdback-Knoten 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.
  • Die Anzahl der Wartungsereignissimulationen, die Sie pro Minute und Region starten können, wird durch die API-Ratenbegrenzung für den Messwert simulate_maintenance_event_requests_per_region begrenzt.

Hostwartungsereignisse simulieren, um die Live-Migration zu testen

Sie können ein Wartungsereignis für eine Compute-Instanz mit der Google Cloud CLI oder einer API-Anfrage simulieren. Dieses simulierte Ereignis umfasst die verschiedenen Wartungsaktivitäten, die bei einem regulären Wartungsereignis stattfinden. So können Sie den gesamten Prozess beobachten und alle Automatisierungen testen, die Sie möglicherweise implementiert haben.

Während der Simulation eines Hostwartungsereignisses für eine Instanz mit Live-Migration durchläuft der Metadatenschlüssel maintenance-event der Instanz 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 der Simulation 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 Wartungsereignis-Metadatenschlüssel abfragen.

gcloud

Mit dem Befehl compute instances simulate-maintenance-event können Sie ein Wartungsereignis für eine Instanz simulieren und die konfigurierten Einstellungen für die Hostwartungsrichtlinie testen:

gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
    --zone=ZONE --with-extended-notifications=True

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: der Name der Compute-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.

REST

Erstellen Sie eine POST-Anfrage an die Methode compute.instances.simulateMaintenanceEvent.

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

Ersetzen Sie Folgendes:

  • PROJECT_ID ist die Projekt-ID für diese Anfrage.
  • INSTANCE_NAME: der Name der Instanz, für die das Wartungsereignis simuliert werden soll.
  • ZONE: die Zone, in der sich die Instanz befindet.

Hostwartung für Compute-Instanzen simulieren, die beendet werden

Sie können ein Wartungsereignis für eine Compute-Instanz mit der Google Cloud CLI oder einer API-Anfrage simulieren. Dieses simulierte Ereignis umfasst die verschiedenen Wartungsaktivitäten, die bei einem regulären Wartungsereignis stattfinden. So können Sie den gesamten Prozess beobachten und alle Automatisierungen testen, die Sie möglicherweise implementiert haben.

Wenn Sie den Parameter --with-extended-notifications mit einem unterstützten Maschinentyp verwenden, können Sie außerdem testen, ob die Hostwartung während des simulierten Ereignisses manuell gestartet werden kann.

gcloud

  1. Mit dem Befehl compute instances simulate-maintenance-event können Sie ein Wartungsereignis für eine Instanz simulieren und die konfigurierten Einstellungen für die Hostwartungsrichtlinie testen. Sie können optional das Flag --with-extended-notifications einfügen.

    gcloud compute instances simulate-maintenance-event INSTANCE_NAME \
       --zone=ZONE --with-extended-notifications=True
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: der Name der Compute-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.

  2. Optional: Wenn Sie das simulierte Wartungsereignis manuell starten möchten, verwenden Sie den Befehl compute instances perform-maintenance.

    gcloud compute instances perform-maintenance INSTANCE_NAME \
       --zone=ZONE
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: der Name der Compute-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 Instanzen befinden.

REST

  1. Erstellen Sie eine POST-Anfrage an die Methode compute.instances.simulateMaintenanceEvent. Sie können optional den Abfrageparameter withExtendedNotifications einfügen.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/simulateMaintenanceEvent?withExtendedNotifications=True
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die Projekt-ID für diese Anfrage.
    • INSTANCE_NAME: der Name der Instanz, für die das Wartungsereignis simuliert werden soll.
    • ZONE: die Zone, in der sich die Instanz befindet.
  2. Optional: Wenn Sie das simulierte Wartungsereignis manuell starten möchten, erstellen Sie eine POST-Anfrage an die Methode compute.instances.performMaintenance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance
    

    Ersetzen Sie Folgendes:

    • INSTANCE_NAME: der Name der Compute-Instanz, für die Sie das Wartungsereignis starten möchten.

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

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

Hostwartungsereignisse 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 für eine VM für einzelne Mandanten ändert sich der Wert des Metadatenschlüssels maintenance-event nicht und bleibt während der gesamten 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

Ersetzen Sie Folgendes:

  • 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 kommagetrennte Werte, zum Beispiel node-1,node-2,node-3.

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

REST

Erstellen Sie eine POST-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"
  ]
}

Ersetzen Sie Folgendes:

  • 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, zum Beispiel "node-1". Wenn Sie mehrere Knotennamen angeben, verwenden Sie kommagetrennte Werte, zum Beispiel "node-1","node-2","node-3".

Weitere Informationen