Visualizzare e gestire i metadati della VM

Ogni macchina virtuale (VM) archivia i propri metadati su un server metadati. Puoi aggiungere, rimuovere e visualizzare i metadati sulle tue VM air-gap di Google Distributed Cloud (GDC) come coppie chiave-valore (KVP).

Puoi utilizzare le coppie chiave-valore dei metadati per archiviare informazioni che possono aiutarti a identificare la VM, ad esempio il nome di un server. Puoi accedere ai metadati dall'esterno e dall'interno della VM e utilizzarli per trasferire informazioni tra sistemi diversi.

Prima di iniziare

Per utilizzare i comandi dell'interfaccia a riga di comando (CLI) gdcloud, assicurati di aver scaricato, installato e configurato la CLI gdcloud. Tutti i comandi per Distributed Cloud utilizzano la CLI gdcloud o kubectl e richiedono un ambiente del sistema operativo.

Recupera il percorso del file kubeconfig

Per eseguire comandi sul server API Management, assicurati di disporre delle seguenti risorse:

  1. Accedi e genera il file kubeconfig per il server API Management se non ne hai uno.

  2. Utilizza il percorso del file kubeconfig del server API Management per sostituire MANAGEMENT_API_SERVER in queste istruzioni.

Richiedere autorizzazioni e accesso

Per eseguire le attività elencate in questa pagina, devi disporre del ruolo Amministratore macchina virtuale progetto. Segui i passaggi per verificare o chiedere all'amministratore IAM progetto di assegnarti il ruolo Amministratore VirtualMachine progetto (project-vm-admin) nello spazio dei nomi del progetto in cui si trova la VM.

Per le operazioni sulle VM che utilizzano la console GDC o gcloud CLI, chiedi all'amministratore IAM del progetto di assegnarti sia il ruolo Project VirtualMachine Admin sia il ruolo Project Viewer (project-viewer).

Aggiungere o rimuovere metadati

Questa sezione descrive come aggiungere e rimuovere i metadati dalle istanze VM esistenti. Puoi utilizzare i metadati per archiviare coppie chiave-valore arbitrarie che vuoi aggiungere alle tue VM. Ad esempio, potresti voler aggiungere e gestire i tuoi metadati personalizzati per identificare diversi ambienti, come test e production.

Aggiungi metadati

gdcloud

  • Aggiungi metadati a un'istanza VM specifica. Devi includere uno dei flag --metadata o --metadata-from-file nel comando. Se necessario per il tuo caso d'uso, puoi aggiungere entrambi i flag nello stesso comando:

    gdcloud compute instances add-metadata VM_NAME
        [--project=PROJECT]
        [--metadata=KEY=KEY_VALUE,[,KEY=KEY_VALUE,...]]
        [--metadata-from-file=KEY=LOCAL_FILE_PATH,]
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM. Questo valore è facoltativo.
    • KEY: la chiave della coppia di metadati.
    • KEY_VALUE: il valore della coppia di metadati.
    • LOCAL_FILE_PATH: il valore della coppia di metadati di un file locale.

API

Per aggiungere metadati con l'API, devi utilizzare un token STS.

  1. Utilizza gcloud CLI per generare un token STS:

    gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
    

    Sostituisci ORG_SUFFIX con il suffisso dell'organizzazione. Ad esempio, se l'URL della console dell'organizzazione è https://console.example-org.com, ORG_SUFFIX è example-org.com

    L'output è simile al seguente:

    STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
    
  2. Aggiungi metadati a un'istanza VM specifica:

    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"}]}}"
    

    Sostituisci quanto segue:

    • ORG_SUFFIX: il suffisso dell'organizzazione. Ad esempio, se l'URL della console dell'organizzazione è https://console.example-org.com, ORG_SUFFIX è example-org.com.
    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM. Questo valore è facoltativo.
    • STS_TOKEN: il token STS generato da gcloud CLI.

Rimuovi metadati

gdcloud

  • Rimuovi i metadati da una VM specifica. Se vuoi rimuovere tutte le voci di metadati, utilizza il flag --all. Devi utilizzare uno dei flag --all o --keys nel comando:

    gdcloud compute instances remove-metadata VM_NAME
        [--project=PROJECT]
        [--keys=KEY,[KEY,...]]
        [--all]
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM. Questo valore è facoltativo.
    • KEY: la stringa chiave per la coppia di metadati.

