Zustandsorientierte Konfiguration in MIGs anwenden, aufrufen und entfernen


Nach dem Erstellen oder Aktualisieren einer zustandsorientierten Konfiguration für eine zustandsorientierte verwaltete Instanzgruppe (Stateful Managed Instance Group, MIG) können Sie Folgendes tun:

Hinweise

  • Machen Sie sich damit vertraut, wann zustandsorientierte MIGs verwendet werden und wie zustandsorientierte MIGs funktionieren.
  • 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. 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.

Zustandsorientierte Konfiguration auf verwaltete Instanzen anwenden

Ihre zustandsorientierte Konfiguration wird wirksam, nachdem Sie oder die MIG sie angewendet haben.

  • Konfigurationsänderungen in einer zustandsorientierten Richtlinie werden automatisch auf alle verwalteten Instanzen angewendet.
  • Konfigurationsänderungen in einer instanzspezifischen Konfiguration können manuell oder automatisch angewendet werden.

Weitere konzeptionelle Informationen finden Sie unter Zustandsorientierte Konfiguration auf verwaltete Instanzen anwenden.

Konfiguration aus einer zustandsorientierten Richtlinie anwenden

Alle Konfigurationsänderungen in einer zustandsorientierten Richtlinie werden automatisch auf alle verwalteten Instanzen angewendet. Ausgeführte VM-Instanzen werden durch die Aktualisierung einer zustandsorientierten Richtlinie nicht unterbrochen.

Prüfen, ob eine zustandsorientierte Richtlinie angewendet wurde

Alle VMs prüfen

Prüfen Sie, ob die Änderungen an einer zustandsorientierten Richtlinie auf alle VMs angewendet wurden. Dies ist der Fall, wenn die MIG nach den Änderungen stabil geworden ist.

Bestimmte VMs prüfen

Prüfen Sie, ob die Änderungen an einer zustandsorientierten Richtlinie auf eine bestimmte VM in einer MIG angewendet wurden. Dazu rufen Sie den beibehaltenen Status der verwalteten Instanz auf und prüfen, ob alle Laufwerke der zustandsorientierten Richtlinie in preservedStateFromPolicy oder preservedStateFromConfig für die verwaltete Instanz vorhanden sind.

Zustandsorientierte Konfiguration aus instanzspezifischen Konfigurationen anwenden

Sie können neue oder aktualisierte instanzspezifische Konfigurationen entweder manuell oder automatisch anwenden. Verwenden Sie eine der folgenden Methoden:

  • Aktualisierte Konfigurationen selektiv auf bestimmte Instanzen anwenden: Verwenden Sie diesen Ansatz, um die Unterbrechung, den Zeitpunkt und die Reihenfolge der Aktualisierungen zu steuern.
  • Aktualisierte Konfigurationen mit Rolling Updates automatisch anwenden: Verwenden Sie diesen Ansatz, um Konfigurationsänderungen automatisch auf verwaltete Instanzen anzuwenden.

Bei beiden Vorgängen werden ausstehende Aktualisierungen sowohl auf instanzspezifische Konfigurationen als auch auf nicht angewendete Versionen von Instanzvorlagen angewendet, falls zutreffend.

Aktualisierte Konfiguration selektiv auf bestimmte Instanzen anwenden

Führen Sie folgende Schritte aus, um instanzspezifische Konfigurationen manuell auf bestimmte Instanzen anzuwenden:

  1. Konfigurieren Sie eine Richtlinie für opportunistische Aktualisierungen, um einen Wettbewerb mit automatischen proaktiven Aktualisierungen zu verhindern.
  2. Instanzspezifische Konfigurationen erstellen oder aktualisieren.
  3. Wenden Sie aktualisierte Konfigurationen auf bestimmte VMs an, indem Sie diese VMs selektiv aktualisieren.

Alternativ können Sie die folgenden Ansätze verwenden:

  • Verwenden Sie beim Erstellen oder Aktualisieren einer instanzspezifischen Konfiguration mit der gcloud CLI das Flag --update-instance, um die Konfiguration sofort auf die verknüpfte verwaltete Instanz anzuwenden.
  • Wenn Sie neue Instanzen manuell erstellen, geben Sie deren Namen und instanzspezifische Konfigurationen zum Zeitpunkt der Erstellung an. Die MIG wendet Konfigurationen sofort auf die VM-Erstellung an.

