Die Metadaten jeder virtuellen Maschine (VM) werden auf einem Metadatenserver gespeichert. Sie können Metadaten in Ihren VMs für Air-Gap-Appliances von Google Distributed Cloud (GDC) als Schlüssel/Wert-Paare (KVPs) hinzufügen, entfernen und ansehen.
Sie können die KVP-Metadaten verwenden, um Informationen zu speichern, mit denen Sie Ihre VM identifizieren können, z. B. einen Servernamen. Sie können von außerhalb und innerhalb der VM auf Metadaten zugreifen und sie verwenden, um Informationen zwischen verschiedenen Systemen zu übergeben.
Hinweise
Wenn Sie die Befehlszeilenbefehle (Command-Line Interface, CLI) von gdcloud
verwenden möchten, müssen Sie die gdcloud
-CLI heruntergeladen, installiert und konfiguriert haben.
Für alle Befehle für die GDC-Air-Gap-Appliance wird die gdcloud
- oder kubectl
-Befehlszeile verwendet. Außerdem ist eine Betriebssystemumgebung erforderlich.
Pfad der kubeconfig-Datei abrufen
Damit Sie Befehle für den Management API-Server ausführen können, benötigen Sie die folgenden Ressourcen:
Suchen Sie den Namen des Management API-Servers oder fragen Sie Ihren Plattformadministrator danach.
Melden Sie sich an und generieren Sie die kubeconfig-Datei für den Management API-Server, falls Sie noch keine haben.
Verwenden Sie den Pfad, um
MANAGEMENT_API_SERVER{"</var>"}}
in dieser Anleitung zu ersetzen.
Berechtigungen und Zugriff anfordern
Zum Ausführen der auf dieser Seite aufgeführten Aufgaben benötigen Sie die Rolle „ProjectVirtualMachine Admin“. Folgen Sie der Anleitung, um entweder die Rolle „Project VirtualMachine Admin“ (project-vm-admin
) im Namespace des Projekts, in dem sich die VM befindet, zu bestätigen oder von Ihrem Projekt-IAM-Administrator zuweisen zu lassen.
Wenn Sie VM-Vorgänge über die GDC-Konsole oder die gdcloud-CLI ausführen möchten, bitten Sie Ihren Projekt-IAM-Administrator, Ihnen die Rolle „Project VirtualMachine Admin“ und die Rolle „Project Viewer“ (project-viewer
) zuzuweisen.
Metadaten hinzufügen oder entfernen
In diesem Abschnitt wird beschrieben, wie Sie vorhandenen VM-Instanzen Metadaten hinzufügen und daraus entfernen.
Sie können Metadaten verwenden, um beliebige Schlüssel/Wert-Paare zu speichern, die Sie Ihren VMs hinzufügen möchten. Sie können beispielsweise eigene benutzerdefinierte Metadaten hinzufügen und verwalten, um verschiedene Umgebungen wie test
und production
zu identifizieren.
Metadaten hinzufügen
gdcloud
Metadaten zu einer bestimmten VM-Instanz hinzufügen. Sie müssen entweder das Flag
--metadata
oder das Flag--metadata-from-file
in den Befehl einfügen. Sie können bei Bedarf auch beide Flags im selben Befehl hinzufügen:gdcloud compute instances add-metadata VM_NAME [--project=PROJECT] [--metadata=KEY=KEY_VALUE,[,KEY=KEY_VALUE,...]] [--metadata-from-file=KEY=LOCAL_FILE_PATH,]
Ersetzen Sie Folgendes:
VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet. Dieser Wert ist optional.KEY
: der Schlüssel für das Metadatenpaar.KEY_VALUE
: der Wert für das Metadatenpaar.LOCAL_FILE_PATH
: Der Wert des Metadatenpaars aus einer lokalen Datei.
API
Wenn Sie Metadaten mit der API hinzufügen möchten, müssen Sie ein STS
-Token verwenden.
Verwenden Sie die gcloud CLI, um ein
STS
-Token zu generieren:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Ersetzen Sie
ORG_SUFFIX
durch das Organisationssuffix. Wenn die URL der Organisationskonsole beispielsweisehttps://console.example-org.com
lautet, istORG_SUFFIX
gleichexample-org.com
.Die Ausgabe sieht etwa so aus:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Metadaten einer bestimmten VM-Instanz hinzufügen:
curl -X POST "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN \ -H "Content-Type: application/json" \ -d "{"metadata": {"items": [{"key": "test-key", "value": "test-value"}]}}"
Ersetzen Sie Folgendes:
ORG_SUFFIX
: das Organisationssuffix. Wenn die URL der Organisationskonsole beispielsweisehttps://console.example-org.com
lautet, istORG_SUFFIX
example-org.com
.VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet. Dieser Wert ist optional.STS_TOKEN
: DasSTS
-Token, das über die gcloud CLI generiert wurde.
Metadaten entfernen
gdcloud
Metadaten aus einer bestimmten VM-Instanz entfernen Wenn Sie alle Metadateneinträge entfernen möchten, verwenden Sie das Flag
--all
. Sie müssen entweder das Flag--all
oder--keys
in Ihrem Befehl verwenden:gdcloud compute instances remove-metadata VM_NAME [--project=PROJECT] [--keys=KEY,[KEY,...]] [--all]
Ersetzen Sie Folgendes:
VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet. Dieser Wert ist optional.KEY
: der Schlüsselstring für das Metadatenpaar.
API
Wenn Sie Metadaten mit der API entfernen möchten, müssen Sie ein STS
-Token verwenden.
Verwenden Sie die gcloud CLI, um ein
STS
-Token zu generieren:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Ersetzen Sie
ORG_SUFFIX
durch das Organisationssuffix. Wenn die URL der Organisationskonsole beispielsweisehttps://console.example-org.com
lautet, istORG_SUFFIX
example-org.com
.Die Ausgabe sieht etwa so aus:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Metadaten aus einer bestimmten VM-Instanz entfernen:
curl -X POST "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN" \ -H "Content-Type: application/json" \ -d "{"metadata": {"items": [{"key": "test-key", "value": "test-value"}]}}"
Ersetzen Sie Folgendes:
ORG_SUFFIX
: das Organisationssuffix. Wenn die URL der Organisationskonsole beispielsweisehttps://console.example-org.com
lautet, istORG_SUFFIX
example-org.com
.VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet.STS_TOKEN
: DasSTS
-Token, das über die gcloud CLI generiert wurde.
Metadaten abfragen
gdcloud
So listen Sie alle VM-Instanzmetadaten auf, um Metadatendetails aufzurufen:
gdcloud compute instances describe VM_NAME [--project=PROJECT]
Ersetzen Sie Folgendes:
VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet. Dieser Wert ist optional.
Die Ausgabe sieht etwa so aus:
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
API
Verwenden Sie die gcloud CLI, um ein
STS
-Token zu generieren:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Ersetzen Sie
ORG_SUFFIX
durch das Organisationssuffix.Die Ausgabe sieht etwa so aus:
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
So listen Sie alle VM-Instanzmetadaten auf, um Metadatendetails aufzurufen:
curl "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN" \ -H "Content-Type: application/json"
Ersetzen Sie Folgendes:
ORG_SUFFIX
: das Organisationssuffix. Wenn die URL der Organisationskonsole beispielsweisehttps://console.example-org.com
lautet, istORG_SUFFIX
example-org.com
.VM_NAME
ist der Name der VM-Instanz.PROJECT
: Der Name des Projekts, in dem sich die VM befindet. Dieser Wert ist optional.STS_TOKEN
: DasSTS
-Token, das über die gcloud CLI generiert wurde.
Die Ausgabe sieht etwa so aus:
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
Metadaten von einer VM aus abfragen
Sie können VM-Metadaten innerhalb der VM abfragen, ohne eine Verbindung zum Metadatenserver herstellen zu müssen. Verwenden Sie dazu den Befehl curl
und hängen Sie den entsprechenden Metadatenschlüssel an die Metadaten-URL an.
Einzelnes Schlüssel-Wert-Paar abfragen
So fragen Sie ein einzelnes KVP aus einer VM heraus ab:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/KEY" -H "Metadata-Flavor: Google"
Ersetzen Sie KEY
durch den Schlüssel für das Metadatenpaar, das Sie abfragen möchten.
Alle Schlüssel/Wert-Paare mit Werten abfragen
Alle Schlüssel/Wert-Paare aus einer VM mit Schlüsselwerten abfragen:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true" -H "Metadata-Flavor: Google"
Alle Metadatenschlüssel ohne Werte abfragen
Alle Metadatenschlüssel ohne Schlüssel/Wert-Paare aus einer VM abfragen:
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=false" -H "Metadata-Flavor: Google"