Chaque machine virtuelle (VM) stocke ses métadonnées sur un serveur de métadonnées. Vous pouvez ajouter, supprimer et afficher des métadonnées sur vos VM Google Distributed Cloud (GDC) isolées en tant que paires clé/valeur (KVP).
Vous pouvez utiliser les paires clé/valeur de métadonnées pour stocker des informations qui peuvent vous aider à identifier votre VM, comme un nom de serveur. Vous pouvez accéder aux métadonnées depuis l'extérieur et l'intérieur de la VM, et les utiliser pour transmettre des informations entre différents systèmes.
Avant de commencer
Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud
, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud
.
Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud
ou kubectl
et nécessitent un environnement de système d'exploitation (OS).
Obtenir le chemin d'accès au fichier kubeconfig
Pour exécuter des commandes sur le serveur de l'API Management, assurez-vous de disposer des ressources suivantes :
Connectez-vous et générez le fichier kubeconfig pour le serveur d'API Management si vous n'en avez pas.
Utilisez le chemin d'accès au fichier kubeconfig du serveur de l'API Management pour remplacer
MANAGEMENT_API_SERVER
dans ces instructions.
Demander des autorisations et un accès
Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour valider ou demandez à votre administrateur IAM de projet de vous attribuer le rôle Administrateur VirtualMachine du projet (project-vm-admin
) dans l'espace de noms du projet dans lequel réside la VM.
Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à votre administrateur IAM de projet de vous attribuer le rôle Administrateur de machines virtuelles du projet et le rôle Lecteur du projet (project-viewer
).
Ajouter ou supprimer des métadonnées
Cette section explique comment ajouter et supprimer des métadonnées d'instances de VM existantes.
Vous pouvez utiliser des métadonnées pour stocker des paires clé/valeur arbitraires que vous souhaitez ajouter à vos VM. Par exemple, vous pouvez ajouter et gérer vos propres métadonnées personnalisées pour identifier différents environnements, tels que test
et production
.
Ajouter des métadonnées
gdcloud
Ajoutez des métadonnées à une instance de VM spécifique. Vous devez inclure l'une des options
--metadata
ou--metadata-from-file
dans votre commande. Si nécessaire pour votre cas d'utilisation, vous pouvez également ajouter les deux indicateurs dans la même commande :gdcloud compute instances add-metadata VM_NAME [--project=PROJECT] [--metadata=KEY=KEY_VALUE,[,KEY=KEY_VALUE,...]] [--metadata-from-file=KEY=LOCAL_FILE_PATH,]
Remplacez les éléments suivants :
VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM. Cette valeur est facultative.KEY
: clé de la paire de métadonnées.KEY_VALUE
: valeur de la paire de métadonnées.LOCAL_FILE_PATH
: valeur de la paire de métadonnées à partir d'un fichier local.
API
Pour ajouter des métadonnées avec l'API, vous devez utiliser un jeton STS
.
Utilisez la CLI gdcloud pour générer un jeton
STS
:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Remplacez
ORG_SUFFIX
par le suffixe de l'organisation. Par exemple, si l'URL de la console d'administration de l'organisation esthttps://console.example-org.com
, leORG_SUFFIX
estexample-org.com
.Le résultat ressemble à ce qui suit :
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Ajoutez des métadonnées à une instance de VM spécifique :
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"}]}}"
Remplacez les éléments suivants :
ORG_SUFFIX
: suffixe de l'organisation. Par exemple, si l'URL de la console de l'organisation esthttps://console.example-org.com
, leORG_SUFFIX
estexample-org.com
.VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM. Cette valeur est facultative.STS_TOKEN
: jetonSTS
généré à partir de la CLI gdcloud.
Supprimer les métadonnées
gdcloud
Supprimez les métadonnées d'une instance de VM spécifique. Si vous souhaitez supprimer toutes les entrées de métadonnées, utilisez l'indicateur
--all
. Vous devez utiliser l'une des options--all
ou--keys
dans votre commande :gdcloud compute instances remove-metadata VM_NAME [--project=PROJECT] [--keys=KEY,[KEY,...]] [--all]
Remplacez les éléments suivants :
VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM. Cette valeur est facultative.KEY
: chaîne clé de la paire de métadonnées.
API
Pour supprimer des métadonnées avec l'API, vous devez utiliser un jeton STS
.
Utilisez la CLI gdcloud pour générer un jeton
STS
:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Remplacez
ORG_SUFFIX
par le suffixe de l'organisation. Par exemple, si l'URL de la console d'organisation esthttps://console.example-org.com
, leORG_SUFFIX
estexample-org.com
.Le résultat ressemble à ce qui suit :
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Supprimez les métadonnées d'une instance de VM spécifique :
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"}]}}"
Remplacez les éléments suivants :
ORG_SUFFIX
: suffixe de l'organisation. Par exemple, si l'URL de la console de l'organisation esthttps://console.example-org.com
, leORG_SUFFIX
estexample-org.com
.VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM.STS_TOKEN
: jetonSTS
généré à partir de la CLI gdcloud.
Interroger les métadonnées
gdcloud
Listez toutes les métadonnées d'instance de VM pour afficher les détails des métadonnées :
gdcloud compute instances describe VM_NAME [--project=PROJECT]
Remplacez les éléments suivants :
VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM. Cette valeur est facultative.
Le résultat ressemble à ce qui suit :
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
API
Utilisez la CLI gdcloud pour générer un jeton
STS
:gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
Remplacez
ORG_SUFFIX
par le suffixe de l'organisation.Le résultat ressemble à ce qui suit :
STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
Listez toutes les métadonnées d'instance de VM pour afficher les détails des métadonnées :
curl "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \ -H "Authorization: Bearer STS_TOKEN" \ -H "Content-Type: application/json"
Remplacez les éléments suivants :
ORG_SUFFIX
: suffixe de l'organisation. Par exemple, si l'URL de la console de l'organisation esthttps://console.example-org.com
, leORG_SUFFIX
estexample-org.com
.VM_NAME
: nom de l'instance de VMPROJECT
: nom du projet dans lequel réside la VM. Cette valeur est facultative.STS_TOKEN
: jetonSTS
généré à partir de la CLI gdcloud.
Le résultat ressemble à ce qui suit :
... metadata: items: - key: Key-1 value: val12 - key: key2 value: lksdjfhk-user1
Interroger les métadonnées à partir d'une VM
Vous pouvez interroger les métadonnées de VM à partir de la VM, sans avoir à vous connecter au serveur de métadonnées. Pour ce faire, utilisez la commande curl
et ajoutez la clé de métadonnées applicable à l'URL des métadonnées.
Interroger un seul KVP
Interroger une seule paire clé/valeur depuis une VM :
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/KEY" -H "Metadata-Flavor: Google"
Remplacez KEY
par la clé de la paire de métadonnées que vous souhaitez interroger.
Interroger toutes les paires clé-valeur avec des valeurs
Interrogez toutes les paires clé/valeur à partir d'une VM avec des valeurs clés :
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true" -H "Metadata-Flavor: Google"
Interroger toutes les clés de métadonnées sans valeur
Interrogez toutes les clés de métadonnées à partir d'une VM sans clé-valeur :
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=false" -H "Metadata-Flavor: Google"