Aktualisierte Konfiguration mit Rolling Updates automatisch anwenden

Konfigurieren Sie proaktive Rolling Updates für Ihre MIG, um Konfigurationsaktualisierungen automatisch im rollierenden Verfahren auf die entsprechenden verwalteten Instanzen anzuwenden.

Zustandsorientierte MIGs erfordern die folgende Konfiguration für eine proaktive Aktualisierungsrichtlinie:

Mit dieser Konfiguration wird sichergestellt, dass die MIG vorhandene zustandsorientierte Instanzen neu erstellt und nicht durch andere Instanzen ersetzt.

Sie können auch dafür sorgen, dass Änderungen an instanzspezifischen Konfigurationen nach Möglichkeit angewendet werden, ohne Instanzen zu beenden. Dazu legen Sie für die Mindestaktion in der Aktualisierungsrichtlinie der Gruppe den Wert REFRESH fest.

Prüfen, ob instanzspezifische Konfigurationen angewendet wurden

Alle instanzspezifischen Konfigurationen überprüfen

Sie können prüfen, ob alle Instanzkonfigurationen in einer MIG angewendet wurden. Rufen Sie dazu den zustandsorientierten Status der MIG ab und prüfen Sie status.stateful.perInstanceConfigs.allEffective:

  • true: Alle Instanzkonfigurationen in der Gruppe wurden angewendet und sind wirksam oder die Gruppe hat keine Instanzkonfigurationen.
  • false: Die Gruppe hat mindestens eine instanzspezifische Konfiguration, die noch nicht wirksam ist: Entweder wurde sie noch nicht angewendet oder sie wird gerade angewendet.

Spezifische instanzspezifische Konfiguration prüfen

Sie können prüfen, ob die Änderungen an einer bestimmten Instanzkonfiguration auf die zugehörige VM angewendet wurden. Rufen Sie dazu alle Instanzkonfigurationen auf und prüfen Sie das Feld status der jeweiligen Instanzkonfiguration:

  • UNAPPLIED: Die instanzspezifische Konfiguration wurde erstellt oder aktualisiert und muss auf die VM mit einer manuellen Instanzaktualisierung angewendet werden.
  • APPLYING: Die MIG wendet die neue oder aktualisierte instanzspezifische Konfiguration derzeit auf die VM an.
  • EFFECTIVE: Die instanzspezifische Konfiguration wurde erfolgreich auf die VM angewendet und ist wirksam.
  • UNAPPLIED_DELETION: Die instanzspezifische Konfiguration ist zum Löschen markiert. Sie müssen diese Änderung mit einer manuellen Instanzaktualisierung auf die VM anwenden, damit sie wirksam wird.
  • DELETING: Die Instanzkonfiguration wird gelöscht und die Änderung wird auf die VM angewendet.

Zustandsorientierte Konfiguration und beibehaltenen Status anzeigen

Rufen Sie Informationen zu zustandsorientierten MIGs für die folgenden Aufgaben ab:

  • Prüfen, ob eine MIG eine zustandsorientierte Konfiguration hat und ob diese Konfiguration angewendet wurde und wirksam ist
  • Zustandsorientierte Konfiguration aufrufen, die für alle Instanzen in der MIG gilt und in der zustandsorientierten Richtlinie gespeichert ist
  • Zustandsorientierte Konfiguration aufrufen, die für einzelne Instanzen spezifisch ist und in instanzspezifischen Konfigurationen gespeichert ist, und prüfen, ob diese Konfiguration angewendet wurde und wirksam ist
  • Den gültigen beibehaltenen Status für jede Instanz in einer MIG auf der Grundlage der zustandsorientierten Richtlinie und der angewendeten instanzspezifischen Konfiguration aufrufen

Status der zustandsorientierten Konfiguration einer MIG abrufen

Eine MIG gilt als zustandsorientiert, wenn sie eine zustandsorientierte Konfiguration hat, also entweder eine zustandsorientierte Richtlinie oder mindestens eine nicht leere instanzspezifische Konfiguration.

Wenn Sie eine zustandsorientierte Richtlinie erstellen, wird sie von der MIG automatisch angewendet. Wenn Sie Instanzkonfigurationen erstellen, können Sie sie später anwenden.

Wenn Sie prüfen möchten, ob eine MIG eine zustandsorientierte Konfiguration hat und alle instanzspezifischen Konfigurationen angewendet werden, rufen Sie mit der gcloud CLI oder REST den zustandsorientierten Status der MIG ab.

