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 – Python

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
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

Google Kubernetes Engine est un environnement géré grâce auquel vous pouvez déployer, gérer et faire évoluer vos applications en conteneur à l'aide de l'infrastructure Google. L'environnement de Kubernetes Engine comprend plusieurs machines (en particulier, les instances de Google Compute Engine) regroupées pour former un cluster.

Les mécanismes de Kubernetes vous permettent d'interagir avec votre cluster. Grâce aux commandes et ressources Kubernetes, vous pouvez déployer et gérer vos applications, effectuer des tâches d'administration, définir des stratégies et surveiller l'état de vos charges de travail déployées.

Dans cet atelier, vous allez déployer l'application Quiz dans Kubernetes Engine et exploiter des ressources de Google Cloud Platform, dont Cloud Build et Container Registry, ainsi que des ressources de 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

Avant de commencer l'atelier

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.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

  2. 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.

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

  6. 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.

  7. 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.

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    Icône Cloud Shell encadrée

  2. 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 :

ID de projet mis en évidence dans le terminal Cloud Shell

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 :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 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 Quiz

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

  1. Clonez le dépôt pour l'atelier :
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. Créez un lien symbolique qui servira de raccourci vers le répertoire de travail.
ln -s ~/training-data-analyst/courses/developingapps/v1.3/python/kubernetesengine ~/kubernetesengine

Configurer l'application Quiz

  1. Passez au répertoire qui contient les exemples de fichiers de l'atelier :
cd ~/kubernetesengine/start
  1. Configurez l'application Quiz :
. prepare_environment.sh

Ce fichier de script :

  • crée une application Google App Engine ;
  • exporte les variables d'environnement GCLOUD_PROJECT et GCLOUD_BUCKET ;
  • crée un environnement Python isolé virtualenv pour Python 3 et l'active.
  • met à jour PIP, puis exécute la commande pip install -r requirements.txt ;
  • 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.

L'application Quiz est configurée lorsque le message suivant s'affiche :

Exemple de message de sortie :

Creating Cloud Pub/Sub topic Created topic [projects/qwiklabs-gcp-92b7e5716e0cbf7e/topics/feedback]. Created subscription [projects/qwiklabs-gcp-92b7e5716e0cbf7e/subscriptions/worker-subscription]. Creating Cloud Spanner Instance, Database, and Table Creating instance...done. Creating database...done. Project ID: qwiklabs-gcp-92b7e5716e0cbf7e

Tâche 2 : Examiner le code

Dans cette section, vous allez examiner les fichiers de l'application.

Pour afficher et modifier des fichiers, vous pouvez utiliser les éditeurs de script installés dans Cloud Shell, tels que nano ou vim, ou encore l'éditeur de code de Cloud Shell. Cet atelier utilise l'éditeur de code intégré.

Lancer l'éditeur de code Cloud Shell

  • Dans Cloud Shell, cliquez sur Ouvrir l'éditeur pour lancer l'éditeur de code.

Icône Ouvrir l'éditeur

Examiner le code

  • Accédez à /kubernetesengine/start.

La structure de dossiers associée à l'application Quiz reflète la façon dont elle va être 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 le dossier frontend, et un autre dans le dossier backend) et des fichiers .yaml Kubernetes Engine (backend-deployment et frontend-deployment).

Tâche 3 : Créer un cluster Kubernetes Engine et s'y connecter

Créer un cluster Kubernetes Engine

  1. Dans la console Cloud Platform, accédez au menu de navigation > Kubernetes Engine > Clusters.

    Le chemin d'accès de l'option Clusters est affiché

  2. Cliquez sur Créer, puis sur Configurer à côté du mode de cluster Standard.

  3. Configurez le cluster. Renseignez les champs suivants avec les valeurs fournies et conservez les valeurs par défaut dans les autres champs :

Property (Propriété)

Valeur

Nom

quiz-cluster

Zone

us-central1-b

