Mettez en pratique vos compétences dans la console Google Cloud
Points de contrôle
Configure the case study application
Vérifier ma progression
/ 10
Create a Kubernetes Engine Cluster
Vérifier ma progression
/ 10
Creating Kubernetes Deployment and Service Resources
Vérifier ma progression
/ 30
Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.
Développement d'applications : Déployer l'application dans Kubernetes Engine – Node.js
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.
Présentation
Dans cet atelier, vous allez déployer l'application Quiz dans Kubernetes Engine (anciennement Container Engine), puis exploiter des ressources de Google Cloud Platform, dont Cloud Build et Container Registry, ainsi que des ressources Kubernetes comme les déploiements, les pods et les services.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
Créer des fichiers Dockerfile pour empaqueter le code de l'interface et du backend de l'application Quiz afin de la déployer
Générer des images Docker à l'aide de Cloud Build
Provisionner un cluster Kubernetes Engine en vue d'héberger l'application Quiz
Provisionner des pods répliqués dans Kubernetes Engine via des déploiements Kubernetes
Provisionner un équilibreur de charge pour l'interface de Quiz avec un service Kubernetes
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.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
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 :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Préparer l'application de l'étude de cas
Dans cette section, vous allez accéder à Cloud Shell, cloner le dépôt Git qui contient l'application Quiz, configurer les variables d'environnement et exécuter l'application.
Cloner le code source dans Cloud Shell
Dans Cloud Shell, clonez le dépôt associé à ce cours :
Configurer l'application de l'étude de cas et examiner le code
Changez de répertoire de travail :
cd ~/containerengine/start
Pour remplacer la région par défaut d'un fichier par celle qui a été attribuée à l'atelier, exécutez les commandes suivantes :
export APP_REGION={{{project_0.startup_script.app_gcp_region | APP_REGION}}}
export REGION={{{project_0.default_region | REGION}}}
sed -i 's/us-central1/'"$REGION"'/g' prepare_environment.sh
sed -i 's/us-central/'"$APP_REGION"'/g' prepare_environment.sh
Configurez l'application Quiz :
. prepare_environment.sh
Remarque – Ce fichier de script :
crée une application Google App Engine ;
exporte les variables d'environnement GCLOUD_PROJECT et GCLOUD_BUCKET ;
exécute la commande npm install ;
crée des entités dans Google Cloud Datastore ;
crée un sujet Google Cloud Pub/Sub ;
crée une instance, une base de données et une table Cloud Spanner ;
affiche l'ID du projet Google Cloud Platform.
Dans Cloud Shell, cliquez sur Ouvrir l'éditeur.
Accédez à containerengine/start.
Remarque : La structure de dossiers associée à l'application Quiz reflète la façon dont celle-ci sera déployée dans Kubernetes Engine.
L'application Web se trouve dans le dossier frontend.
Le code de l'application du nœud de calcul qui s'abonne à Cloud Pub/Sub et traite les messages se trouve dans le dossier backend.
Vous trouverez des fichiers de configuration pour Docker (un Dockerfile dans les dossiers frontend et backend) et Kubernetes Engine (\*.yaml).
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer l'application de l'étude de cas
Tâche 2 : Créer un cluster Kubernetes Engine
Dans cette section, vous allez créer un cluster Kubernetes Engine qui hébergera l'application Quiz.
Créer un cluster Kubernetes Engine
Dans la console Cloud, accédez au menu de navigation, puis cliquez sur API et services.
Faites défiler la liste des API activées et assurez-vous que les deux API suivantes y figurent :
API Kubernetes Engine
API Google Container Registry
S'il en manque une, cliquez sur + Activer les API et les services en haut de la page. Recherchez les API ci-dessus par nom et activez chacune d'elles pour votre projet actuel. (Vous avez noté le nom de votre projet GCP plus haut.)
Dans la console Cloud Platform, accédez au menu de navigation, puis cliquez sur Kubernetes Engine > Clusters.
Cliquez sur Créer.
Cliquez sur Mise en route, puis sur Passer au mode standard.
Configurez le cluster à l'aide du tableau suivant :
Propriété
Valeur
Nom
quiz-cluster
Type d'emplacement
Zonal
Zone
Dans la zone Pools de nœuds, cliquez sur default-pool.
Dans la zone Sécurité > Niveaux d'accès, sélectionnez Autoriser l'accès complet à l'ensemble des APIs Cloud.
Cliquez sur Créer.
Remarque : Le provisionnement du cluster prend environ deux minutes.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un cluster Kubernetes Engine
Se connecter au cluster
Une fois le cluster prêt, cliquez sur les trois points verticaux à droite, puis sur Connecter.
Pour insérer la commande de connexion dans Cloud Shell, sous Se connecter au cluster, cliquez sur Exécuter dans Cloud Shell. La commande doit ressembler à ceci :
Appuyez sur ENTRÉE pour exécuter la commande dans Cloud Shell.
Affichez la liste des pods du cluster :
kubectl get pods
Remarque : La réponse devrait indiquer qu'il n'y a pas de pods dans le cluster.
Cela confirme que la sécurité est configurée de sorte à autoriser l'outil de ligne de commande kubectl à effectuer des opérations sur le cluster.
Tâche 3 : Créer des images Docker à l'aide de Cloud Build
Dans cette section, vous allez créer un Dockerfile pour l'interface et le backend de l'application, puis utiliser Cloud Build pour créer des images et les stocker dans Container Registry.
Créer le Dockerfile pour l'interface et le backend
Dans l'éditeur de code Cloud Shell, ouvrez frontend/Dockerfile.
Après le texte existant, saisissez les commandes Dockerfile permettant d'initialiser la création d'une image Docker personnalisée qui utilise l'image App Engine NodeJS de Google comme point de départ.
Remarque : L'image que vous allez utiliser est gcr.io/google_appengine/nodejs.
Ajoutez la commande Dockerfile pour copier le contenu du dossier actuel vers un dossier de destination dans le répertoire de l'image /app/.
Ajoutez la commande Dockerfile permettant d'exécuter l'instruction npm install -g npm@8.1.3 dans le cadre du processus de compilation afin de vous assurer que le conteneur exécute une version de npm compatible avec l'application.
Ajoutez la commande Dockerfile pour exécuter l'instruction npm update.
Complétez le Dockerfile en saisissant l'instruction npm start, qui s'exécute au démarrage du conteneur :
...frontend/Dockerfile
FROM gcr.io/google_appengine/nodejs
RUN /usr/local/bin/install_node '>=0.12.7'
COPY . /app/
RUN npm install -g npm@8.1.3 --unsafe-perm || \
((if [ -f npm-debug.log ]; then \
cat npm-debug.log; \
fi) && false)
RUN npm update
CMD npm start
Enregistrez le fichier Dockerfile.
Répétez les étapes précédentes pour le fichier backend/Dockerfile :
...backend/Dockerfile
FROM gcr.io/google_appengine/nodejs
RUN /usr/local/bin/install_node '>=0.12.7'
COPY . /app/
RUN npm install -g npm@8.1.3 --unsafe-perm || \
((if [ -f npm-debug.log ]; then \
cat npm-debug.log; \
fi) && false)
RUN npm update
CMD npm start
Enregistrez le deuxième fichier Dockerfile.
Créer des images Docker à l'aide de Cloud Build
Dans Cloud Shell, créez l'image Docker de l'interface :
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-frontend ./frontend/
Remarque : Les fichiers sont transférés dans Cloud Storage, puis une image Docker est créée et stockée dans Container Registry. L'opération prend quelques minutes.
Dans la console Cloud Platform, accédez au menu de navigation, puis cliquez sur Artifact Registry.
Remarque : Les deux éléments quiz-frontend et quiz-backend doivent s'afficher.
Cliquez sur le dépôt gcr.io.
Cliquez sur quiz-frontend.
Remarque : Le nom de l'image, les tags (les plus récents) et la taille (environ 275 Mo) doivent s'afficher.
Tâche 4 : Créer les ressources de déploiement et de service Kubernetes
Dans cette section, vous allez modifier les fichiers yaml modèles qui contiennent les spécifications associées aux ressources de déploiement et de service Kubernetes, puis créer ces ressources dans le cluster Kubernetes Engine.
Créer un fichier de déploiement Kubernetes
Dans l'éditeur de code Cloud Shell, ouvrez le fichier frontend-deployment.yaml.
Remarque : Nous avons déjà créé la base du fichier. Votre travail consiste à remplacer les espaces réservés par les valeurs propres à votre projet.
Remplacez les espaces réservés dans le fichier frontend-deployment.yaml par les valeurs suivantes :
Nom de l'espace réservé
Valeur
[GCLOUD_PROJECT]
ID du projet GCP (pour afficher l'ID du projet, saisissez echo $GCLOUD_PROJECT dans Cloud Shell)
[GCLOUD_BUCKET]
Nom du bucket Cloud Storage qui servira de bucket multimédia pour votre projet (saisissez echo $GCLOUD_BUCKET pour afficher le nom du bucket dans Cloud Shell)
[FRONTEND_IMAGE_IDENTIFIER]
Image de l'interface frontend identifiée sous la forme gcr.io/[Project_ID]/quiz-frontend
Remarque : Le déploiement "quiz-frontend" provisionne trois instances répliquées de l'image Docker de l'interface dans des pods Kubernetes, en les répartissant sur les trois nœuds du cluster Kubernetes Engine.
Enregistrez le fichier.
Remplacez les espaces réservés dans le fichier backend-deployment.yaml par les valeurs suivantes :
Nom de l'espace réservé
Valeur
[GCLOUD_PROJECT]
ID du projet GCP
[GCLOUD_BUCKET]
ID du bucket Cloud Storage utilisé en tant que bucket multimédia dans votre projet
[BACKEND_IMAGE_IDENTIFIER]
Image du backend identifiée sous la forme gcr.io/[Project_ID]/quiz-backend
Remarque : Le déploiement "quiz-backend" provisionne deux instances répliquées de l'image Docker du backend dans des pods Kubernetes, en les répartissant sur deux des trois nœuds du cluster Kubernetes Engine.
Enregistrez le fichier.
Examinez le contenu du fichier frontend-service.yaml.
Remarque : Le service expose le déploiement de l'interface à l'aide d'un équilibreur de charge. L'équilibreur de charge est configuré pour envoyer les requêtes provenant des clients vers les trois instances répliquées du pod de l'interface.
Exécuter les fichiers de déploiement et de service
Dans Cloud Shell, provisionnez le déploiement de l'interface de Quiz :
kubectl create -f ./frontend-deployment.yaml
Provisionnez le déploiement du backend de Quiz :
kubectl create -f ./backend-deployment.yaml
Provisionnez le service de l'interface de Quiz :
kubectl create -f ./frontend-service.yaml
Remarque : Chaque commande provisionne des ressources dans Kubernetes Engine. Ce processus dure quelques minutes.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer les ressources de déploiement et de service Kubernetes
Tâche 5 : Tester l'application Quiz
Dans cette section, vous examinez les pods et le service déployés, et accédez à l'application Quiz.
Examiner les ressources déployées
Dans le menu de navigation de la console Cloud, cliquez sur Kubernetes Engine.
Cliquez sur Kubernetes Engine > Charges de travail.
Remarque : Les deux éléments quiz-frontend et quiz-backend doivent s'afficher.
Vous pouvez constater que les pods sont en cours de création ou d'ores et déjà opérationnels.
Vous devrez peut-être actualiser la page plusieurs fois jusqu'à ce que le message "OK" s'affiche.
Cliquez sur quiz-frontend.
Faites défiler la page jusqu'à la section Pods gérés.
Remarque : Vous devez constater la présence de trois pods quiz-frontend.
Cliquez sur Kubernetes Engine > Passerelles, services et entrées.
Cliquez sur l'onglet Services.
Remarque : Vous pouvez constater que l'équilibreur de charge de quiz-frontend est en cours de création ou d'ores et déjà opérationnel.
Patientez jusqu'à ce que le service soit opérationnel (état OK).
Un point de terminaison d'adresse IP doit s'afficher lorsque le service est prêt.
Sous Points de terminaison, cliquez sur l'Adresse IP du service.
Remarque : L'application Quiz doit désormais apparaître.
Créez une question ou lancez un test.
Remarque : L'application fonctionne comme prévu.
Remarque : Révisions
Quelle commande Docker permet d'exécuter une commande lors de la construction du conteneur ?
FROM
COPY
RUN
CMD
Quelle commande Docker permet d'exécuter une commande une fois le conteneur déployé ?
FROM
COPY
RUN
CMD
Quelle commande Kubernetes permet de récupérer la liste des pods en cours d'exécution sur un cluster ?
kubectl pods list
kubectl deployments list
kubectl get pods
kubectl get deployments
Tâche 6 : Déployer le service de classement sur Kubernetes Engine (Bonus)
Lorsqu'un élève répond à un quiz, ses réponses sont envoyées dans un appel d'API au serveur. Votre tâche consiste à capturer les réponses envoyées par les élèves, ainsi que les bonnes réponses, et à les enregistrer dans Cloud Spanner.
Pour ce faire, vous devrez :
Créer un sujet Cloud Pub/Sub nommé "answers" (réponses)
Créer une table Cloud Spanner appelée "Answers", dotée des noms de colonnes et des types de données appropriés
Publier les réponses dans le sujet des réponses
Créer un déploiement answer-backend, dans lequel l'application s'abonne au sujet des réponses dans l'application de la console et y insère les données de réponse dans la table Answers
Créer un gestionnaire et un modèle Pug dans quiz-frontend pour afficher les données de Cloud Spanner lorsque l'utilisateur accède au classement
C'est vous qui décidez des détails !
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.
Copyright 2026 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
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
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Le meilleur moyen d'exécuter cet atelier consiste à utiliser une fenêtre de navigation privée. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez déployer l'application Quiz dans Kubernetes Engine et exploiter des ressources de Google Cloud Platform, dont Container Builder et Container Registry, ainsi que des ressources de Kubernetes comme les déploiements, les pods et les services.
Durée :
1 min de configuration
·
Accessible pendant 120 min
·
Terminé après 120 min