gcloud

Wenn Sie prüfen möchten, ob eine MIG eine zustandsorientierte Konfiguration hat, rufen Sie mit dem Befehl gcloud compute instance-groups managed describe den zustandsorientierten Status ab. Beispiel:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

In dieser Ausgabe gilt:

  • hasStatefulConfig:
    • true: Die Gruppe hat eine zustandsorientierte Konfiguration, d. h. eine nicht leere zustandsorientierte Richtlinie oder mindestens eine nicht leere instanzspezifische Konfiguration.
    • false: Es ist keine zustandsorientierte Konfiguration vorhanden.
  • perInstanceConfigs.allEffective:
    • true: Alle Instanzkonfigurationen in der Gruppe wurden angewendet und sind wirksam oder die Gruppe hat keine Instanzkonfigurationen.
    • false: Die Gruppe hat mindestens eine instanzspezifische Konfiguration, die noch nicht wirksam ist: Entweder wurde sie noch nicht angewendet oder sie wird gerade angewendet.

REST

Verwenden Sie die Methode instanceGroupManagers.get oder regionInstanceGroupManagers.get und prüfen Sie das Feld status.stateful, um zu ermitteln, ob eine MIG eine zustandsorientierte Konfiguration hat. Beispiel:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Die Methode gibt das Objekt instanceGroupManagers zurück:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

In dieser Ausgabe gilt:

  • hasStatefulConfig:
    • true: Die Gruppe hat eine zustandsorientierte Konfiguration, d. h. eine nicht leere zustandsorientierte Richtlinie oder mindestens eine nicht leere instanzspezifische Konfiguration.
    • false: Es ist keine zustandsorientierte Konfiguration vorhanden.
  • perInstanceConfigs.allEffective:
    • true: Alle Instanzkonfigurationen in der Gruppe wurden angewendet und sind wirksam oder die Gruppe hat keine Instanzkonfigurationen.
    • false: Die Gruppe hat mindestens eine instanzspezifische Konfiguration, die noch nicht wirksam ist: Entweder wurde sie noch nicht angewendet oder sie wird gerade angewendet.

Zustandsorientierte Richtlinie einer MIG abrufen

Sie können die zustandsorientierte Richtlinie einer MIG in den Details der Gruppe mit der Google Cloud Console, der gcloud CLI oder REST aufrufen.

Console

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

    Zu den Instanzgruppen

  2. Klicken Sie auf den Namen der Instanzgruppe, für die Sie die zustandsorientierte Richtlinie aufrufen möchten.

  3. Wechseln Sie zum Tab Details.

  4. Unter Zustandsorientierte Ressourcen werden alle Ressourcen in der zustandsorientierten Richtlinie aufgeführt.

gcloud

Führen Sie den Befehl gcloud compute instance-groups managed describe aus, um sich die zustandsorientierte Richtlinie einer MIG anzeigen zu lassen. Beispiel:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Um die zustandsorientierte Richtlinie einer MIG aufzurufen, verwenden Sie die Methode instanceGroupManagers.get oder regionInstanceGroupManagers.get und prüfen Sie das Feld statefulPolicy. Beispiel:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

Die Methode gibt das Objekt instanceGroupManagers zurück:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Instanzspezifische Konfigurationen einer MIG abrufen

Sie können die instanzspezifischen Konfigurationen aufrufen, indem Sie alle instanzspezifischen Konfigurationen in einer MIG auflisten. Verwenden Sie die gcloud CLI oder REST.

Wenn Sie beschließen, Instanzkonfigurationen manuell anzuwenden, wurden einige Instanzkonfigurationen möglicherweise noch nicht auf die zugehörigen Instanzen angewendet, sodass die beibehaltenen Status der Instanzen die Instanzkonfigurationen eventuell noch nicht widerspiegeln. Weitere Informationen finden Sie unter instanzspezifische Konfigurationen anwenden und Instanzkonfigurationen für einzelne Instanzen prüfen.

gcloud

Sie können alle instanzspezifischen Konfigurationen in einer MIG mit dem Befehl gcloud compute instance-groups managed instance-configs list auflisten:

gcloud compute instance-groups managed instance-configs list NAME

Ersetzen Sie Folgendes:

  • NAME: der Name einer MIG, für die instanzspezifische Konfigurationen aufgelistet werden

