Google Cloud dispose, comme AWS, d’une API plutôt très bien fournie. Sur cette API s’appuient plusieurs librairies et outils, dont le plus utilisé est Google Cloud SDK. Ce dernier comprend, entre autres, les outils de ligne de commande gcloud, gsutil et bq. Aujourd’hui je vous propose un petit tuto sur comment installer, puis configurer l’outil gcloud pour manager vos ressources dans le cloud de Google.

En premier lieu, il vous faut créer un projet via la console Google Cloud. Cette étape est primordiale car vous ne pourrez pas configurer proprement gcloud sans projet : dans Google Cloud tout se joue dans ceux-ci. Pour mon usage perso, j’ai simplement un projet master et un projet develop par exemple. Tiens, on se demande de quoi je me suis inspiré ?

OK, votre projet est créé et configuré (ou l'était déjà). Je ne m'étends pas plus sur l’installation qui comprend :

  • ajout du repository debian
  • curl de la clef gpg de celui-ci pour authentifier les paquets
  • update des repos apt puis installation de l’outil
$ echo "deb http://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
$ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
$ sudo apt-get update && sudo apt-get install google-cloud-sdk

Une fois l’outil installé, tout se fait via la commande gcloud init. En premier lieu, celle-ci va vous rediriger sur une page de login web afin d’authentifier votre compte Google.

➜  ~ gcloud init
Welcome! This command will take you through the configuration of gcloud.

Your current configuration has been set to: [default]

You can skip diagnostics next time by using the following flag:
  gcloud init --skip-diagnostics

Network diagnostic detects and fixes local network connection issues.
Checking network connection...done.
Reachability Check passed.
Network diagnostic passed (1/1 checks passed).

You must log in to continue. Would you like to log in (Y/n)? 

Il faudra simplement cliquer sur Autoriser pour autoriser l’accès aux ressources de Google Cloud Platform.

Note: si vous faites cela sur un serveur/un pi sans interface graphique et que vous ne souhaitez donc pas lancer un navigateur, vous pouvez lancer la commande suivante : gcloud init --console-only.

Il vous faut ensuite choisir le projet de votre choix :

You are logged in as: [cazzaniga.sandro@gmail.com].

Pick cloud project to use: 
 [1] master-265703
 [2] develop-274627
 [2] Create a new project
Please enter numeric choice or text value (must exactly match list 
item):  

Par la suite il est évidemment possible de switcher entre les projets. Puis, la région que votre projet va utiliser:

Do you want to configure a default Compute Region and Zone? (Y/n)?  

Which Google Compute Engine zone would you like to use as project 
default?
If you do not specify a zone via a command line flag while working 
with Compute Engine resources, the default is assumed.
 [1] us-east1-b
 [2] us-east1-c
 [3] us-east1-d
 [4] us-east4-c
 [5] us-east4-b
 [6] us-east4-a
 [7] us-central1-c
 [8] us-central1-a
 [9] us-central1-f
...

Il va stocker ces paramètres sous ~/.config/gcloud/configurations/config_default. Tout est prêt ! Vous pouvez le valider avec un :

➜  ~ gcloud sql instances list
Listed 0 items.

Petit bonus pour les utilisateurs d’OhMyZSH : vous aurez l’autocomplétion de l’outil en rajoutant simplement gcloud à vos plugins.

Y’a plus qu'à !