Passer de gcutil à gcloud compute

L'outil gcloud compute étant désormais en disponibilité générale, Compute Engine recommande à tous les utilisateurs de passer de gcloud compute à gcutil. gcloud compute est un outil de ligne de commande unifié qui présente un certain nombre d'améliorations par rapport à gcutil, telles que les suivantes :

  • Saisie semi-automatique via la touche de tabulation
  • Mise à niveau sur place
  • Aide approfondie de type page de manuel
  • Choix de différents formats de sortie

Afin d'aider les utilisateurs à passer de gcutil à gcloud compute, ce guide décrit brièvement les principaux changements entre les deux outils. Pour obtenir une description détaillée de l'outil gcloud compute, consultez la documentation de gcloud compute.

Nouvelles commandes gcloud

Toutes les commandes gcutil existantes disposent d'un équivalent dans l'outil gcloud compute, à quelques exceptions près. Vous pouvez obtenir la liste complète des commandes gcloud en consultant les pages de référence ou en exécutant gcloud compute --help. Le tableau ci-dessous décrit brièvement les modifications apportées aux commandes gcutil les plus fréquemment utilisées.

Commande gcutil Commande gcloud compute

gcutil addinstance INSTANCE

gcloud compute instances create INSTANCE
Notes

Crée une instance.

  • Une zone/région par défaut peut être définie, sans quoi gcloud compute demande à ce qu'une zone/région soit définie.
  • Crée des machines virtuelles avec les propriétés par défaut, telles que les suivantes :
    • Type de machine : n1-standard-1
    • Image : debian-9

Consultez la section Créer et démarrer une instance.

Commande gcutil Commande gcloud compute

gcutil deleteinstance INSTANCE

gcloud compute instances delete INSTANCE \
       [--keep-disks {boot,all,none}]
Notes

Supprime des instances. Consultez la section Supprimer une instance.

Commande gcutil Commande gcloud compute

gcutil ... --cache_flag_values

gcloud configs set project PROJECT
gcloud configs set compute/zone ZONE
gcloud configs set compute/region REGION
Notes

Définit les valeurs par défaut pour le projet, la zone et la région. Consultez la section Définir une zone et une région par défaut.

Commande gcutil Commande gcloud compute

gcutil push/pull

gcloud compute scp
Notes

Copie des fichiers entre un ordinateur local et une machine virtuelle. Consultez la section Copier des fichiers entre une instance et un ordinateur local.

Commande gcutil Commande gcloud compute

gcutil deleteRESOURCE

gcloud compute RESOURCES delete
Notes

Supprime des ressources, par exemple :


gcloud compute instances delete example-instance
Commande gcutil Commande gcloud compute

gcutil getRESOURCES

gcloud compute RESOURCES describe
Notes

Décrit une ressource spécifique, par exemple :


gcloud compute instances describe example-instance

Commande gcutil Commande gcloud compute

gcutil listRESOURCES

gcloud compute RESOURCES list
Notes

Liste toutes les ressources d'un type donné. Par exemple, pour répertorier les instances :


gcloud compute instances list

Commande gcutil Commande 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
Notes

Comme l'outil effectue désormais un verrouillage optimiste, il n'est pas nécessaire de spécifier une empreinte manuellement. Consultez la section Définir des métadonnées d'instance personnalisées.

Commande gcutil Commande gcloud compute

gcutil … --dump_request_response

Pas encore disponible

Commande gcutil Commande gcloud compute

gcutil … --log_level=DEBUG

gcloud … --verbosity debug
Notes

En outre, les journaux sont stockés dans des fichiers pour chaque commande dans ~/.config/gcloud/logs.

Commande gcutil Commande gcloud compute

gcutil ssh INSTANCE --ssh_user

gcloud compute ssh USER@INSTANCE
Notes

Consultez la section Se connecter à une instance.

Commande gcutil Commande gcloud compute

gcutil … \
--image=projects/project-id/global/images/image

gcloud compute … --image image-name \
       --image-project image-project
Notes

Consultez la section Démarrer une instance à partir d'une image.

Commande gcutil Commande 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}
Notes

Si un disque est marqué pour suppression automatique, il sera automatiquement supprimé sauf indication contraire à l'aide de l'indicateur --keep-disks.

Paramètres par défaut des instances

La création d'une instance dans gcloud compute propose maintenant plusieurs valeurs par défaut pour l'image et le type de machine de votre machine virtuelle. Vous pouvez choisir d'utiliser ces valeurs par défaut en omettant les indicateurs --image et --machine-type, ou remplacer ces paramètres par les indicateurs appropriés. Les nouveaux paramètres de machine virtuelle par défaut sont les suivants :

  • Image par défaut : dernière image debian-9
  • Type de machine par défaut : n1-standard-1

Par exemple, vous pouvez simplement exécuter :

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

Et gcloud compute crée l'instance en utilisant l'image et le type de machine décrits ci-dessus.

Format de sortie

Le format de sortie par défaut varie désormais en fonction de la commande que vous exécutez. Par exemple, si vous exécutez la commande describe pour obtenir des informations sur une ressource spécifique, la réponse sera au format YAML. Vous pouvez cependant choisir le format de sortie dans lequel la réponse sera renvoyée, par exemple JSON ou le format texte, à l'aide de l'indicateur --format :

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

Mise à jour des métadonnées désormais additive

Lors de la définition ou de la mise à jour de métadonnées, vous n'avez plus besoin de fournir d'empreinte. Par défaut, tous les changements de métadonnées sont considérés comme étant additifs. Vous pouvez ajouter des entrées de métadonnées ou mettre à jour des entrées sans effectuer de mise à jour par lot de toutes les métadonnées. Seules les clés de métadonnées transmises seront mutées.

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

Spécifier des projets d'image

Auparavant, pour spécifier une image exacte, vous deviez fournir un URI d'image partielle incluant le nom du projet, comme ci-dessous :

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

Dans gcloud compute, vous devez maintenant spécifier le projet d'image à l'aide d'un nouvel indicateur --image-project :

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

Vous pouvez également fournir l'URI complet :

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