Filtern Sie die Liste mit dem Standard-Flag --filter.

So listen Sie beispielsweise alle instanzspezifischen Konfigurationen in example-group auf:

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Sie können alle instanzspezifischen Konfigurationen in einer MIG mit der Methode instanceGroupManagers.listPerInstanceConfigs oder regionInstanceGroupManagers.listPerInstanceConfigs auflisten:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Ersetzen Sie Folgendes:

  • PROJECT_ID: die 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: der Name einer MIG, für die instanzspezifische Konfigurationen aufgelistet werden

So listen Sie beispielsweise alle instanzspezifischen Konfigurationen in example-group auf:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

Die Methode gibt die Liste der instanzspezifischen Konfigurationen in der Gruppe zurück:

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Beibehaltenen Status verwalteter Instanzen aufrufen

Wenn eine zustandsorientierte Konfiguration angewendet wird, generiert die MIG den gültigen beibehaltenen Status jeder verwalteten Instanz und legt diesen in zwei Feldern fest:

  • preservedStateFromPolicy: Enthält den beibehaltenen Status, der anhand einer zustandsorientierten Richtlinie generiert wird, und schließt alle zustandsorientierten Konfigurationen aus, die von instanzspezifischen Konfigurationen überschrieben werden.
  • preservedStateFromConfig: Enthält den beibehaltenen Status, der anhand einer instanzspezifischen Konfiguration generiert wird, die bereits auf die verwaltete Instanz angewendet wurde.

Wenn Sie den gültigen beibehaltenen Status jeder verwalteten Instanz in einer MIG aufrufen möchten, listen Sie die verwalteten Instanzen mit der gcloud CLI oder REST auf.

gcloud

Mit dem Befehl gcloud compute instance-groups managed list-instances und anhand der Werte in der Spalte PRESERVED_STATE können Sie prüfen, welche verwalteten Instanzen den beibehaltenen Status haben. Beispiel:

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

Die Spalte PRESERVED_STATE kann die folgenden Werte enthalten:

  • POLICY: Die verwaltete Instanz hat den beibehaltenen Status auf der Grundlage einer zustandsorientierten Richtlinie.
  • CONFIG: Die verwaltete Instanz hat den beibehaltenen Status auf der Grundlage einer instanzspezifischen Konfiguration.
  • Kein Wert: Die verwaltete Instanz hat keinen Status und ist zustandslos.

Mit dem Befehl gcloud compute instance-groups managed describe-instance können Sie den beibehaltenen Status einer bestimmten verwalteten Instanz aufrufen:

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: der Name einer MIG.
  • INSTANCE_NAME: der Name einer verwalteten Instanz in der Gruppe.

Wenn Sie beispielsweise den beibehaltenen Status der verwalteten Instanz node-1 in example-group aufrufen möchten, führen Sie den folgenden Befehl aus:

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Mit der Methode instanceGroupManagers.listManagedInstances oder regionInstanceGroupManagers.listManagedInstances können Sie die verwalteten Instanzen auflisten, um sich den beibehaltenen Status der einzelnen Instanzen anzusehen.

So listen Sie beispielsweise alle verwalteten Instanzen auf:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

Die Methode gibt die Liste verwalteter Instanzen in der Gruppe zurück, die Informationen zum jeweiligen beibehaltenen Status enthält:

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Verknüpfte statische IP-Adressressourcen ansehen

Um statische IP-Adressen (Address-Ressourcen) abzurufen, die verwalteten Instanzen in einer MIG zugewiesen sind, sehen Sie sich den beibehaltenen Status dieser Instanzen an. Statische Adressen finden Sie in den Feldern ipAddress.address.

Wenn eine MIG oder die Instanzen nicht mehr vorhanden sind, die IP-Adressreservierungen aber schon, können Sie die statischen internen oder externen Adressreservierungen auflisten.

Zustandsorientierte Konfiguration entfernen

Das Entfernen einer zustandsorientierten Konfiguration ist in folgenden Szenarien hilfreich:

  • Sie haben eigenständige VMs auf eine zustandsorientierte MIG migriert und möchten nun die zustandsorientierte Konfiguration von instanzspezifischen Konfigurationen in eine gemeinsame zustandsorientierte Richtlinie verschieben.
  • Sie haben Ihre Arbeitslast umstrukturiert und müssen keinen Status mehr auf den VM-Instanzen beibehalten.
  • Sie haben zu Testzwecken eine zustandsorientierte Konfiguration erstellt und möchten sie jetzt bereinigen.