default-pool > Security > Access scopes (Niveaux d'accès)

Sélectionner Allow full access to all Cloud APIs (Autoriser l'accès complet à l'ensemble des API Cloud)

  1. Cliquez sur Create (Créer). La création du cluster prend quelques minutes.

Se connecter au cluster

Dans cette section, vous connectez l'application Quiz au cluster Kubernetes.

  1. Lorsque le cluster est prêt, cliquez sur le bouton Action (trois points verticaux), puis sur Associer.

  2. Dans Se connecter au cluster, cliquez sur Exécuter dans Cloud Shell.

  3. Appuyez sur Entrée dans Cloud Shell pour exécuter la commande déjà saisie qui ressemble à gcloud container clusters get-credentials quiz-cluster --zone us-central1-b --project [ID-projet].

  4. Exécutez la commande suivante pour afficher la liste des pods dans le cluster :

kubectl get pods

La réponse devrait être No resources found (Aucune ressource trouvée), car le cluster ne contient aucun pod. 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 4 : 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

  1. Dans l'éditeur de code Cloud Shell, ouvrez frontend/Dockerfile. Vous allez ensuite ajouter un bloc de code qui exécute les actions suivantes :
  • Saisie de la commande Dockerfile pour initialiser la création d'une image Docker personnalisée avec, pour point de départ, l'image Python App Engine de Google
  • Codage des commandes Dockerfile pour activer un environnement virtuel
  • Écriture de la commande Dockerfile permettant d'exécuter pip install dans le cadre du processus de création
  • Codage de la commande Dockerfile pour ajouter les contenus du dossier actuel au chemin /app dans le conteneur
  • Création du Dockerfile à l'aide de l'instruction gunicorn… qui s'exécute lorsque le conteneur est ouvert. Gunicorn (Green Unicorn) est un serveur HTTP compatible avec la spécification de l'interface passerelle de serveur Web (WSGI) Python.
  1. Copiez et collez le contenu suivant dans Dockerfile :
FROM gcr.io/google_appengine/python RUN virtualenv -p python3.7 /env ENV VIRTUAL_ENV /env ENV PATH /env/bin:$PATH ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt ADD . /app CMD gunicorn -b 0.0.0.0:$PORT quiz:app
  1. Ouvrez le fichier backend/Dockerfile, puis copiez le code suivant et collez-le dans le fichier :
FROM gcr.io/google_appengine/python RUN virtualenv -p python3.7 /env ENV VIRTUAL_ENV /env ENV PATH /env/bin:$PATH ADD requirements.txt /app/requirements.txt RUN pip install -r /app/requirements.txt ADD . /app CMD python -m quiz.console.worker

Créer des images Docker à l'aide de Cloud Build

  1. Dans Cloud Shell, vérifiez que vous êtes bien dans le dossier start :
cd ~/kubernetesengine/start
  1. Exécutez la commande suivante pour créer l'image Docker de l'interface :
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-frontend ./frontend/

Les fichiers sont transférés dans Cloud Storage, et une image Docker est créée et stockée dans Container Registry. Cette opération prend quelques minutes.

  1. Exécutez ensuite la commande suivante pour créer l'image Docker du backend :
gcloud builds submit -t gcr.io/$DEVSHELL_PROJECT_ID/quiz-backend ./backend/

Lorsque l'image Docker du backend est prête, ces derniers messages apparaissent :

DONE ----------------------------------------------------------------------------------------------------------------------- ID CREATE_TIME DURATION SOURCE IMAGES STATUS be0326f4-3f6f-42d6-850f-547e260dd4d7 2018-06-13T22:20:16+00:00 50S gs://qwiklabs-gcp-3f89d0745056ee31_cloudbuil d/source/1528928414.79-4914d2a972f74e188f40ced135662b7d.tgz gcr.io/qwiklabs-gcp-3f89d0745056ee31/quiz-backend (+1 more ) SUCCESS
  1. Dans la console Cloud, accédez au menu de navigation, puis cliquez sur Container Registry. Vous devriez voir les deux pods suivants : quiz-frontend et quiz-backend.

Les deux pods listés dans Container Registry

  1. Cliquez sur quiz-frontend.
Remarque : Vous devriez voir le nom de l'image (un hachage) et des tags (les plus récents).

Le nom et le tag pour quiz-frontend sur la page Images

Tâche 5 : Créer des ressources de déploiement et de service Kubernetes

Dans cette section, vous allez modifier les fichiers du modèle yaml qui contiennent les spécifications relatives 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

  1. 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.
  1. Remplacez les espaces réservés dans le fichier frontend-deployment.yaml par les valeurs suivantes :

Nom de l'espace réservé

Valeur

[PROJET_GCLOUD]

ID du projet GCP, disponible dans le panneau de gauche de l'atelier.
Vous pouvez également afficher l'ID du projet en saisissant la commande
echo $GCLOUD_PROJECT dans Cloud Shell.

[BUCKET_GCLOUD]

Nom du bucket Cloud Storage associé au bucket multimédia de votre projet, qui est [GCLOUD_PROJECT]-media. Vous pouvez également afficher le nom du bucket en saisissant la commande echo $GCLOUD_BUCKET dans Cloud Shell.

[FRONTEND_IMAGE_IDENTIFIER]

Image de l'interface identifiée au format gcr.io/[PROJET_GCLOUD]/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.
  1. Enregistrez le fichier.
  2. Remplacez les espaces réservés dans le fichier backend-deployment.yaml par les valeurs suivantes :

Nom de l'espace réservé

Valeur

[PROJET_GCLOUD]

GCP Project ID

[BUCKET_GCLOUD]

ID du bucket Cloud Storage utilisé en tant que bucket multimédia pour votre projet, soit [PROJET_GCLOUD]-media.

[BACKEND_IMAGE_IDENTIFIER]

Image du backend identifiée au format gcr.io/[PROJECT_GCLOUD]/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.
  1. Enregistrez le fichier.
  2. 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

  1. Dans Cloud Shell, provisionnez le déploiement de l'interface de Quiz :
kubectl create -f ./frontend-deployment.yaml
  1. Provisionnez le déploiement du backend de Quiz :
kubectl create -f ./backend-deployment.yaml
  1. 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.

Tâche 6 : Tester l'application Quiz

Dans cette section, vous allez examiner les pods et le service déployés, et accéder à l'application Quiz.

Examiner les ressources déployées

  1. Dans la console Google Cloud, accédez au menu de navigation, puis cliquez sur Kubernetes Engine.
  2. Cliquez sur Charges de travail.
Remarque : Vous devriez voir les deux conteneurs suivants : quiz-frontend et quiz-backend. Vous pouvez constater que les conteneurs sont en cours de création ou d'ores et déjà opérationnels.
  1. Cliquez sur quiz-frontend. Dans la section Pods gérés, trois pods quiz-frontend sont présents.

  2. Dans la section Services en bas de la page, recherchez la section Points de terminaison, copiez l'adresse IP, puis collez-la dans le champ d'URL d'un nouvel onglet ou d'une nouvelle fenêtre de navigateur :

L'adresse IP mise en surbrillance dans la section "Points de terminaison"

  1. L'application Quiz s'ouvre, ce qui signifie que vous l'avez correctement déployée. Vous pouvez arrêter l'atelier ici ou utiliser le temps restant pour créer d'autres questionnaires.

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.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. 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.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. 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.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. 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.