Conseils d'utilisation pour gcloud compute

Ce document donne des conseils pour utiliser gcloud compute. Pour obtenir la liste complète de tous les indicateurs et commandes gcloud compute disponibles, vous pouvez utiliser la commande intégrée (--help), ou consulter la documentation de référence publiée ou la documentation principale de gcloud.

Avant de commencer

Récupérer des informations sur les ressources

Pour récupérer des informations sur les ressources de Google Compute Engine, utilisez la commande list pour renvoyer une liste de ressources, ou utilisez la commande describe pour renvoyer les détails d'une ressource spécifique.

Lister des ressources via des commandes list

Les commandes list sont conçues pour générer un tableau facilement lisible des données les plus pertinentes pour les ressources demandées. Vous pouvez éventuellement filtrer vos résultats pour obtenir une liste plus courte et plus pertinente.

Filtrage par nom via des expressions régulières
Utilisez une expression RE2 pour filtrer par nom les ressources (par exemple, le nom des instances ou des disques). Reportez-vous à la liste d'instances de gcloud compute.
Indicateurs de commande
--limit

Le nombre maximum de résultats autorisé. Cet indicateur est particulièrement utile lorsqu'il est utilisé avec l'indicateur --sort-by, décrit à la section Récupérer des informations sur des ressources via des commandes describe.

--sort-by SORT_BY

Une commande pour appliquer une méthode de tri sur un champ, le cas échéant. Pour effectuer un tri par ordre décroissant, préfixez la valeur avec un tilde ("~").

Récupérer des informations sur des ressources via des commandes describe

Les commandes describe sont conçues pour afficher des données sur une ressource spécifique. Vous devez indiquer le nom de la ressource dans la commande describe. Si vous ne vous souvenez plus de son nom, vous pouvez exécuter une commande list pour obtenir la liste de toutes vos ressources. Les deux commandes ci-dessous illustrent un scénario dans lequel vous listez vos images afin d'obtenir le nom et le projet associé d'une image particulière, afin de pouvoir les fournir comme entrées d'une commande 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

Le format de sortie par défaut des commandes describe est YAML, mais vous pouvez utiliser l'indicateur --format pour choisir entre les formats de sortie JSON, YAML et texte. Le format JSON peut se révéler utile si vous comptez analyser les résultats, tandis que le format texte place chaque propriété sur une ligne distincte.

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

Exemples

Exemples de commandes list

Lorsque vous faites une requête pour lister vos ressources, vous obtenez un tableau des données récapitulatives facile à lire. Par exemple, pour obtenir des données récapitulatives sur les instances de votre projet, utilisez la commande instances list :

gcloud compute instances list
NAME               ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
example-instance   asia-east1-b  n1-standard-1 10.240.95.199  107.167.182.44  RUNNING
example-instance2  us-central1-a n1-standard-1 10.240.173.254 23.251.148.121  RUNNING
test-instance      us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Vous pouvez filtrer les résultats des commandes list avec des expressions régulières en incluant l'indicateur --filter avec un opérateur key ~ value. Par exemple, filtrez la liste des instances pour n'inclure que les instances dont le nom contient la chaîne "test" :

gcloud compute instances list --filter="name ~ .*test.*"
NAME           ZONE          MACHINE_TYPE  INTERNAL_IP    EXTERNAL_IP     STATUS
test-instance  us-central1-a n1-standard-1 10.240.118.207 23.251.153.172  RUNNING

Pour obtenir la liste des opérations de zone dont la propriété status est définie sur DONE et qui sont dénuées de propriété httpStatus définie sur 200, appliquez un filtre zone sur une commande operations list, puis filtrez les résultats avec la commande grep :

gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep 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

Pour obtenir la liste des disques de la zone us-central1-a, triés par nom par ordre alphabétique décroissant (--sort-by ~NAME), utilisez la commande disks list :

gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"

Dans certains scénarios, vous souhaiterez peut-être disposer du lien URI complet vers la ressource, comme lors de demandes où vous utiliserez le résultat d'une commande list pour une autre commande ou application nécessitant une liste de liens de ressources. Pour afficher les liens de ressources URI complets, utilisez l'indicateur --uri avec les commandes list.

gcloud compute instances list --uri --filter="name~'^example-.*'"
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2

Pour utiliser le résultat de la commande list précédente dans une commande qui supprime des instances, exécutez ceci :

gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")

Exemples de commandes describe

Pour obtenir des détails sur une seule instance, vous devez la spécifier en fournissant des informations telles que sa zone. Par exemple, pour renvoyer des informations sur l'instance nommée "example-instance" et située dans la zone asia-east1-b, vous pouvez utiliser la commande instances describe :

gcloud compute instances describe example-instance --zone asia-east1-b

Par défaut, les résultats sont au format YAML. Pour modifier le format de sortie en JSON ou en texte (une propriété par ligne), utilisez l'indicateur --format. Par exemple, si vous souhaitez des résultats au format texte pour cette même instance, utilisez :

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
...

Pour obtenir plus d'informations sur une opération spécifique, utilisez la commande operations list pour rechercher l'URI complet de l'opération :

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
...

Ensuite, utilisez l'URI dans une commande 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
...

La commande suivante permet d'obtenir les paramètres d'instance au format 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"
   ...
}

Vérifier quelles sont vos autorisations en tant qu'utilisateur

Exécutez la commande suivante pour savoir quelles sont vos autorisations en tant qu'utilisateur :

gcloud auth list

Révoquer un jeton d'actualisation

Pour révoquer les identifiants d'un compte sur la machine sur laquelle vous utilisez le SDK Cloud, utilisez :

gcloud auth revoke

Cela vous obligera à vous authentifier à nouveau en utilisant gcloud init.

Vous pouvez également révoquer l'autorisation du SDK Cloud à accéder à vos ressources. Cela peut être indiqué au cas où vos jetons d'actualisation sont compromis. Pour révoquer l'autorisation d'accès du SDK Cloud :

  1. Connectez-vous à la page de votre compte Google.
  2. Cliquez sur Sécurité puis sur Tout afficher dans la section Autorisations au niveau du compte.
  3. Sélectionnez SDK Google Cloud, puis cliquez sur Révoquer l'accès.

Redémarrer une instance

Pour réinitialiser une instance nommée "example-instance" dans la zone us-central1-a, utilisez la commande instances reset :

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

Pour plus d'informations sur ce qu'implique une réinitialisation, consultez la documentation Réinitialiser une instance.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine