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 ai comandi integrata (--help
) o 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 è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Recupero delle informazioni sulle risorse
Puoi recuperare le informazioni sulle risorse di Compute Engine in due modi:
utilizzando
il comando list
per restituire un elenco di risorse e il comando describe
per restituire i dettagli di una risorsa specifica.
Recupero delle risorse con i comandi list
I comandi list
sono progettati per restituire una tabella leggibile dai dati più pertinenti per le risorse richieste. Se vuoi, puoi filtrare i risultati per visualizzare un elenco più breve con risultati più pertinenti.
- Filtri basati su espressioni regolari per i nomi
- Puoi utilizzare la sintassi RE2 per associare i nomi delle risorse (ad esempio i nomi di istanze o dischi). Consulta il
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 describe.--sort-by SORT_BY
Un campo in base al quale ordinare, se applicabile. Per eseguire un'ordinamento in ordine decrescente, anteponi al valore un a capo ("~"). Questo flag interagisce con altri flag che vengono applicati in questo ordine:
--flatten
,--sort-by
,--filter
,--limit
.
Recupero delle risorse con i comandi describe
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 di risorse. Ad esempio, i due comandi seguenti illustrano uno scenario in cui puoi elencare le 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 dei comandi describe
è in formato YAML, ma puoi utilizzare il flag --format
per scegliere tra i formati di output JSON, YAML e di testo.
L'output in formato JSON può essere utile se stai analizzando l'output, mentre l'output in formato testo inserisce 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 dati di riepilogo facile da leggere. Ad esempio, per restituire i 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 espressioni regolari includendo il flag --filter
con un operatore key ~ value
. Ad esempio, filtra l'elenco di istanze in modo da includere solo quelle con "test" nel nome:
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 zone con un valore status
pari a DONE
e senza un valore httpStatus
pari a 200
, applica un filtro zone
a un comando operations list
, quindi grep
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
, ordinati 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, potresti voler avere il link URI completo alla risorsa, ad esempio nelle richieste in cui passi l'output di un comando list
a un altro comando o a un'applicazione che accetta un elenco di link alle risorse.
Per mostrare i link alle risorse URI completi, 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 visualizzare 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, restituisce l'output YAML. Per modificare l'output in JSON o testo (una proprietà per riga), utilizza il flag --format
. Ad esempio, per restituire l'output di testo per la stessa istanza, utilizza:
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 seguente comando 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" ... }
Verificare con quale utente disponi dell'autorizzazione
Utilizza il seguente comando per scoprire con quale account disponi dell'autorizzazione:
gcloud auth list
Revocare un token di aggiornamento
Per revocare le credenziali di un account sulla macchina in cui utilizzi Google Cloud CLI, utilizza:
gcloud auth revoke
In questo modo dovrai eseguire nuovamente l'autenticazione utilizzando gcloud init
.
Puoi anche revocare l'autorizzazione per l'accesso alle tue risorse da parte dell'interfaccia alla gcloud CLI. Ad esempio, potresti farlo se i 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 e poi su Visualizza tutto nella sezione Autorizzazioni account.
- Seleziona Google Cloud SDK e fai clic su Revoca accesso.
Riavviare 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 un ripristino dei dati di fabbrica, consulta la documentazione su come ripristinare i dati di fabbrica di un'istanza.