In diesem Abschnitt wird beschrieben, wie Sie eine zustandsorientierte Richtlinie für eine instanzspezifische Konfiguration vollständig entfernen. Wenn Sie nur einen Teil einer zustandsorientierten Richtlinie oder einer instanzspezifischen Konfiguration entfernen müssen, finden Sie in den folgenden Abschnitten weitere Informationen:

Zustandsorientierte Richtlinie entfernen

Wenn Sie eine zustandsorientierte Richtlinie entfernen, wirkt sich dies auf alle VMs in einer MIG aus. Die MIG behandelt alle zustandsorientierten Ressourcen, die in der zustandsorientierten Richtlinie konfiguriert wurden, als zustandslos, es sei denn, diese Ressourcen sind auch in instanzspezifischen Konfigurationen für einzelne Instanzen konfiguriert. Bei nachfolgenden Vorgängen zur Neuerstellung, automatischen Reparatur oder Aktualisierung können die jetzt zustandslosen Ressourcen ihren Status verlieren:

  • Laufwerke können anhand der Quelle, die in der Instanzvorlage definiert ist, gelöscht und neu erstellt werden.
  • IP-Adressen können sich ändern.

Weitere Informationen finden Sie unter Auswirkungen des Entfernens eines Laufwerks aus einer zustandsorientierten Richtlinie auf den beibehaltenen Status.

gcloud

Wenn Sie die gesamte Konfiguration aus einer zustandsorientierten Richtlinie löschen möchten, führen Sie den Befehl gcloud compute instance-groups managed update mit den entsprechenden Flags aus. Die entsprechenden Flags sind:

  • --remove-stateful-disks; und listen Sie die Gerätenamen aller konfigurierten zustandsorientierten Laufwerke auf.
  • --remove-stateful-internal-ips; und listen Sie die Namen der Netzwerkschnittstellen aller konfigurierten zustandsorientierten internen IP-Adressen auf.
  • --remove-stateful-external-ips; und listen Sie die Netzwerkschnittstellennamen aller konfigurierten zustandsorientierten externen IP-Adressen auf.

Wenn Ihre zustandsorientierte Richtlinie beispielsweise die Konfiguration für zwei zustandsorientierte Laufwerke mit Gerätenamen data-disk undlogs-disk enthält sowie eine Konfiguration für zustandsorientierte interne und externe IP-Adressen innerhalb der Netzwerkschnittstelle nic0, führen Sie den folgenden Befehl aus, um die Richtlinie zu löschen:

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

Die MIG entfernt aus ihrer zustandsorientierten Richtlinie die zustandsorientierte Konfiguration data-disk und logs-disk sowie die zustandsorientierte interne und externe IP-Konfiguration für die Netzwerkschnittstelle nic0. Als Ergebnis entfernt die MIG diese Laufwerke und statischen IP-Adressen automatisch und asynchron aus dem beibehaltenen Status aller verwalteten Instanzen in der Gruppe, es sei denn, die Laufwerke oder IP-Adressen sind auch in instanzspezifischen Konfigurationen konfiguriert.

REST

Setzen Sie das Feld statefulPolicy mithilfe der Methode instanceGroupManagers.patch oder regionInstanceGroupManagers.patch auf null, um die gesamte Konfiguration in einer zustandsorientierten Richtlinie zu löschen. Methode.

Mit dem folgenden Aufruf wird beispielsweise die zustandsorientierte Richtlinienkonfiguration entfernt:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME

{
  "statefulPolicy": null
}

Das MIG löscht die zustandsorientierte Richtlinienkonfiguration und entfernt die zustandsorientierten Ressourcen automatisch und asynchron aus dem beibehaltenen Status aller verwalteten Instanzen in der Gruppe, sofern die Ressourcen nicht auch in instanzspezifischen Konfigurationen konfiguriert sind.

Zustandsorientierte Konfiguration für eine bestimmte VM entfernen

Das Entfernen einer zustandsorientierten Konfiguration für eine bestimmte VM erfolgt in zwei Schritten:

  1. Löschen Sie die zugehörige instanzspezifische Konfiguration.
  2. Wenden Sie die Änderung auf die verwaltete Instanz an. Sie können auswählen, ob die Änderung manuell oder automatisch angewendet werden soll.