API

Per rimuovere i metadati con l'API, devi utilizzare un token STS.

  1. Utilizza gcloud CLI per generare un token STS:

    gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
    

    Sostituisci ORG_SUFFIX con il suffisso dell'organizzazione. Ad esempio, se l'URL della console dell'organizzazione è https://console.example-org.com, ORG_SUFFIX è example-org.com.

    L'output è simile al seguente:

    STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
    
  2. Rimuovi i metadati da un'istanza VM specifica:

    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"}]}}"
    

    Sostituisci quanto segue:

    • ORG_SUFFIX: il suffisso dell'organizzazione. Ad esempio, se l'URL della console dell'organizzazione è https://console.example-org.com, ORG_SUFFIX è example-org.com.
    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM.
    • STS_TOKEN: il token STS generato da gcloud CLI.

Query sui metadati

gdcloud

  • Elenca tutti i metadati dell'istanza VM per visualizzare i dettagli dei metadati:

    gdcloud compute instances describe VM_NAME
        [--project=PROJECT]
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM. Questo valore è facoltativo.

    L'output è simile al seguente:

    ...
    metadata:
      items:
      - key: Key-1
        value: val12
      - key: key2
        value:
          lksdjfhk-user1
    

API

  1. Utilizza gcloud CLI per generare un token STS:

    gdcloud auth print-identity-token --audiences="https://metadata.ORG_SUFFIX"
    

    Sostituisci ORG_SUFFIX con il suffisso dell'organizzazione.

    L'output è simile al seguente:

    STS-Bearer-QPN1nX6GVdoRKCpRx7FD-61gh6RAvWfM6sqjU2knw9n6RFn1jR2n4i1z1irH2HrMLf0tC3hqNaetYzoOBQ6hI2eS7-58_ZZGCMc_oARuX_T9Wmtwe4xlaIS97aDdu9KETEs0akoVYEsmFsWCu2Cu5pdiwjzSuWnRCMZwq9g8BmnPSck1Auf7rOfM7o2FoGE_lbLFZK4C8TCPdloDZAXYcLeNAQ
    
  2. Elenca tutti i metadati dell'istanza VM per visualizzare i dettagli dei metadati:

    curl "https://metadata.ORG_SUFFIX/virtual-machines/metadata/v1/projects/PROJECT/vm/VM_NAME" \
    -H "Authorization: Bearer STS_TOKEN" \
    -H "Content-Type: application/json"
    

    Sostituisci quanto segue:

    • ORG_SUFFIX: il suffisso dell'organizzazione. Ad esempio, se l'URL della console dell'organizzazione è https://console.example-org.com, ORG_SUFFIX è example-org.com
    • VM_NAME: il nome dell'istanza VM.
    • PROJECT: il nome del progetto in cui si trova la VM. Questo valore è facoltativo.
    • STS_TOKEN: il token STS generato da gcloud CLI.

    L'output è simile al seguente:

    ...
    metadata:
      items:
      - key: Key-1
        value: val12
      - key: key2
        value:
          lksdjfhk-user1
    

Esegui query sui metadati dall'interno di una VM

Puoi eseguire query sui metadati della VM dall'interno della VM, senza dover connetterti al server di metadati. Per farlo, utilizza il comando curl e aggiungi la chiave dei metadati applicabile all'URL dei metadati.

Eseguire query su una singola coppia chiave-valore

Esegui una query su una singola coppia chiave-valore dall'interno di una VM:

curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/KEY" -H "Metadata-Flavor: Google"

Sostituisci KEY con la chiave della coppia di metadati che vuoi interrogare.

Esegui query su tutte le coppie chiave-valore con valori

Esegui query su tutte le coppie chiave-valore dall'interno di una VM con coppie chiave-valore:

curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true" -H "Metadata-Flavor: Google"

Esegui una query su tutte le chiavi di metadati senza valori

Esegui una query su tutte le chiavi di metadati dall'interno di una VM senza coppie chiave-valore:

curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=false" -H "Metadata-Flavor: Google"