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 proposées, 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 tirer parti des ressources de Google Cloud Platform, dont Container Builder et Container Registry, et des ressources de Kubernetes, comme les déploiements, les pods et les services.
Objectifs
Cet atelier va vous apprendre à effectuer les tâches suivantes :
Créer, à l'aide des Dockerfiles, un package contenant le code de l'interface et du backend de l'application Quiz afin de la déployer
Utiliser Container Builder pour générer des images Docker
Provisionner un cluster Kubernetes Engine pour héberger l'application Quiz
Se servir des déploiements Kubernetes pour provisionner des pods répliqués dans Kubernetes Engine
Exploiter un service Kubernetes afin de provisionner un équilibreur de charge pour l'interface de Quiz
Configuration de Qwiklabs
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. 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.
Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue 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 sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
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. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
Cliquez sur Activer Cloud Shell en haut de la console Google Cloud.
Passez les fenêtres suivantes :
Accédez à la fenêtre d'informations de Cloud Shell.
Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
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.
(Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Lancer l'éditeur de code Cloud Shell
Dans Cloud Shell, cliquez sur l'icône en forme de crayon Open Editor (Ouvrir éditeur).
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
Cliquez sur Terminal ouvert et clonez le référentiel du laboratoire.
exporte les variables d'environnement GCLOUD_PROJECT et GCLOUD_BUCKET ;
met à jour PIP, puis exécute 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
Cliquez sur Vérifier ma progression pour vérifier l'objectif.
Configurer l'application Quiz
Examiner le code
Dans cette section, vous allez examiner les fichiers de l'application.
Pour afficher et éditer des fichiers, vous pouvez utiliser les éditeurs de shell installés dans Cloud Shell, tels que nano ou vim ou l'éditeur de code Cloud Shell. Ce laboratoire utilise l'éditeur de code Cloud Shell.
Cet atelier utilise l'éditeur de code Cloud Shell pour examiner le code de l'application Quiz.
Examiner le code
Accédez à training-data-analyst/courses/developingapps/v1.2/python/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 les dossiers frontend et backend) et des fichiers .yaml Kubernetes Engine backend-deployment et frontend-deployment.
Créer un cluster Kubernetes Engine et s'y connecter
Créer un cluster Kubernetes Engine
Dans la console Cloud Platform, cliquez sur le menu de navigation > Kubernetes Engine > Clusters.
Cliquez sur Créer cluster (Créer un cluster).
Configurez le cluster. Définissez les champs suivants sur les valeurs fournies, laissez tous les autres à la valeur par défaut:
Propriété
Valeur
Name (Nom)
quiz-cluster
Zone
us-central1-b
default Pool > Security > Access scopes (default Pool > Sécurité > Accéder aux portées)
Sélectionnez Allow full access to all Cloud APIs (Autoriser l'accès complet à l'ensemble des API Cloud), puis cliquez sur save (Enregistrer).
Cliquez sur Créer (Créer).
Le provisionnement du cluster dure environ deux minutes.
Cliquez sur Vérifier ma progression pour vérifier l'objectif.
Créer un cluster de moteurs Kubernetes
Se connecter au cluster
Dans cette section, vous connectez l'application Quiz au cluster Kubernetes.
Une fois le cluster prêt, cliquez sur Connect (Se connecter).
Dans Connect to the cluster (Se connecter au cluster), cliquez sur Run in Cloud Shell (Exécuter dans Cloud Shell). 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].
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 vous avez configuré la sécurité de sorte à autoriser l'outil de ligne de commande kubectl à effectuer des opérations sur le cluster.
Créer des images Docker avec Container Builder
Dans cette section, vous créez un Dockerfile pour l'interface et le backend de l'application, et utilisez Container Builder 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. 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
Codage de la commande Dockerfile pour 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.
Copiez ensuite le code suivant et collez-le dans le fichier 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
Ouvrez ensuite le fichier backend/Dockerfile, puis copiez et collez le code suivant :
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 avec Container Builder
Dans Cloud Shell, assurez-vous que vous vous trouvez dans le dossier start:
cd ~/kubernetesengine/start
Exécutez la commande suivante pour créer l'image Docker frontale:
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.
Ignorez les messages indiquant une incompatibilité qui apparaissent à l'écran.
Exécutez ensuite la commande suivante pour créer l'image Docker du 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
Dans la console Cloud Platform, cliquez sur le menu de navigation, puis sur Container Registry.
Vous devriez voir les deux pods suivants : quiz-frontend et quiz-backend.
Cliquez sur quiz-frontend.
Cliquez sur Vérifier ma progression pour vérifier l'objectif.
Créer des images Docker à l'aide de Container Builder
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
Dans l'éditeur de code Cloud Shell, ouvrez le fichier frontend-deployment.yaml.
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 pour le bucket multimédia dans votre projet (Pour afficher le nom du bucket, saisissez echo $GCLOUD_BUCKET dans Cloud Shell.)
[FRONTEND_IMAGE_IDENTIFIER]
Image de l'interface frontend identifiée sous la forme gcr.io/[ID_projet]/quiz-frontend
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 pour le bucket multimédia dans votre projet
[BACKEND_IMAGE_IDENTIFIER]
Image du backend identifiée sous la forme gcr.io/[ID_projet]/quiz-backend
Enregistrez le fichier.
Examinez le contenu du fichier frontend-service.yaml.
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
Cliquez sur Vérifier ma progression pour vérifier l'objectif.
Créer des ressources de déploiement et de service Kubernetes
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 la console Google Cloud Platform, cliquez sur le menu de navigation, puis sur Kubernetes Engine.
Cliquez sur Workloads (Charges de travail).
Cliquez sur quiz-frontend. Dans la section Managed pods (Pods gérés), trois pods quiz-frontend sont présents.
Dans la section Services vers le bas, recherchez la section Points de terminaison, copiez l'adresse IP et collez-la dans le champ URL d'un nouvel onglet ou d'une nouvelle fenêtre du navigateur:
L'application Quiz s'ouvre dans un nouvel onglet, ce qui signifie que vous avez réussi le déploiement. Vous pouvez arrêter l'atelier ici ou utiliser le temps restant pour créer d'autres questionnaires.
Félicitations !
Ceci conclut le laboratoire à votre rythme, App Dev: déploiement de l'application dans Kubernetes Engine - Python. Vous avez exploité les ressources GCP et Kubenetes pour déployer une application Quiz.
Terminer votre quête
Ce laboratoire à votre rythme fait partie des quêtes Développement d'applications - Python et Cloud Development. Une quête est une série d'ateliers associés qui constituent une formation. Si vous terminez cette quête, vous obtenez le badge ci-dessus attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête pour obtenir immédiatement les crédits associés à cet atelier si vous l'avez suivi. Découvrez les autres quêtes Qwiklabs disponibles.
Copyright 2025 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.
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
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. 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 tirer parti des ressources de Google Cloud Platform, dont Container Builder et Container Registry, et des ressources de Kubernetes, comme les déploiements, les pods et les services.
Durée :
0 min de configuration
·
Accessible pendant 50 min
·
Terminé après 50 min