Nach Anwendung der Änderung werden alle zustandsorientierten Elemente, die zuvor in der instanzspezifischen Konfiguration konfiguriert wurden, als zustandslos behandelt, sofern sie nicht auch in der zustandsorientierten Richtlinie der Gruppe konfiguriert sind. Wenn die VM anschließend neu erstellt oder aktualisiert wird, geht der Status der Elemente verloren:

  • Laufwerke können anhand ihrer Quelle in der Instanzvorlage getrennt oder neu erstellt werden.
  • Metadaten werden entfernt oder auf die in der Instanzvorlage definierten Werte zurückgesetzt.
  • IP-Adressen können sich ändern.

Weitere Informationen finden Sie unter Auswirkungen der Entfernung von Elementen aus instanzspezifischen Konfigurationen auf den beibehaltenen Status.

gcloud

Führen Sie den Befehl gcloud compute instance-groups managed instance-configs delete aus, um die instanzspezifische Konfiguration vollständig zu löschen.

Verwenden Sie das optionale Flag --update-instance, um die Änderungen sofort auf die Instanz anzuwenden (Standardeinstellung). Wenn Sie das Flag --no-update-instance festlegen, werden die Änderungen bei der nächsten Neuerstellung oder Aktualisierung der Instanz angewendet.

Das Flag --instance-update-minimal-action kann nur zusammen mit dem Flag --update-instance verwendet werden.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Ersetzen Sie Folgendes:

  • INSTANCE_GROUP_NAME: der Name der MIG.
  • INSTANCE_NAME: die Namen der Instanzen, für die instanzspezifische Konfigurationen gelöscht werden sollen.
  • MINIMAL_ACTION: die Mindestaktion, die ausgeführt werden soll, wenn die Aktualisierung der instanzspezifischen Konfiguration auf die VM angewendet wird. Dieser Feld muss einen der folgenden Werte enthalten:
      .
    • none: Keine Aktion.
    • refresh: Aktualisierungen, die ohne das Beenden der VM angewendet werden können, werden angewendet.
    • restart: Die VM wird beendet und dann wieder gestartet.
    • replace: Die VM wird neu erstellt.

Wenn Sie beispielsweise die instanzspezifische Konfiguration für node-1 in example-group löschen möchten, führen Sie den folgenden Befehl aus:

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

Die MIG löscht die instanzspezifische Konfiguration node-1. Da die VM aktualisiert und die Konfigurationsänderungen angewendet wurden, behandelt die MIG diese zuvor zustandsorientierten Elemente nicht mehr als zustandsorientiert.

REST

Wenn Sie die instanzspezifische Konfiguration für eine oder mehrere Instanzen vollständig löschen möchten, verwenden Sie die Methode instanceGroupManagers.deletePerInstanceConfigs oder regionInstanceGroupManagers.deletePerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die 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.
  • INSTANCE_GROUP_NAME: Name der MIG.
  • INSTANCE_NAME: die Namen der Instanzen, für die instanzspezifische Konfigurationen gelöscht werden sollen.

Die Methode deletePerInstanceConfig löscht die angegebenen instanzspezifischen Konfigurationen, wendet die Änderungen jedoch nicht auf die zugehörigen VMs an. Die Änderungen werden auf eine VM angewendet, wenn Sie die Instanz neu erstellen oder aktualisieren. Aktualisieren Sie die ausgewählten VMs manuell, um die Änderungen zu übernehmen.

Wenn Sie beispielsweise die instanzspezifische Konfiguration für node-1 in example-group löschen möchten, rufen Sie die folgende Methode auf:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

Die Methode löscht die instanzspezifische Konfiguration für die Instanz node-1 aus example-group. Die Änderung wird auf die verwaltete Instanz angewendet, wenn Sie die Instanz neu erstellen oder aktualisieren.

Rufen Sie die Methode instanceGroupManagers.applyUpdatesToInstances auf, um die Konfigurationsänderung anzuwenden:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

Die Methode entfernt zustandsorientierte Elemente aus dem beibehaltenen Status der verwalteten Instanz.

Feedback

Wir möchten mehr über Ihre Anwendungsfälle und Herausforderungen erfahren und freuen uns über Feedback zu zustandsorientierten MIGs. Senden Sie Ihr Feedback unter mig-discuss@google.com an unser Team.

Nächste Schritte