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 di gcloud compute disponibili, puoi utilizzare la guida ai comandi integrata (--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 verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
-
Recupero delle informazioni sulle risorse
Puoi recuperare le informazioni sulle risorse Compute Engine in due modi:
utilizzando
il comando list per generare un elenco di risorse e il comando describe
per recuperare i dettagli di una risorsa specifica.
Recupero delle risorse con i comandi list
I comandi list sono progettati per restituire una tabella leggibile da una persona e che contiene i
dati più pertinenti per le risorse richieste. In via facoltativa, puoi
filtrare i risultati così da visualizzare un elenco
più breve con risultati più pertinenti.
- Filtri basati su espressioni regolari per i nomi
- Puoi utilizzare
la sintassi RE2 per abbinare
i nomi delle risorse (ad esempio i nomi di istanze o dischi). Fai riferimento al
comando
gcloud compute instances list. - Flag dei comandi
--limitIl numero massimo di risultati da restituire. Questo flag è particolarmente utile se utilizzato con il flag
--sort-bycome descritto nella sezione Recupero delle risorse con i comandi describe.--sort-by SORT_BYUn campo in base al quale ordinare, se applicabile. Per una disposizione in ordine decrescente, anteponi al valore una tilde ("~"). 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
ricordi 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 inserire le immagini in un elenco per ottenere il nome di ciascuna immagine e il relativo progetto associato, in modo da
poterli usare come input per 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 testo.
L'output in formato JSON può essere utile se stai analizzando l'output, mentre il 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 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 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 generare un elenco di operazioni per zona in cui il valore status è pari a DONE e
il valore httpStatus non è 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 in ordine di
nome decrescente (--sort-by ~NAME), utilizza un
comando disks list:
gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"
In alcuni scenari, può essere utile 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 URI completi alle risorse, 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, usa:
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 e 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 modificare l'output in JSON o testo (una proprietà
per riga), utilizza il flag --format. Ad esempio, per restituire l'output in formato 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"
...
}Verifica dell'utente per cui disponi dell'autorizzazione
Utilizza il seguente comando per scoprire a quale account è stata concessa l'autorizzazione:
gcloud auth list
Revoca di un token di aggiornamento
Per revocare le credenziali di un account sulla macchina in cui utilizzi Google Cloud CLI, utilizza:
gcloud auth revoke
Così dovrai eseguire nuovamente l'autenticazione utilizzando gcloud init.
Puoi anche revocare l'autorizzazione per l'accesso alle tue risorse da parte di gcloud CLI. Ad esempio, puoi farlo se i token di aggiornamento sono compromessi. Per revocare l'autorizzazione per 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.
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 legate alla reimpostazione di un'istanza, consulta la documentazione Reimposta un'istanza.