Questa pagina contiene suggerimenti che potrebbero essere utili quando utilizzi lo strumento a riga di comando gcloud
per gestire le risorse Compute Engine. Per un elenco completo di tutti i flag e i comandi gcloud compute
disponibili, puoi utilizzare la guida integrata dei comandi (--help
), la documentazione di riferimento pubblicata o la documentazione di gcloud core.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Imposta una regione e una zona predefinite.
-
Recupero di informazioni sulle risorse
Puoi recuperare informazioni sulle risorse Compute Engine in due modi: utilizzando il comando list
per restituire un elenco di risorse e il comando describe
per restituire i dettagli su una risorsa specifica.
Recupero delle risorse con i comandi list
in corso...
I comandi list
sono progettati per restituire una tabella leggibile dei dati più rilevanti per le risorse richieste. Facoltativamente, puoi filtrare i risultati per restituire un elenco più breve con risultati più pertinenti.
- Filtro delle espressioni regolari per i nomi
- Puoi utilizzare la sintassi RE2 per trovare corrispondenze con i nomi delle risorse, ad esempio nomi di istanze o dischi. Fai riferimento al comando
gcloud compute instances list
. - Flag dei comandi
--limit
Il numero massimo di risultati da restituire. Questo flag è particolarmente utile se utilizzato con il flag
--sort-by
come descritto nella sezione Recupero delle risorse con i comandi di descrizione.--sort-by SORT_BY
Un campo in base al quale ordinare, se applicabile. Per eseguire un ordinamento in ordine decrescente, anteponi al valore una tilde ("~"). Questo flag interagisce con gli altri flag applicati in questo ordine:
--flatten
,--sort-by
,--filter
,--limit
.
Recupero delle risorse con i comandi describe
in corso...
I comandi describe
sono progettati per visualizzare i dati relativi a una risorsa. Devi fornire il nome della risorsa nel comando describe
. Se non riesci a ricordare il nome della risorsa, puoi eseguire un comando list
per ottenere un elenco delle risorse. Ad esempio, i due comandi seguenti illustrano uno scenario in cui puoi elencare delle immagini per ottenere il nome di un'immagine e il relativo progetto associato, in modo da poterli fornire come input a un comando describe
:
gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS ... centos-7-v20170620 centos-cloud centos-7 READY ... debian-9-stretch-v20170619 debian-cloud debian-9 READY ...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud
L'output predefinito dai comandi describe
è in formato YAML, ma puoi utilizzare
il flag --format
per scegliere tra i formati JSON, YAML e output di testo.
L'output in formato JSON può essere utile se stai analizzando l'output, mentre quello in formato testo
mette ogni proprietà su una riga separata.
gcloud compute regions describe us-central1 --format json
{ "creationTimestamp": "2013-09-06T10:36:54.847-07:00", "description": "us-central1", "id": "6837843067389011605", "kind": "compute#region", "name": "us-central1", ... "status": "UP", "zones": [ "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f" ] }
Esempi
Esempi di comandi list
Quando elenchi le risorse, ottieni una tabella di facile lettura di dati di riepilogo. Ad esempio, per restituire dati di riepilogo sulle istanze nel tuo progetto, utilizza il comando instances list
:
gcloud compute instances list
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS example-instance asia-east1-b e2-standard-2 10.240.95.199 107.167.182.44 RUNNING example-instance2 us-central1-a e2-standard-2 10.240.173.254 23.251.148.121 RUNNING test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Puoi filtrare i risultati dei comandi list
con le espressioni regolari includendo il flag --filter
con un operatore key ~ value
. Ad esempio, filtra l'elenco di istanze per includere solo quelle che contengono "test" nel nome dell'istanza:
gcloud compute instances list --filter="name ~ .*test.*"
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Per restituire un elenco di operazioni di zona che hanno status
pari a DONE
e non httpStatus
pari a 200
, applica un filtro zone
a un comando operations list
, quindigrep
i risultati:
gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep -v 200
NAME HTTP_STATUS TYPE TARGET STATUS operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400 delete us-central1-a/disks/example-instance DONE operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409 insert us-central1-a/instances/i-1 DONE operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409 insert us-central1-a/instances/i-2 DONE
Per ottenere un elenco di dischi in us-central1-a
, in ordine decrescente per nome (--sort-by ~NAME
), utilizza un comando disks list
:
gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"
In alcuni scenari è consigliabile avere il link dell'URI completo alla risorsa, ad esempio le richieste in cui si passa l'output da un comando list
a un altro comando o applicazione che richiede un elenco di link alle risorse.
Per visualizzare i link completi delle risorse dell'URI, utilizza il flag --uri
con un comando list
.
gcloud compute instances list --uri --filter="name~'^example-.*'"
https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1 https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2
Per utilizzare l'output comando list
precedente all'interno di un comando che elimina le istanze, utilizza:
gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")
Esempi di comandi describe
Per ottenere i dettagli di una sola istanza, specifica l'istanza, inclusa la zona.
Ad esempio, per restituire informazioni sull'istanza denominata "example-instance" nella zona "asia-east1-b", puoi utilizzare il comando instances describe
:
gcloud compute instances describe example-instance --zone asia-east1-b
Per impostazione predefinita, viene restituito l'output YAML. Per cambiare l'output in JSON o testo (una proprietà per riga), utilizza il flag --format
. Ad esempio, per restituire un output di testo
per la stessa istanza, usa:
gcloud compute instances describe example-instance --zone asia-east1-b --format text
--- canIpForward: False creationTimestamp: 2014-04-19T06:43:04.087-07:00 disks[0].autoDelete: False disks[0].boot: True disks[0].deviceName: example-instance ...
Per ottenere i dettagli di un'operazione specifica, utilizza il comando operations list
per trovare l'URI completo dell'operazione:
gcloud compute operations list --filter="zone:(us-central1-a)"
NAME TYPE TARGET HTTP_STATUS STATUS operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance 200 DONE operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2 200 DONE ...
Quindi utilizza l'URI in un comando operations describe
:
gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00' id: '31755455923038965' insertTime: '2014-07-23T15:39:25.910-07:00' kind: compute#operation name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 operationType: delete progress: 100 ...
Il comando seguente recupera le impostazioni dell'istanza in formato JSON (--format json
).
gcloud compute instances describe example-instance \
--zone us-central1-a
--format json
{ ... "name": "example-instance", "networkInterfaces": [ { "accessConfigs": [ { "kind": "compute#accessConfig", "name": "external-nat", "natIP": "107.167.187.66", "type": "ONE_TO_ONE_NAT" } ], "name": "nic0", "network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default", "networkIP": "10.240.111.51" } ], ... "status": "RUNNING" ... }
È in corso la verifica dell'autorizzazione dell'utente come
Utilizza il seguente comando per sapere con quale account hai ricevuto l'autorizzazione:
gcloud auth list
Revoca di un token di aggiornamento
Per revocare le credenziali per un account sulla macchina in cui utilizzi Google Cloud CLI, utilizza:
gcloud auth revoke
Questa operazione ti chiederà di ripetere l'autenticazione utilizzando gcloud init
.
Puoi anche revocare l'autorizzazione di gcloud CLI ad accedere alle tue risorse. Puoi farlo, ad esempio, se i tuoi token di aggiornamento sono compromessi. Per revocare l'autorizzazione per l'interfaccia alla gcloud CLI:
- Accedi alla pagina del tuo Account Google.
- Fai clic su Sicurezza, quindi su Visualizza tutto nella sezione Autorizzazioni account.
- Seleziona Google Cloud SDK e fai clic su Revoca accesso.
Riavvio di un'istanza
Per reimpostare un'istanza denominata "example-instance" nella zona "us-central1-a", utilizza il comando instances reset
:
gcloud compute instances reset example-instance --zone us-central1-a
Per informazioni sulle implicazioni di una reimpostazione, leggi la documentazione relativa alla reimpostazione di un'istanza.