MIG mit zustandsorientierten Laufwerken erstellen


In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) erstellen, die die Daten auf Laufwerken mit einem bestimmten Gerätenamen für alle VMs der MIG speichert, auch in den Ereignis der VM-Neuerstellung, z. B. wenn eine VM in der MIG automatisch repariert, aktualisiert oder neu erstellt wird. Das Speichern von Laufwerken ist für bestimmte Arbeitslasten nützlich, z. B. für Datenbanken oder Legacy-Anwendungen.

Neben dem Speichern von Laufwerken für alle VMs in der Gruppe können Sie auch eine zustandsorientierte MIG für Folgendes konfigurieren:

  • Sie können instanzspezifische Laufwerke hinzufügen und beibehalten.
  • Sie können instanzspezifische Metadaten hinzufügen und beibehalten.
  • Sie können IP-Adressen hinzufügen und beibehalten.

Weitere Informationen finden Sie in der Übersicht zustandsorientierter MIGs.

Weitere Informationen zu anderen grundlegenden Szenarien zum Erstellen einer MIG

Vorbereitung

  • Erstellen Sie eine Instanzvorlage. Dies ist zum Erstellen einer verwalteten Instanzgruppe erforderlich.
  • 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

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

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. Terraform

      Wenn Sie die Terraform-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.

      1. Install the Google Cloud CLI.
      2. To initialize the gcloud CLI, run the following command:

        gcloud init
      3. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

      Weitere Informationen unter Set up authentication for a local development environment.

      REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Beschränkungen

Für eine MIG mit einer zustandsorientierten Konfiguration – einer zustandsorientierten MIG – gelten folgende Einschränkungen:

  • Sie können Autoscaling nicht verwenden, wenn Ihre MIG eine zustandsorientierte Konfiguration hat.
  • Wenn Sie automatische Rolling Updates verwenden möchten, müssen Sie die Ersetzungsmethode auf RECREATE setzen.
  • Bei zustandsorientierten regionalen MIGs müssen Sie die proaktive Umverteilung deaktivieren. Setzen Sie dafür den Typ für die Umverteilung auf NONE. Damit wird verhindert, dass zustandsorientierte Instanzen durch die automatische zonenübergreifende Umverteilung gelöscht werden.
  • Wenn Sie eine instanzübergreifende Konfiguration zum Überschreiben der Attribute der Instanzvorlage verwenden, können Sie diese Attribute nicht in einer instanzspezifischen Konfiguration und gleichzeitig in der instanzübergreifenden Konfiguration der Gruppe konfigurieren.

Eine vollständige Liste der MIG-Einschränkungen, die je nach verwendeter Konfiguration variieren, finden Sie unter MIG-Einschränkungen.

MIG mit zustandsorientierten Laufwerken erstellen

Verwenden Sie die Google Cloud Console, die gcloud CLI, Terraform oder REST.

Console

  1. Rufen Sie die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

    Die verbleibenden Schritte werden in der Google Cloud Console angezeigt.

  2. Klicken Sie auf Instanzgruppe erstellen.
  3. Wählen Sie die Option Neue verwaltete Instanzgruppe (zustandsorientiert) aus.
  4. Weisen Sie Ihrer Instanzgruppe einen Namen und optional eine Beschreibung zu.
  5. Wählen Sie eine Instanzvorlage für die Instanzgruppe aus oder erstellen Sie eine neue Vorlage.
  6. Geben Sie im Feld Anzahl der Instanzen die anfängliche Anzahl von VMs an, die Sie in dieser Gruppe benötigen.
  7. Klicken Sie im Abschnitt Zustandsorientierte Konfiguration unter Gruppenkonfiguration auf das Laufwerk, das zustandsorientiert werden soll, und führen Sie dann die folgenden Schritte aus.
    1. Wählen Sie im Abschnitt Zustandsorientiert die Option Ja aus.
    2. Wählen Sie in der Liste Bei dauerhafter Instanzlöschung aus, ob Sie das Laufwerk trennen oder löschen möchten, wenn Sie die VM dauerhaft löschen.
    3. Klicken Sie auf Fertig, um die Einstellungen zu speichern.
  8. Klicken Sie zum Erstellen der MIG auf Erstellen.

gcloud

