MIG mit mehreren Maschinentypen erstellen


In diesem Dokument wird beschrieben, wie Sie eine verwaltete Instanzgruppe (MIG) mit Flexibilität der Instanz erstellen, mit der Sie mehrere Maschinentypen in der MIG angeben können.

Die Flexibilität von Instanzen trägt dazu bei, die Verfügbarkeit von Ressourcen zu verbessern, insbesondere für Anwendungen, die auf verschiedenen Maschinentypen ausgeführt werden können und eine große Kapazität oder Hardware mit hoher Nachfrage erfordern. Weitere Informationen finden Sie unter Instanzflexibilität.

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.

MIG mit mehreren Maschinentypen erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanzgruppen auf.

    Zu den Instanzgruppen

  2. Klicken Sie auf Instanzgruppe erstellen.

  3. Geben Sie im Feld Name einen Namen für die MIG ein.

  4. Wählen Sie in der Liste Instanzvorlage die Instanzvorlage aus, die Sie für die verwaltete Instanzgruppe verwenden möchten.

  5. Bevor Sie die Anzahl der Instanzen angeben und Instanzenauswahlen hinzufügen können, müssen Sie Folgendes tun:

    1. So legen Sie einen Standort fest:

      1. Scrollen Sie weiter zum Abschnitt Standort und wählen Sie Mehrere Zonen aus.

      2. Wählen Sie in den Drop-down-Menüs Regionen und Zonen eine Region und die Zonen aus, in denen Sie die VMs in der MIG erstellen möchten. Wenn Sie eine regionale Instanzvorlage ausgewählt haben, wird standardmäßig die Region dieser Vorlage ausgewählt.

      3. Wählen Sie im Feld Zielverteilungsform die Option Ausgeglichen oder Beliebige einzelne Zone aus.

      4. Klicken Sie im angezeigten Dialogfeld auf Instanzweitergabe deaktivieren.

    2. So löschen Sie die Autoscaling-Konfiguration:

      1. Klicken Sie im Abschnitt Autoscaling im Drop-down-Menü Autoscaling-Modus auf Autoscaling-Konfiguration löschen.

      2. Klicken Sie im angezeigten Dialogfeld auf Löschen.

    3. Scrollen Sie zurück zum Feld Anzahl der Instanzen.

  6. Geben Sie im Feld Anzahl der Instanzen die Anzahl der VMs an, die Sie in der Gruppe haben möchten.

  7. Klicken Sie im Bereich Instanzauswahlen auf Instanzauswahlen hinzufügen.

    Das Fenster Instanzauswahl wird geöffnet.

    1. Klicken Sie auf Instanzauswahl hinzufügen.

    2. Führen Sie im Bereich Auswahl der neuen Instanz die folgenden Schritte aus:

      1. Geben Sie im Feld Name einen Namen für die Instanzauswahl ein.

      2. Klicken Sie im Abschnitt Maschinentypen auf Maschinentyp hinzufügen, wählen Sie in der Instanzauswahl einen Maschinentyp aus, den Sie hinzufügen möchten, und klicken Sie dann auf Fertig.

        Wiederholen Sie diesen Schritt für jeden Maschinentyp, den Sie der Instanzauswahl hinzufügen möchten.

      3. Nachdem Sie die Maschinentypen der Instanzauswahl hinzugefügt haben, klicken Sie auf Fertig.

  8. Klicken Sie im Fenster Instanzauswahl auf Fertig.

  9. Übernehmen Sie für die restlichen Felder die Standardeinstellungen oder ändern Sie sie nach Bedarf.

  10. Klicken Sie auf Erstellen.

gcloud

Verwenden Sie den Befehl instance-groups managed create, um eine regionale MIG mit mehreren Maschinentypen zu erstellen:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Zonale MIGs unterstützen keine Instanzflexibilität. Wenn Sie jedoch eine MIG in einer einzelnen Zone erstellen möchten, legen Sie die Zielverteilungsform auf any-single-zone fest. Wenn Sie eine bestimmte Zone verwenden möchten, verwenden Sie das Verteilungssymbol any-single-zone und fügen Sie das Flag --zones ZONE hinzu.

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: Name der MIG.
  • REGION: die Region, in der Sie die MIG erstellen möchten.
  • TARGET_SIZE: die Anzahl der VMs, die die MIG erstellen und verwalten soll.
  • INSTANCE_TEMPLATE ist der Name der Instanzvorlage.
  • SHAPE: Zielverteilungsform. Der Wert kann balanced oder any-single-zone sein. Andere Zielverteilungsformen werden nicht unterstützt.
  • MACHINE_TYPE: die Maschinentypen, die Sie in der MIG konfigurieren möchten, z. B. n1-standard-16,n2-standard-16,e2-standard-16.

Terraform

Wenn Sie noch keine Instanzvorlage erstellt haben, die die VM-Attribute angibt, die Sie für jede VM in Ihrer MIG verwenden möchten, erstellen Sie eine Instanzvorlage.

Verwenden Sie zum Erstellen einer regionalen MIG mit mehreren Maschinentypen die Ressource google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

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

REST

Wenn Sie eine regionale MIG mit mehreren Maschinentypen erstellen möchten, senden Sie eine POST-Anfrage an die Methode regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

Zonale MIGs unterstützen keine Instanzflexibilität. Wenn Sie jedoch eine MIG in einer einzelnen Zone erstellen möchten, legen Sie die Zielverteilungsform auf ANY_SINGLE_ZONE fest. Wenn Sie eine bestimmte Zone benötigen, verwenden Sie das Verteilungselement ANY_SINGLE_ZONE und fügen Sie das Feld distributionPolicy.zones[].zone in die Anfrage ein.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Ihre Projekt-ID.
  • REGION: die Region, in der Sie die MIG erstellen möchten.
  • INSTANCE_GROUP_NAME: Name der MIG.
  • TARGET_SIZE: die Anzahl der VMs, die die MIG erstellen und verwalten soll.
  • INSTANCE_TEMPLATE_URL: die URL der Instanzvorlage.
  • SHAPE: Zielverteilungsform. Der Wert kann BALANCED oder ANY_SINGLE_ZONE sein. Andere Zielverteilungsformen werden nicht unterstützt.
  • INSTANCE_SELECTION: Der Name der Liste der Maschinentypen.
  • MACHINE_TYPE: die Maschinentypen, die Sie in der MIG konfigurieren möchten, z. B. "n1-standard-16","n2-standard-16","e2-standard-16".

Nächste Schritte