Transizione da gcutil a gcloud compute


Con gcloud compute di disponibilità generale, Compute Engine consiglia che tutti gli utenti eseguano la transizione allo strumento gcloud compute da gcutil. gcloud compute è uno strumento a riga di comando unificato che include una serie miglioramenti rispetto a gcutil, tra cui:

  • Completamento Tab
  • Upgrade in loco
  • Ampia assistenza per lo stile della pagina man
  • Scelta di diversi formati di output

Per aiutare gli utenti a effettuare la transizione da gcutil a gcloud compute, questa guida descrive i cambiamenti più importanti tra i due strumenti. Per una descrizione dettagliata dello strumento gcloud compute, consulta la documentazione di gcloud compute.

Nuovi comandi gcloud

Tutti i comandi gcutil esistenti hanno comandi equivalenti in gcloud compute, con alcune eccezioni. Puoi ottenere un elenco completo dei comandi gcloud visitando le pagine di riferimento o eseguendo gcloud compute --help. La tabella riportata di seguito illustra brevemente le modifiche apportate ai comandi gcutil più utilizzati.

Comando gcutil Comando gcloud compute
gcutil addinstance INSTANCE
gcloud compute instances create INSTANCE
Note

Crea un'istanza.

  • È possibile impostare una zona/regione predefinita, altrimenti "gcloud compute" richiede una zona/regione.
  • Crea macchine virtuali con proprietà predefinite, ad esempio:
    • machine-type: n1-standard-1
    • immagine: debian-10

Consulta Creazione e avvio di un'istanza.

Comando gcutil Comando gcloud compute
gcutil deleteinstance INSTANCE
gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
Note

Consente di eliminare le istanze. Consulta Eliminare un'istanza.

Comando gcutil Comando gcloud compute
gcutil ... --cache_flag_values
gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
Note

Imposta i valori predefiniti per progetto, zona e regione. Consulta Impostare una zona e una regione predefinite.

Comando gcutil Comando gcloud compute
gcutil push/pull
gcloud compute scp
Note

Copia i file tra un computer locale e una macchina virtuale. Consulta Trasferire file utilizzando Google Cloud CLI.

Comando gcutil Comando gcloud compute
gcutil deleteRESOURCE
gcloud compute RESOURCES delete
Note

Elimina le risorse, ad esempio:

gcloud compute instances delete example-instance
Comando gcutil Comando gcloud compute
gcutil getRESOURCES
gcloud compute RESOURCES describe
Note

Descrive una singola risorsa, ad esempio:

gcloud compute instances describe example-instance

Comando gcutil Comando gcloud compute
gcutil listRESOURCES
gcloud compute RESOURCES list
Note

Elenca tutte le risorse di quel tipo. Ad esempio, per elencare le istanze:

gcloud compute instances list

Comando gcutil Comando gcloud compute
gcutil setmetadata
gcloud compute instances add-metadata
gcloud compute instances remove-metadata
gcloud compute project-info add-metadata
gcloud compute project-info remove-metadata
Note

Ora lo strumento esegue il blocco ottimistico, pertanto non è necessario specificare un'impronta manualmente. Consulta Impostare i metadati delle istanze personalizzate.

Comando gcutil Comando gcloud compute
gcutil … --dump_request_response

Non ancora disponibile.

Comando gcutil Comando gcloud compute
gcutil … --log_level=DEBUG
gcloud … --verbosity debug
Note

Inoltre, i log vengono archiviati in file per ogni comando in ~/.config/gcloud/logs.

Comando gcutil Comando gcloud compute
gcutil ssh INSTANCE --ssh_user
gcloud compute ssh USER@INSTANCE
Note

Consulta Connessione a un'istanza.

Comando gcutil Comando gcloud compute
gcutil … \
--image=projects/project-id/global/images/image
gcloud compute … --image image-name \
       --image-project image-project
Note

Consulta Avvio di un'istanza da un'immagine.

Comando gcutil Comando gcloud compute
gcutil deleteinstances --[no]delete_pd
gcutil deleteinstances --[no]delete_boot_pd
gcloud compute instances delete … \
       --delete-disks {all,none,boot}
gcloud compute instances delete … \
       --keep-disks {all,none,boot}
Note

Se un disco è contrassegnato per l'eliminazione automatica, verrà eliminato automaticamente, a meno che non sia specificato utilizzando il flag --keep-disks.

Impostazioni predefinite dell'istanza

La creazione di un'istanza in gcloud compute ora prevede diversi valori predefiniti per l'immagine e il tipo di macchina della tua macchina virtuale. Puoi scegliere di utilizzare questi valori predefiniti omettendo i flag --image e --machine-type oppure puoi eseguire l'override delle impostazioni specificando i flag appropriati. Il valore predefinito le impostazioni della macchina virtuale sono:

  • Immagine predefinita: immagine debian-10 più recente
  • Tipo di macchina predefinito: n1-standard-1

Ad esempio, puoi semplicemente eseguire:

gcloud compute instances create example-instance --zone us-central1-a

L'gcloud compute creerà l'istanza utilizzando l'immagine e la macchina tipo descritto sopra.

Formattazione dell'output

La formattazione predefinita dell'output è cambiata e varia a seconda del il comando che esegui. Ad esempio, se esegui il comando describe per ottenere su una singola risorsa, l'output della risposta è in formato YAML. Puoi restituire la risposta in diversi formati di output, come JSON o testo, utilizzando il flag --format:

gcloud compute instances list --format {json,yaml,text}

L'aggiornamento dei metadati è ora cumulativo

Quando imposti o aggiorni i metadati, non è più necessario fornire un'impronta. Per impostazione predefinita, tutte le modifiche ai metadati sono considerate cumulative. Puoi aggiungere singole voci di metadati o di aggiornamento senza eseguire un aggiornamento batch tutti i metadati. Verranno modificate solo le chiavi dei metadati passate.

gcloud compute instances add-metadata example-instance \
         --metadata cookies=chocolate

Specifica dei progetti immagine

In precedenza, per specificare un'immagine esatta, dovevi fornire un'immagine parziale URI, che includeva il nome del progetto, ad esempio:

gcutil addinstance example-instance \
         --image=projects/debian-cloud/global/images/debian-9

In gcloud compute, ora devi specificare il progetto di immagini utilizzando un nuovo --image-project flag:

gcloud compute instances create example-instance \
         --image debian-9-stretch-vYYYMMDD
         --image-project debian-cloud

Puoi anche fornire l'URI completo:

gcloud compute instances create example-instance \
         --image https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-9-stretch-vYYYMMDD