Geben Sie mit dem Befehl gcloud compute instance-groups managed create und dem Flag --stateful-disk an, welche Laufwerke aus der Instanzvorlage beim Erstellen der MIG zustandsorientiert sein sollen:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der verwalteten Instanzgruppe, die erstellt werden soll.
  • INSTANCE_TEMPLATE: Name der Instanzvorlage, die beim Erstellen von Instanzen verwendet werden soll. Bei einer regionalen Instanzvorlage müssen Sie die URL der Vorlage vollständig oder teilweise angeben. Ein Beispiel für eine vollständige URL ist https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template und für eine teilweise URL projects/example-project/regions/us-central1/instanceTemplates/example-regional-instance-template.
  • SIZE: anfängliche Anzahl von VMs, die Sie in dieser Gruppe benötigen.
  • DEVICE_NAME: Gerätename eines Laufwerks, das in der Instanzvorlage angegeben ist.
  • DELETE_RULE: Wert, der vorgibt, was mit einem zustandsorientierten Laufwerk geschehen soll, wenn eine VM gelöscht wird. Folgende Optionen sind verfügbar:

    • never: (Standardeinstellung) Das Laufwerk wird beim Löschen der zugehörigen VM nie gelöscht, sondern stattdessen getrennt.
    • on-permanent-instance-deletion: Das Laufwerk wird gelöscht, wenn die zugehörige VM-Instanz dauerhaft aus der Instanzgruppe gelöscht wird, beispielsweise beim manuellen Löschen der verwalteten Instanz oder Verringern der Gruppengröße.

    Unabhängig vom Wert der Löschregel bleiben zustandsorientierte Laufwerke bei automatischen Reparaturen, Aktualisierungen und Neuerstellungen von VMs immer erhalten.

Terraform

Wenn Sie noch keine Instanzvorlage erstellt haben, die den Maschinentyp, das Bootlaufwerk-Image, das Netzwerk und andere VM-Attribute angibt, die Sie für jede VM in Ihrer MIG verwenden möchten, erstellen Sie eine Instanzvorlage

Fügen Sie den Block stateful_disk ein, um festzulegen, welche Laufwerke aus der Instanzvorlage beim Erstellen der MIG zustandsorientiert sein sollen. Im folgenden Beispiel wird eine zonale MIG mit zustandsorientierten Laufwerken erstellt. Weitere Informationen zu der im Beispiel verwendeten Ressource finden Sie unter google_compute_instance_group_manager-Ressource.

resource "google_compute_instance_group_manager" "default" {
  name               = "igm-stateful-disk-basic"
  zone               = "us-central1-f"
  base_instance_name = "instance"
  target_size        = 1

  version {
    instance_template = google_compute_instance_template.default.id
  }

  stateful_disk {
    device_name = "example-disk"
    delete_rule = "NEVER"
  }

}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

REST

Wenn Sie festlegen möchten, welche Laufwerke aus der Instanzvorlage beim Erstellen von MIGs zustandsorientiert sein sollen, fügen Sie diese im Anfragetext in das Feld statefulPolicy ein. Verwenden Sie für eine zonale MIG die Methode instanceGroupManagers.insert oder für eine regionale MIG die Methode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers

{
  "name": "NAME",
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/TEMPLATE"
    }
  ],
  "targetSize": SIZE,
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" },
        "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }
      }
    }
  }
}

Dabei gilt:

  • PROJECT: Projekt-ID für die Anfrage.
  • ZONE: Die Zone, in der sich die MIG befindet (gilt für eine zonale MIG).
    • Ersetzen Sie bei einer regionalen MIG zones/ZONE durch regions/REGION und geben Sie die Region der MIG an.
  • NAME: Name der MIG, die erstellt werden soll.
  • TEMPLATE: Name der Instanzvorlage, die beim Erstellen von Instanzen verwendet werden soll.
  • SIZE: anfängliche Anzahl von Instanzen, die Sie in dieser Gruppe benötigen.
  • DEVICE_NAME: Gerätename eines Laufwerks, das in der Instanzvorlage angegeben ist.
  • DELETE_RULE: Wert, der vorgibt, was mit dem zustandsorientierten Laufwerk beim Löschen der VM-Instanz geschieht. Folgende Optionen sind verfügbar:

    • never: (Standardeinstellung) Das Laufwerk wird beim Löschen der zugehörigen VM nie gelöscht, sondern stattdessen getrennt.
    • on_permanent_instance_deletion: Das zustandsorientierte Laufwerk wird gelöscht, wenn die zugehörige VM-Instanz dauerhaft aus der Instanzgruppe gelöscht wird, beispielsweise beim manuellen Löschen der verwalteten Instanz oder Verringern der Gruppengröße.

    Unabhängig vom Wert der Löschregel bleiben zustandsorientierte Laufwerke bei automatischen Reparaturen, Aktualisierungen und Neuerstellungen von Instanzen immer erhalten.

Nächste Schritte