In diesem Dokument wird beschrieben, wie Sie Konfigurationsaktualisierungen automatisch auf die VM-Instanzen in einer verwalteten Instanzgruppe (Managed Instance Group, MIG) anwenden.
Compute Engine verwaltet die VMs in einer MIG anhand der von Ihnen verwendeten Konfigurationskomponenten: Instanzvorlage, optionale Instanzkonfiguration und optionale zustandsorientierte Konfiguration.
Wenn Sie die VM-Konfiguration einer MIG durch Ändern dieser Komponenten aktualisieren, wendet Compute Engine die aktualisierte Konfiguration automatisch auf neue VMs an, die der Gruppe hinzugefügt werden.
Sie können eine selektive Aktualisierung einrichten, die auch als „opportunistische” Aktualisierungstyp bezeichnet wird, um eine aktualisierte Konfiguration auf vorhandene VMs anzuwenden. Diese Art der Aktualisierung bietet folgende Vorteile:
- Sie können die VMs auswählen, die Sie aktualisieren möchten.
- Sie können den Zeitpunkt und die Reihenfolge der Aktualisierungen steuern.
- Sie können die gcloud CLI oder REST verwenden, um alle VMs sofort zu aktualisieren.
Informationen zum Automatisieren des Rollouts einer neuen Konfiguration für alle oder eine zufällige Teilmenge der VMs in einer MIG finden Sie unter Aktualisierungen der VM-Konfiguration in einer MIG automatisch anwenden. Weitere Informationen finden Sie unter Methoden zum Anwenden einer neuen Konfiguration auf vorhandene VMs.
Hinweise
-
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 so bei Compute Engine authentifizieren.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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.
-
Aktualisierte Konfiguration auf ausgewählte VMs anwenden
Legen Sie den Aktualisierungsrichtlinientyp Ihrer Gruppe auf „opportunistisch” fest, damit die MIG keine neue VM-Konfiguration auf vorhandene VMs anwendet. Weitere Informationen finden Sie unter Aktualisierungsrichtlinien Ihrer Gruppe überprüfen.
Verwenden Sie dann die gcloud CLI oder REST, um die Konfiguration Ihrer MIG zu aktualisieren und die neueste Konfiguration auf bestimmte VMs in der Gruppe oder auf alle VMs in der Gruppe anzuwenden.
gcloud
Zum Einrichten einer neuen Instanzvorlage für Ihre Gruppe können Sie den Befehl set-instance-template
verwenden.
gcloud compute instance-groups managed set-instance-template INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE
Konfiguration auf bestimmte VMs anwenden
Verwenden Sie den Befehl update-instances
mit dem Flag --instances
, um die aktualisierte Konfiguration auf bestimmte VMs anzuwenden.
gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --instances INSTANCE_NAMES \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Konfiguration auf alle VMs anwenden
Verwenden Sie den Befehl update-instances
mit dem Flag --all-instances
, um die aktualisierte Konfiguration auf alle VMs anzuwenden.
gcloud compute instance-groups managed update-instances INSTANCE_GROUP_NAME \ --all-instances \ --most-disruptive-allowed-action DISRUPTION_LEVEL \ --minimal-action DISRUPTION_LEVEL
Dabei gilt:
INSTANCE_GROUP_NAME
: Name der MIG.INSTANCE_TEMPLATE
: Neue Instanzvorlage.INSTANCE_NAMES
: Eine Liste der VMs, auf die die Vorlage angewendet werden sollDISRUPTION_LEVEL
: Die minimale oder maximale Unterbrechungsstufe:none
,refresh
,restart
oderreplace
.- Standardmäßig ist die Mindestaktion
none
- Standardmäßig ist die umfangreichste erlaubt Aktion
replace
- Standardmäßig ist die Mindestaktion
REST
Rufen Sie zum Einrichten einer neuen Instanzvorlage für Ihre Gruppe die Methode patch
für eine zonale oder regionale MIG auf und aktualisieren Sie das Feld versions.instanceTemplate
. Wenn Sie die neue Vorlage nicht automatisch für alle VMs in der Gruppe bereitstellen möchten, setzen Sie das Feld updatePolicy.type
auf OPPORTUNISTIC
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "OPPORTUNISTIC" }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Konfiguration auf bestimmte VMs anwenden
Um die aktualisierte Konfiguration auf bestimmte VMs anzuwenden, rufen Sie die Methode applyUpdatesToInstances
für Ihre zonale oder regionale MIG auf und geben Sie eine Liste der VMs in der Anfrage an.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "instances": [ "zones/ZONE/instances/INSTANCE_NAME_1", "zones/ZONE/instances/INSTANCE_NAME_2" ], "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Konfiguration auf alle VMs anwenden
Legen Sie das Feld allInstances
auf true
fest, um die aktualisierte Konfiguration auf alle vorhandenen VMs anzuwenden:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/applyUpdatesToInstances { "allInstances": true, "minimalAction": DISRUPTION_LEVEL, "mostDisruptiveAllowedAction": DISRUPTION_LEVEL }
Dabei gilt:
INSTANCE_GROUP_NAME
ist der Name der GruppeNEW_TEMPLATE
ist der Name der neuen VorlageZONE
ist die Zone einer Instanz, die aktualisiert werden soll.INSTANCE_NAME_1
undINSTANCE_NAME_2
sind die Namen der VMs, die aktualisiert werden sollenDISRUPTION_LEVEL
: Die minimale oder maximale Unterbrechungsstufe:NONE
,REFRESH
,RESTART
oderREPLACE
.- Der Standardwert von
minimalAction
istNONE
. - Der Standardwert von
mostDisruptiveAllowedAction
istREPLACE
.
- Der Standardwert von
Ähnlich wie bei anderen Methoden für verwaltete Instanzgruppen sind bei applyUpdatesToInstances
die Updates erst einmal nur geplant. Dies bedeutet, dass eine Vorgangsantwort zurückgegeben wird.
Der Vorgang kann einige Zeit in Anspruch nehmen.
Nach einer Anfrage können Sie den Status prüfen, um festzustellen, ob die Aktualisierung abgeschlossen ist.
Unterbrechungsstufe während selektiver Aktualisierungen steuern
Je nach Art der Aktualisierung kann diese sich negativ auf den Status einer Instanz auswirken. Beispiel: Wenn Sie das Bootlaufwerk einer Instanz ändern möchten, müssen Sie die Instanz ersetzen. Um das Maß der Unterbrechung während eines selektiven Updates zu steuern, legen Sie folgende Optionen fest:
Mindestaktion: Verwenden Sie diese Option, um Unterbrechungen so weit wie möglich zu minimieren oder um eine umfangreichere Aktion als erforderlich anzuwenden.
- Wenn Sie Unterbrechungen so weit wie möglich einschränken möchten, legen Sie die Mindestaktion auf
NONE
fest. Wenn ein Update eine umfassendere Aktion erfordert, führt Compute Engine die Aktion aus, die notwendig ist, um das Update auszuführen. - Wenn Sie eine umfassendere Aktion anwenden möchten als notwendig, legen Sie die Mindestaktion auf
RESTART
oderREPLACE
fest. So muss Compute Engine zum Beispiel keine VM neu starten, um die Metadaten zu ändern. Wenn Ihre Anwendung Instanzmetadaten nur beim Neustart einer VM liest, können Sie die Mindestaktion aufRESTART
festlegen, um Metadatenänderungen zu übernehmen.
- Wenn Sie Unterbrechungen so weit wie möglich einschränken möchten, legen Sie die Mindestaktion auf
Umfassendste erlaubte Aktion: Verwenden Sie diese Option, um ein Update zu verhindern, wenn dies zu einer längeren Unterbrechung führen würde, als tragbar ist. Wenn ein Update eine umfassendere Aktion erfordert, als die mit diesem Flag festgelegte, schlägt die Aktualisierungsanfrage fehl. Beispiel: Wenn Sie als umfassendste zulässige Aktion
RESTART
festlegen, schlägt der Versuch, das Bootlaufwerk-Image zu aktualisieren, fehl. Dieses Update erfordert eine Neuerstellung der Instanz, eine umfassendere Aktion als einen Neustart.
Beim Aktualisieren ausgewählter VMs können diese Optionen die folgenden Werte akzeptieren:
Wert | Beschreibung | Welche Instanzattribute können aktualisiert werden? |
---|---|---|
NONE | Die Instanz wird auf keinerlei Art gestört. | – |
REFRESH | Die Instanz wird nicht gestoppt. | Zusätzliche Laufwerke, Instanzmetadaten, Labels, Tags |
RESTART | Die Instanz wird gestoppt und noch einmal gestartet. | Zusätzliche Laufwerke, Instanzmetadaten, Labels, Tags, Maschinentyp |
REPLACE | Die Instanz wird gelöscht und noch einmal erstellt. | Alle Instanzattribute, die in der Instanzvorlage oder der instanzspezifischen Konfiguration gespeichert sind |
Die umfangreichste erlaubte Aktion kann nicht weniger umfangreich sein als die Mindestaktion.
Wenn Sie VMs selektiv aktualisieren, gelten folgende Standardeinstellungen:
- Die standardmäßige Mindestaktion ist
NONE
, wodurch Störungen so weit wie möglich eingeschränkt werden. - Standardmäßig ist die umfassendste erlaubte Aktion
REPLACE
. Wenn Sie eine solche Störung nicht tolerieren können, sollten Sie die umfassendste erlaubte Aktion auf einen weniger hohen Wert setzen.
Nächste Schritte
- Informationen zu MIGs und verwalteten VMs ansehen
- Instanzvorlagen erstellen
- Mit Image-Familien und rollierenden Ersetzungen das Betriebssystem-Image auf allen VMs einer verwalteten Instanzgruppe aktualisieren.