
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
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.
Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :
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 :
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.
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
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.
Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
Cliquez sur Suivant.
Accédez aux pages suivantes :
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
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.
Résultat :
Exemple de résultat :
Résultat :
Exemple de résultat :
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 |
Dans cette tâche, vous allez créer une application NodeJS simple basée sur Express et répondant aux requêtes HTTP.
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.
index.js
.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.
gcloud
comme assistant d'identification pour tous les registres Docker compatibles avec Google :docker
standard :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
.
L'option "allow-unauthenticated" de la commande ci-dessus rend votre service accessible publiquement.
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.
helloworld
doit être listé :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.
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 :
Y
et appuyez sur Entrée.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 :
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.
Vous avez terminé cet atelier.
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.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
One lab at a time
Confirm to end all existing labs and start this one