Mit Instanz-Metadaten können Sie Attribute für Ihre Anwendungen festlegen und über den Metadatenserver mit diesen Anwendungen kommunizieren. Sie können mit Metadaten beispielsweise die Identität der VM-Instanz, Umgebungsvariablen, Informationen zur Clusterarchitektur oder den Datenbereich, den eine VM verwaltet, konfigurieren.
Durch das Konfigurieren der zustandsorientierten Metadaten in einer verwalteten Instanzgruppe (Managed Instance Group, MIG) sorgen Sie dafür, dass die instanzspezifischen Metadaten auf diesen verwalteten Instanzen beibehalten werden, wenn automatische Reparaturen, Aktualisierungen und Neuerstellungen vorgenommen werden.
Konfigurieren Sie die zustandsorientierten Metadaten für jede VM-Instanz in einer MIG separat. Legen Sie die Metadaten dazu in der instanzspezifischen Konfiguration fest und wenden Sie die Konfiguration an. Sie können eine instanzspezifische Konfiguration bei der Instanzerstellung oder für vorhandene verwaltete Instanzen festlegen. Nachdem die instanzspezifische Konfiguration angewendet wurde, speichert die MIG die zustandsorientierten Metadaten im Feld für den beibehaltenen Status aus der Konfiguration (preservedStateFromConfig
) der jeweiligen verwalteten Instanz.
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 wie folgt bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
- 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.
Wenn Sie eine Instanz dauerhaft löschen (entweder manuell oder durch Verringern der Größe), behält die MIG die zustandsorientierten Metadaten der Instanz nicht bei.
- Erstellen einer verwalteten Instanz aus der Instanzvorlage mit dem angegebenen Instanznamen
- Erstellt eine instanzspezifischen Konfiguration mit den bereitgestellten zustandsorientierten Metadaten und legt diese Metadaten auf der Instanz fest.
- Speichert die zustandsorientierten Metadaten im beibehaltenen Status aus der Konfiguration (
preservedStateFromConfig
) der zugehörigen verwalteten Instanz. NAME
: Name der MIG, in der eine Instanz erstellt werden sollINSTANCE_NAME
: Name der zu erstellenden InstanzKEY
undVALUE
: zustandsorientierte Metadaten-Schlüssel/Wert-Paare, die zusätzlich zu den in der Instanzvorlage definierten Metadaten separat für die einzelnen Instanzen festgelegt werden.- Die hier festgelegten Schlüsselwerte haben Vorrang vor den eventuell abweichenden Schlüsselwerten aus der Instanzvorlage.
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
durchregions/REGION
und geben Sie die Region der MIG an.
- Ersetzen Sie bei einer regionalen MIG
NAME
: Name der MIG, in der eine Instanz erstellt werden sollINSTANCE_NAME
: Name der zu erstellenden InstanzKEY
undVALUE
: zustandsorientierte Metadaten-Schlüssel/Wert-Paare, die zusätzlich zu den in der Instanzvorlage definierten Metadaten separat für die einzelnen Instanzen festgelegt werden.- Die hier festgelegten Schlüsselwerte haben Vorrang vor den eventuell abweichenden Schlüsselwerten aus der Instanzvorlage.
- dem Flag
--stateful-metadata
zum Festlegen oder Ändern von Metadaten oder - dem Flag
--remove-stateful-metadata
zum Entfernen von instanzspezifischen zustandsorientierten Metadaten. NAME
: Name der verwalteten InstanzgruppeINSTANCE_NAME
: Name der Instanz, für die zustandsorientierte Metadaten konfiguriert werden sollenKEY=VALUE
: Schlüssel/Wert-Paare für zustandsorientierte Metadaten, die für die Instanz zusätzlich zu den in der Instanzvorlage definierten Metadaten festgelegt werden. Die hier festgelegten Schlüsselwerte haben Vorrang vor den eventuell abweichenden Schlüsselwerten aus der Instanzvorlage.KEY
: Instanzspezifische zustandsorientierte Metadatenschlüssel, die aus der instanzspezifischen Konfiguration entfernt werden sollen.- Wenn ein Wert für einen Schlüssel nicht in der Instanzvorlage definiert ist, wird das Schlüssel/Wert-Paar beim Anwenden der Änderung vollständig aus der Instanz entfernt.
- Wenn ein Wert für einen Schlüssel in der Instanzvorlage definiert ist, wird der Wert aus der Instanzvorlage für die Instanz festgelegt, wenn die Änderung angewendet wird.
MINIMAL_ACTION
: Beim Anwenden der aktualisierten instanzspezifischen Konfiguration auf die Instanz wird zumindest die angegebene Aktion ausgeführt. EineMINIMAL_ACTION
kann nur festgelegt werden, wenn das Flag--update-instance
verwendet wird. Der Wert muss einer der folgenden sein:none
: Keine Aktion.refresh
: Aktualisierungen, die ohne das Beenden der VM angewendet werden können, werden angewendet.restart
: Die Instanz wird gestoppt und noch einmal gestartet.replace
: Die Instanz wird neu erstellt.
Wenn nichts angegeben ist, wird die Aktion ausgeführt, die für die Aktualisierung erforderlich ist und am wenigsten Störungen verursacht.
- Legt die
mode:standby
-Metadaten in der instanzspezifischen Konfiguration fest, die der VMnode-12
in der MIGexample-cluster
zugeordnet ist. - Entfernt die
logging:elaborate
-Metadaten aus der instanzspezifischen Konfiguration für die Instanznode-12
. - Wendet die Änderung der instanzspezifischen Konfiguration auf die VM
node-12
an:- Legt die
mode:standby
-Metadaten entsprechend der Konfiguration fest. - Legt die
logging:basic
-Metadaten aus der Instanzvorlage fest, da der Wert für den Schlüssellogging
nicht mehr durch die instanzspezifische Konfiguration definiert wird.
- Legt die
- Die Änderung wird standardmäßig sofort auf die VM angewendet, da das Flag
--no-update-instance
weggelassen wurde. - Die VM wird während der Aktualisierung weiter ausgeführt, da das Flag
--instance-update-minimal-action
weggelassen wurde und standardmäßig die Aktion für die Aktualisierung ausgewählt wird, die am wenigsten Störungen verursacht, in diesem Fallrefresh
. PROJECT_ID
: 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
durchregions/REGION
und geben Sie die Region der MIG an.
- Ersetzen Sie bei einer regionalen MIG
NAME
: Name der MIG.INSTANCE_NAME
: Name der VM, für die zustandsorientierte Metadaten konfiguriert werden sollenKEY
undVALUE
: Zustandsorientierte Metadaten-Schlüssel/Wert-Paare, die zusätzlich zu den in der Instanzvorlage definierten Metadaten separat für die einzelnen Instanzen festgelegt werden.- Zustandsorientierte Metadatenwerte, die für die Schlüssel definiert sind, die bereits in der Instanzvorlage vorhanden sind, überschreiben die Werte aus der Instanzvorlage.
- Die anderen Metadateneinträge aus der Instanzvorlage sind davon nicht betroffen und weiterhin verfügbar.
- Wenn Sie
null
als Wert angeben, wird der Schlüssel aus der instanzspezifischen Konfiguration entfernt.
FINGERPRINT
: (Optional) Der Fingerabdruck für die angegebene Konfiguration, falls dieser bereits vorhanden ist. Wird für optimistisches Sperren verwendet.- Legt die
mode:standby
-Metadaten in der instanzspezifischen Konfiguration fest, die der VMnode-12
in derexample-cluster
-MIG zugeordnet ist. - Entfernt die
logging:elaborate
-Metadaten aus der instanzspezifischen Konfiguration, da der angegebene Wertnull
ist. - Legt die
mode:standby
-Metadaten entsprechend der instanzspezifischen Konfiguration fest. - Legt die
logging:basic
-Metadaten aus der Instanzvorlage fest, da der Wert für den Schlüssellogging
nicht mehr durch die instanzspezifische Konfiguration definiert wird. - Die VM wird während der Aktualisierung weiterhin ausgeführt, da
minimalAction
aufNONE
gesetzt ist. Dadurch kann die MIG die für die Aktualisierung erforderliche Aktion ausführen, die am wenigsten Störungen verursacht. Zum Aktualisieren der Instanzmetadaten ist die AktionREFRESH
erforderlich, die keine Störungen bei einer ausgeführten Instanz verursacht. - Benutzerdefinierte Metadaten abfragen
- Zustandsorientierte nichtflüchtige Speicher in MIGs konfigurieren
- Zustandsorientierte Konfigurationen anwenden, aufrufen und entfernen
- Weitere Informationen zu MIGs und zur Arbeit mit verwalteten Instanzen
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.
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 zustandsorientierten Metadaten gelten folgende Einschränkungen:
Für eine MIG mit einer zustandsorientierten Konfiguration – einer zustandsorientierten MIG – gelten folgende Einschränkungen:
Zustandsorientierte Metadaten bei der Instanzerstellung festlegen
Legen Sie die zustandsorientierten Metadaten fest, wenn Sie in einer MIG manuell Instanzen erstellen. Dies ist nützlich, um eine zustandsorientierte Anwendung von eigenständigen VMs zu einer zustandsorientierten MIG zu migrieren, und wenn Sie zustandsorientierte Instanzen erstellen.
Wenn Sie in einer MIG manuell eine Instanz erstellen und zustandsorientierte Metadaten bereitstellen, führt die MIG die folgenden Aufgaben aus:
gcloud
Verwenden Sie den Befehl
gcloud compute instance-groups managed create-instance
mit dem Flag--stateful-metadata
, um eine verwaltete Instanz mit einem benutzerdefinierten Namen zu erstellen und zustandsorientierte Metadaten für diese VM festzulegen.gcloud compute instance-groups managed create-instance NAME \ --instance INSTANCE_NAME \ --stateful-metadata KEY=VALUE[,KEY=VALUE,...]
Ersetzen Sie Folgendes:
Beispiel
Sie müssen einen Cluster aus Knoten (
example-cluster
) bereitstellen, der in den Modiactive
undstandby
ausgeführt werden kann. Sie legen den Modus mit Metadaten für jede VM in einem Cluster individuell fest. Beispiel:mode:active
. Außerdem konfigurieren Sie mit einemlogging
-Metadatenschlüssel, der aufbasic
oderelaborate
gesetzt werden kann, wie aufwendig das Logging für die einzelnen Knoten betrieben werden soll. Die Anwendung auf dem Knoten wird mit Werten aus den Instanzmetadaten konfiguriert.Mit diesem Befehl erstellen Sie den aktiven Knoten
node-12
mit aufwendigem Logging:gcloud compute instance-groups managed create-instance example-cluster \ --instance node-12 \ --stateful-metadata mode=active,logging=elaborate
Der Befehl erstellt in der MIG
example-cluster
die VMnode-12
und legt die Metadaten-Schlüssel/Wert-Paaremode:active
undlogging:elaborate
für die neue Instanz fest.Terraform
Verwenden Sie die Ressource
google_compute_per_instance_config
, um eine verwaltete Instanz mit einem benutzerdefinierten Namen zu erstellen und zustandsorientierte Metadaten für diese VM festzulegen.Im folgenden Beispiel wird eine zonale MIG verwendet. Wenn Sie noch keine zonale MIG haben, erstellen Sie eine zonale MIG mit VMs, die auf eine einzelne Zone beschränkt sind.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
REST
Mit der Methode
instanceGroupManagers.createInstances
erstellen Sie in einer MIG eine oder mehrere verwaltete Instanzen mit benutzerdefinierten VM-Namen und legen für jede der VMs die zustandsorientierten Metadaten einzeln fest. Verwenden Sie für eine regionale MIG die MethoderegionInstanceGroupManagers.createInstances
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/createInstances { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY" : "VALUE", ... } } }, ... ] }
Ersetzen Sie Folgendes:
Beispiel
Sie müssen einen Cluster aus Knoten (
example-cluster
) bereitstellen, der in den Modiactive
undstandby
ausgeführt werden kann. Sie legen den Modus mit Metadaten für jede VM in einem Cluster individuell fest. Beispiel:mode:active
. Außerdem konfigurieren Sie mit einemlogging
-Metadatenschlüssel, der aufbasic
oderelaborate
gesetzt werden kann, wie aufwendig das Logging für die einzelnen Knoten betrieben werden soll. Die Anwendung auf dem Knoten wird mit Werten aus den Instanzmetadaten konfiguriert.Mit dieser Methode erstellen Sie den aktiven Knoten
node-12
mit aufwendigem Logging:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/createInstances { "instance": [ { "name": "node-12", "preservedState" : { "metadata": { "mode":"active", "logging":"elaborate" } } } ] }
Die Methode erstellt in der MIG
example-cluster
die VMnode-12
und legt die Metadaten-Schlüssel/Wert-Paaremode:active
undlogging:elaborate
für die neue Instanz fest.Zustandsorientierte Metadaten für vorhandene VM-Instanzen einzeln festlegen, ändern und entfernen
Sie können die zustandsorientierten Metadaten für eine vorhandene Instanz in einer MIG festlegen, ändern oder entfernen. Legen Sie dazu die Metadaten in einer zugehörigen instanzspezifischen Konfiguration fest und wenden Sie die Konfiguration anschließend durch Aktualisieren der Instanz an.
gcloud
Wenn Sie die zustandsorientierten Metadaten für nur eine VM-Instanz in einer MIG konfigurieren möchten, müssen Sie die zustandsorientierten Metadaten in der zugehörigen instanzspezifischen Konfiguration festlegen oder entfernen. Wenn Sie die Konfiguration in demselben Schritt auf die Instanz anwenden möchten (
--update-instance
), können Sie auswählen, ob die Instanz weiterhin ausgeführt, neu gestartet oder neu erstellt werden soll. Wenn Sie die Konfiguration nicht anwenden (--no-update-instance
), werden Ihre Änderungen erst wirksam, wenn Sie die Instanz neu erstellen oder aktualisieren.Wenn für eine bestimmte Instanz keine instanzspezifische Konfiguration vorhanden ist, verwenden Sie den Befehl
gcloud compute instance-groups managed instance-configs create
mit einem der folgenden Flags:gcloud compute instance-groups managed instance-configs create NAME \ --instance INSTANCE_NAME \ --stateful-metadata KEY=VALUE[,KEY=VALUE,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Wenn für eine bestimmte Instanz bereits eine instanzspezifische Konfiguration vorhanden ist, verwenden Sie den
gcloud compute instance-groups managed instance-configs update
-Befehl zusammen mit:gcloud compute instance-groups managed instance-configs update NAME \ --instance INSTANCE_NAME \ [--stateful-metadata KEY=VALUE[,KEY=VALUE,...]] \ [--remove-stateful-metadata KEY[,KEY,...]] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Ersetzen Sie Folgendes:
Beispiel
Sie haben einen Cluster aus Knoten,
example-cluster
, der in den beiden Modiactive
undstandby
ausgeführt werden kann. Sie legen den Modus mit Metadaten für jede VM im Cluster individuell fest. Beispiel:mode:active
. Außerdem konfigurieren Sie mit einemlogging
-Metadatenschlüssel, der aufbasic
oderelaborate
gesetzt werden kann, wie aufwendig das Logging für die einzelnen Knoten betrieben werden soll. Die Anwendung auf den einzelnen Knoten verwendet die Werte aus den jeweiligen Instanzmetadaten.Die Instanzvorlage definiert, dass die Metadaten
mode:active
undlogging:basic
standardmäßig für alle Instanzen verwendet werden. Sie haben für die VMnode-12
im Clusterlogging:elaborate
in der instanzspezifischen Konfiguration festgelegt. Nun möchten Sienode-12
in den Standby-Modus versetzen und das Logging für diese VM aufbasic
setzen.Mit diesem Befehl versetzen Sie die
node-12
-Instanz in den Standby-Modus und deren Logging in den Modus "Basic":gcloud compute instance-groups managed instance-configs update example-cluster \ --instance node-12 \ --stateful-metadata mode=standby \ --remove-stateful-metadata logging
Der Befehl führt folgende Schritte durch:
REST
Damit Sie zustandsorientierte Metadaten einzeln für vorhandene VM-Instanzen in einer MIG konfigurieren können, müssen Sie die Metadaten in den zugehörigen instanzspezifischen Konfigurationen festlegen oder entfernen. Aktualisieren Sie dann die Instanz, um die Konfiguration anzuwenden.
Wenn noch keine instanzspezifischen Konfigurationen für die angegebenen Instanzen vorhanden sind, verwenden Sie die Methode
instanceGroupManagers.updatePerInstanceConfigs
mit zustandsorientierten Metadaten:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY": "VALUE", ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Wenn bereits instanzspezifische Konfigurationen für die angegebenen Instanzen vorhanden sind, verwenden Sie die Methode
instanceGroupManagers.patchPerInstanceConfigs
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY": "VALUE", ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Ersetzen Sie Folgendes:
Die Methoden
updatePerInstanceConfigs
undpatchPerInstanceConfigs
aktualisieren die angegebenen instanzspezifischen Konfigurationen, wenden die Konfigurationsaktualisierungen jedoch nicht auf die zugehörigen VM-Instanzen an. Die Änderungen werden dann auf eine VM angewendet, wenn Sie die Instanz aktualisieren oder neu erstellen. Sie können die Aktualisierung manuell anwenden oder den Updater im proaktiven oder opportunistischen Modus verwenden, um die Änderungen auf eine VM anzuwenden.Beispiel
Sie haben einen Cluster aus Knoten,
example-cluster
, der in den beiden Modiactive
undstandby
ausgeführt werden kann. Sie legen den Modus mit Metadaten für jede VM im Cluster individuell fest. Beispiel:mode:active
. Außerdem konfigurieren Sie mit einemlogging
-Metadatenschlüssel, der aufbasic
oderelaborate
gesetzt werden kann, wie aufwendig das Logging für die einzelnen Knoten betrieben werden soll. Die Anwendung auf den einzelnen Knoten verwendet die Werte aus den jeweiligen Instanzmetadaten.Die Instanzvorlage definiert, dass die Metadaten
mode:active
undlogging:basic
standardmäßig für alle Instanzen verwendet werden. Sie haben für die VMnode-12
im Clusterlogging:elaborate
in der instanzspezifischen Konfiguration festgelegt. Nun möchten Sienode-12
in den Standby-Modus versetzen und das Logging für diese Instanz aufbasic
setzen.Patchen Sie die zugehörige instanzspezifische Konfiguration mit der Methode
patchPerInstanceConfigs
, um dienode-12
-VM in den Standby-Modus und deren Logging in den Modus "Basic" zu versetzen:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-12", "preservedState" : { "metadata": { "mode": "standby", "logging": null } } } ] }
Die Methode führt diese Schritte aus:
Die Konfigurationsaktualisierung wurde noch nicht auf die VM-Instanz
node-12
angewendet. Das Konfigurationsupdate wird angewendet, wenn Sie die Instanz das nächste Mal neu erstellen bzw. aktualisieren oder wenn Sie die proaktive automatische Aktualisierung verwenden.Rufen Sie die Methode
instanceGroupManagers.applyUpdatesToInstances
für die Instanz auf, um die aktualisierte instanzspezifische Konfiguration auf die VM-Instanznode-12
anzuwenden:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-12"], "minimalAction": "NONE" }
Die Methode wendet die aktualisierte instanzspezifische Konfiguration auf die VM
node-12
an: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
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-10-14 (UTC).
-