Découvrir Cloud Run
- Présentation
- Préparation
- Tâche 1 : Activer l'API Cloud Run et configurer votre environnement de shell
- Tâche 2 : Coder l'exemple d'application
- Tâche 3 : Conteneuriser votre application et l'importer dans Artifact Registry
- Tâche 4 : Déployer une application sur Cloud Run
- Tâche 5 : Effectuer un nettoyage
- Terminer l'atelier
- Félicitations !
Présentation
Cloud Run est une plate-forme de calcul gérée qui permet d'exécuter des conteneurs sans état accessibles via des requêtes HTTP. Cloud Run fonctionne sans serveur : il élimine toute gestion de l'infrastructure pour vous permettre de vous concentrer sur ce qui compte le plus : créer des applications de qualité.
Cloud Run étant basé sur Knative, vous pouvez exécuter vos conteneurs soit de façon entièrement gérée avec Cloud Run, soit dans votre cluster Google Kubernetes Engine avec Cloud Run sur GKE.
L'objectif de cet atelier est de créer une image d'application conteneurisée simple et de la déployer sur Cloud Run.
Objectifs
Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :
- Activer l'API Cloud Run
- Créer une application Node.js simple pouvant être déployée en tant que conteneur sans serveur et sans état
- Conteneuriser votre application et l'importer dans Artifact Registry
- Déployer une application conteneurisée sur Cloud Run
- Supprimer les images inutiles pour éviter des frais de stockage supplémentaires
Préparation
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :
- Le bouton Ouvrir la console Google Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer Google Cloud Shell
Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
-
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
-
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Résultat :
Exemple de résultat :
- Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
Référence
Commandes Linux de base
Vous trouverez ci-dessous une liste de référence de quelques commandes Linux très basiques pouvant apparaître dans les instructions ou les blocs de code de cet atelier.
Commande --> | Action | . | Commande --> | Action |
---|---|---|---|---|
mkdir (make directory) | Créer un dossier | . | cd (change directory) | Accéder à un autre dossier |
ls (list) | Afficher les fichiers et les dossiers du répertoire | . | cat (concatenate) | Lire le contenu d'un fichier sans utiliser d'éditeur |
apt-get update | Mettre à jour la bibliothèque du gestionnaire de packages | . | ping | Signal permettant de tester la joignabilité d'un hôte |
mv (move) | Déplacer un fichier | . | cp (copy) | Copier un fichier |
pwd (present working directory) | Afficher l'emplacement actuel | . | sudo (super user do) | Accorder des droits d'administrateur supérieurs |
Tâche 1 : Activer l'API Cloud Run et configurer votre environnement de shell
- Dans Cloud Shell, activez l'API Cloud Run :
- Si vous y êtes invité, autorisez l'utilisation de vos identifiants. Un message semblable à celui qui suit s'affiche pour vous indiquer que l'opération s'est correctement déroulée :
- Définissez la région de calcul :
- Créez une variable d'environnement LOCATION :
Tâche 2 : Coder l'exemple d'application
Dans cette tâche, vous allez créer une application NodeJS simple basée sur Express et répondant aux requêtes HTTP.
- Dans Cloud Shell, créez un nouveau répertoire nommé
helloworld
et déplacez-y votre vue :
-
Vous allez ensuite créer et modifier des fichiers. Pour modifier des fichiers, utilisez
nano
ou l'éditeur de code Cloud Shell en cliquant sur le bouton Ouvrir l'éditeur de Cloud Shell. -
Créez un fichier
package.json
, puis ajoutez-y le contenu suivant :
Le fichier ci-dessus contient principalement une commande de script de démarrage et une dépendance associée au framework d'application Web Express.
-
Appuyez sur CTRL+X, puis sur Y et sur Entrée pour enregistrer le fichier
package.json
. -
Dans le même répertoire, créez ensuite un fichier
index.js
, et copiez-y les lignes suivantes :
Ce code crée un serveur Web de base qui va écouter le port défini par la variable d'environnement PORT
. Votre application est maintenant terminée. Elle est prête à être conteneurisée et importée dans Artifact Registry.
- Appuyez sur CTRL+X, puis sur Y et sur Entrée pour enregistrer le fichier
index.js
.
Tâche 3 : Conteneuriser votre application et l'importer dans Artifact Registry
- Pour conteneuriser l'application exemple, créez un fichier nommé
Dockerfile
dans le même répertoire que les fichiers sources, puis copiez le contenu suivant :
-
Appuyez sur CTRL+X, puis sur Y et sur Entrée pour enregistrer le fichier
Dockerfile
. -
Créez ensuite votre image de conteneur à l'aide de Cloud Build. Pour cela, exécutez la commande suivante à partir du répertoire contenant le fichier
Dockerfile
(vous constaterez dans la commande que la variable d'environnement $GOOGLE_CLOUD_PROJECT contient l'ID du projet de l'atelier) :
Cloud Build est un service qui exécute vos compilations sur Google Cloud. Il exécute une série d'étapes de compilation. Chacune d'elles est exécutée dans un conteneur Docker afin de générer votre conteneur d'application (ou tout autre artefact) et de le transférer vers Artifact Registry. Cette procédure s'effectue par le biais d'une seule commande.
Une fois le transfert dans le registre terminé, un message SUCCESS contenant le nom de l'image (gcr.io/[PROJECT-ID]/helloworld
) s'affiche. L'image est stockée dans Artifact Registry et peut être réutilisée si vous le souhaitez.
- Exécutez la commande suivante pour lister toutes les images de conteneur associées à votre projet actuel :
- Enregistrez
gcloud
comme assistant d'identification pour tous les registres Docker compatibles avec Google :
- Pour exécuter et tester l'application en local depuis Cloud Shell, démarrez-la à l'aide de cette commande
docker
standard :
- Dans la fenêtre Cloud Shell, cliquez sur Aperçu sur le Web et sélectionnez Prévisualiser sur le port 8080.
Une fenêtre de navigateur doit normalement s'ouvrir et afficher le message "Hello World!". Vous auriez aussi pu utiliser tout simplement la commande curl localhost:8080
.
Tâche 4 : Déployer une application sur Cloud Run
- Pour déployer votre application conteneurisée sur Cloud Run, exécutez la commande suivante en spécifiant votre ID de projet :
L'option "allow-unauthenticated" de la commande ci-dessus rend votre service accessible publiquement.
- Lorsque vous y êtes invité, confirmez le
nom du service
en appuyant sur Entrée.
Patientez quelques instants jusqu'à la fin du déploiement.
En cas de réussite, la ligne de commande affiche l'URL du service :
Vous pouvez maintenant accéder au conteneur déployé en ouvrant l'URL du service dans une fenêtre de navigateur quelconque.
Félicitations ! Vous venez de déployer une application empaquetée dans une image de conteneur sur Cloud Run. Cloud Run effectue un scaling automatique et horizontal de votre image de conteneur pour traiter les requêtes reçues, puis un scaling à la baisse lorsque la demande diminue. Dans votre environnement, vous ne payez que pour le processeur, la mémoire et le réseau utilisés lors du traitement des requêtes.
Dans cet atelier, vous avez utilisé la ligne de commande gcloud
. Cloud Run est également accessible depuis la console Cloud.
- Dans la section "Sans serveur" du menu de navigation, cliquez sur Cloud Run. Votre service
helloworld
doit être listé :
Tâche 5 : Effectuer un nettoyage
Bien que le service Cloud Run ne soit pas facturé lorsqu'il n'est pas utilisé, il se peut que des frais vous incombent pour le stockage de l'image de conteneur générée.
- Afin d'éviter que des frais ne vous soient facturés, vous pouvez soit supprimer votre projet Google Cloud, ce qui arrêtera la facturation de toutes les ressources qui y ont été utilisées, soit supprimer votre image
helloworld
en exécutant la commande suivante :
-
Lorsque vous êtes invité à poursuivre la procédure, saisissez
Y
et appuyez sur Entrée. -
Pour supprimer le service Cloud Run, utilisez cette commande :
- Lorsque vous êtes invité à poursuivre la procédure, saisissez
Y
et appuyez sur Entrée.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
- 1 étoile = très insatisfait(e)
- 2 étoiles = insatisfait(e)
- 3 étoiles = ni insatisfait(e), ni satisfait(e)
- 4 étoiles = satisfait(e)
- 5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Félicitations !
Vous avez terminé cet atelier.
Étapes suivantes et informations supplémentaires
Pour savoir comment créer un conteneur HTTP sans état pour Cloud Run à partir de code source et le transférer dans Artifact Registry, consultez les pages suivantes :
Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.