arrow_back

Déployer des applications dans Google Cloud

Accédez à plus de 700 ateliers et cours

Déployer des applications dans Google Cloud

Atelier 1 heure 30 minutes 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.
Accédez à plus de 700 ateliers et cours

Présentation

Dans cet atelier, vous allez déployer des applications sur les services Google Cloud App Engine, Kubernetes Engine et Cloud Run.

Architecture des services Google Cloud App Engine, Kubernetes Engine et Cloud Run

Objectifs

Dans cet atelier, vous apprendrez à effectuer les opérations suivantes :

  • Télécharger une application exemple à partir de GitHub
  • Déployer l'application sur App Engine
  • Déployer une application dans Kubernetes Engine
  • Déployer dans Cloud Run

Configurer l'environnement de votre 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.

Tâche 1 : Créer une application Python simple

Vous avez besoin de code source à gérer. Vous allez donc créer une application Web Python Flask simple. L'application sera à peine plus sophistiquée que "Hello World", mais elle suffira pour tester le pipeline que vous vous apprêtez à créer.

  1. Dans la console Cloud, cliquez sur Activer Cloud Shell (Icône Activer Cloud Shell).
  2. Cliquez sur Continuer si vous y êtes invité.

3.9. Saisissez la commande suivante dans Cloud Shell pour créer un dossier nommé gcp-course :

mkdir gcp-course
  1. Accédez au dossier que vous venez de créer :
cd gcp-course
  1. Créez un dossier nommé deploying-apps-to-gcp :
mkdir deploying-apps-to-gcp
  1. Accédez au dossier que vous venez de créer :
cd deploying-apps-to-gcp
  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur (Icône de l'éditeur) pour ouvrir l'éditeur de code. Si vous y êtes invité, cliquez sur Ouvrir dans une nouvelle fenêtre.
  2. Sélectionnez le dossier gcp-course > deploying-apps-to-gcp dans l'arborescence de l'explorateur à gauche.
  3. Cliquez sur deploying-apps-to-gcp.
  4. Cliquez sur Nouveau fichier.
  5. Nommez le fichier main.py, puis appuyez sur Entrée.
  6. Collez le code suivant dans le fichier que vous venez de créer :
from flask import Flask, render_template, request app = Flask(__name__) @app.route("/") def main(): model = {"title": "Hello GCP."} return render_template('index.html', model=model) if __name__ == "__main__": app.run(host='0.0.0.0', port=8080, debug=True, threaded=True)
  1. Pour enregistrer les modifications, appuyez sur Ctrl+S.
  2. Cliquez sur le dossier deploying-apps-to-gcp.
  3. Cliquez sur Nouveau dossier.
  4. Nommez le dossier templates, puis appuyez sur Entrée.
  5. Effectuez un clic droit sur le dossier templates, puis créez un fichier nommé layout.html.
  6. Ajoutez le code suivant et enregistrez le fichier comme tout à l'heure :
<!doctype html> <html lang="en"> <head> <title>{{model.title}}</title> <!-- Bootstrap CSS --> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css"> </head> <body> <div class="container"> {% block content %}{% endblock %} <footer></footer> </div> </body> </html>
  1. Toujours dans le dossier "templates", ajoutez encore un nouveau fichier nommé index.html.

  2. Ajoutez le code suivant et enregistrez le fichier comme tout à l'heure :

{% extends "layout.html" %} {% block content %} <div class="jumbotron"> <div class="container"> <h1>{{model.title}}</h1> </div> </div> {% endblock %}
  1. Dans Python, les conditions préalables des applications sont gérées à l'aide de pip. Vous allez maintenant ajouter un fichier qui liste les conditions préalables de cette application.

  2. Dans le dossier deploying-apps-to-gcp (pas le dossier "templates"), créez un fichier en cliquant sur Nouveau fichier, puis ajoutez le code suivant au fichier et enregistrez-le en tant que requirements.txt :

Flask==2.0.3 itsdangerous==2.0.1 Jinja2==3.0.3 werkzeug==2.2.2

Tâche 2 : Définir une compilation Docker

Pour pouvoir utiliser Docker, commencez par créer un fichier nommé Dockerfile. Celui-ci définit la manière dont se construit un conteneur Docker. C'est ce que nous allons voir à présent.

  1. Dans le dossier deploying-apps-to-gcp, cliquez sur Nouveau fichier et nommez le fichier Dockerfile.

Le fichier Dockerfile sert à définir la manière dont est construit le conteneur.

  1. Ajoutez les éléments suivants :
FROM python:3.9 WORKDIR /app COPY . . RUN pip install gunicorn RUN pip install -r requirements.txt ENV PORT=8080 CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 main:app
  1. Pour tester le programme, créez un conteneur Docker de l'image en saisissant la commande suivante :
docker build -t test-python .
  1. Pour exécuter l'image Docker, saisissez la commande suivante :
docker run --rm -p 8080:8080 test-python
  1. Pour afficher le programme en cours d'exécution, cliquez sur Aperçu sur le Web (Icône Aperçu sur le Web) dans la barre d'outils de Google Cloud Shell. Sélectionnez ensuite Prévisualiser sur le port 8080.

Le programme doit être affiché dans un nouvel onglet du navigateur.

  1. Dans Cloud Shell, appuyez sur Ctrl+C pour arrêter le programme.

Tâche 3 : Déployer l'application sur App Engine

App Engine est une plate-forme de déploiement entièrement automatisée. Elle est compatible avec de nombreux langages, dont Python, Java, JavaScript et Go. Pour l'utiliser, vous allez créer un fichier de configuration et déployer vos applications à l'aide de quelques commandes simples. Dans cette tâche, vous allez créer un fichier nommé app.yaml et le déployer sur App Engine.

  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur (Icône Éditeur Cloud Shell), puis sur Ouvrir dans une nouvelle fenêtre si nécessaire.
  2. Sélectionnez le dossier gcp-course/deploying-apps-to-gcp dans l'arborescence de l'explorateur à gauche.
  3. Cliquez sur Nouveau fichier, nommez le fichier app.yaml, puis appuyez sur Entrée.
  4. Collez le code suivant dans le fichier que vous venez de créer :
runtime: python39
  1. Enregistrez les modifications.
Remarque : Vous pouvez ajouter d'autres paramètres au fichier app.yaml, mais dans le cas présent, seul l'environnement d'exécution du langage est requis.
  1. Dans un projet, une application App Engine doit être créée. Pour cela, utilisez la commande gcloud app create et indiquez la région dans laquelle vous souhaitez créer l'application. Cliquez sur Ouvrir le terminal, puis saisissez la commande suivante. Cliquez sur Autoriser si vous y êtes invité :
gcloud app create --region={{{project_0.startup_script.app_region| Region}}}
  1. Déployez maintenant votre application à l'aide de la commande suivante :
gcloud app deploy --version=one --quiet Remarque : L'exécution de cette commande prend quelques minutes.
  1. Dans la barre de titre de la console Google Cloud, saisissez App Engine dans le champ de recherche, puis cliquez sur App Engine dans la section "Résultats de recherche".

  2. En haut à droite du tableau de bord, un lien vers votre application est affiché. Il doit être semblable à celui-ci :

Exemple de lien d&#39;application

Remarque : Par défaut, l'URL d'une application App Engine se présente sous la forme https://project-id.appspot.com.
  1. Cliquez sur le lien pour tester votre programme.

  2. Modifiez le programme pour découvrir avec quelle facilité App Engine gère les versions.

  3. Dans l'éditeur de code, développez le dossier /deploying-apps-to-gcp dans le volet de navigation de gauche. Cliquez ensuite sur main.py pour l'ouvrir.

  4. Dans la fonction main(), remplacez le titre par Hello App Engine, comme indiqué ci-dessous :

@app.route("/") def main(): model = {"title" "Hello App Engine"} return render_template('index.html', model=model)
  1. Cliquez sur Fichier > Enregistrer dans la barre d'outils de l'éditeur de code pour enregistrer vos modifications.

  2. Déployez maintenant la version 2 avec la commande suivante :

gcloud app deploy --version=two --no-promote --quiet Remarque : Le paramètre --no-promote indique à App Engine de continuer à diffuser les requêtes avec l'ancienne version. Cela vous permet de tester la nouvelle version avant de la mettre en production.
  1. Une fois la commande terminée, revenez au tableau de bord App Engine. Cliquez à nouveau sur le lien : la version 1 s'affiche toujours. Le message Hello GCP doit s'afficher. Cela est dû au paramètre --no-promote de la commande précédente.

  2. À gauche, cliquez sur l'onglet Versions. Notez que deux versions sont listées.

Remarque : Vous devrez peut-être cliquer sur Actualiser pour afficher la version 2.
  1. Cliquez sur le lien de la version 2 pour la tester. Le message Hello App Engine doit s'afficher.

  2. Pour migrer le trafic de production vers la version 2, cliquez sur Répartir le trafic en haut. Passez à la version 2, puis cliquez sur Enregistrer.

  3. Patientez quelques instants. Actualisez l'onglet du navigateur qui a affiché le message Hello GCP. La nouvelle version doit maintenant être affichée.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer une application sur App Engine

Tâche 4 : Déployer une application sur Kubernetes Engine avec Cloud Build et Artifact Registry

Kubernetes Engine vous permet de créer un cluster de machines et d'y déployer un nombre indéfini d'applications. Kubernetes extrait les détails de la gestion des machines et vous permet d'automatiser le déploiement de vos applications à l'aide de commandes CLI simples.

Pour déployer une application sur Kubernetes, vous devez d'abord créer le cluster. Vous devrez ensuite ajouter un fichier de configuration pour chaque application que vous déploierez sur le cluster.

  1. Dans le menu de navigation Icône du menu de navigation, cliquez sur Kubernetes Engine. Si un message vous indique que l'API Kubernetes est en cours d'initialisation, attendez que l'opération se termine.

  2. Cliquez sur Créer un cluster, puis sur Passer au mode standard. Confirmez votre choix en cliquant sur Passer au mode standard.

  3. Cliquez sur Zonal pour le type d'emplacement, puis sélectionnez la zone . Acceptez toutes les autres variables par défaut, puis cliquez sur Créer. La création du cluster Kubernetes Engine prend quelques minutes. Lorsque le cluster est prêt, une coche verte apparaît.

  4. Cliquez sur les trois points à droite du cluster, puis sur Connecter.

  5. Dans l'écran Se connecter au cluster, cliquez sur Exécuter dans Cloud Shell. Cloud Shell s'ouvre alors, et la commande de connexion est saisie automatiquement.

  6. Appuyez sur Entrée pour vous connecter au cluster.

  7. Pour tester votre connexion, saisissez la commande suivante :

kubectl get nodes

Cette commande affiche uniquement les machines de votre cluster. Si cela fonctionne, vous êtes connecté.

  1. Dans Cloud Shell, cliquez sur Ouvrir l'éditeur (Icône Éditeur Cloud Shell).
  2. Développez le dossier gcp-course/deploying-apps-to-gcp dans le volet de navigation de gauche. Cliquez ensuite sur main.py pour l'ouvrir.
  3. Dans la fonction main(), remplacez le titre par Hello Kubernetes Engine, comme indiqué ci-dessous :
@app.route("/") def main(): model = {"title" "Hello Kubernetes Engine"} return render_template('index.html', model=model)
  1. Enregistrez votre modification.
  2. Ajoutez un fichier nommé kubernetes-config.yaml au dossier gcp-course/deploying-apps-to-gcp.
  3. Collez le code suivant dans ce fichier pour configurer l'application :
--- apiVersion: apps/v1 kind: Deployment metadata: name: devops-deployment labels: app: devops tier: frontend spec: replicas: 3 selector: matchLabels: app: devops tier: frontend template: metadata: labels: app: devops tier: frontend spec: containers: - name: devops-demo image: <YOUR IMAGE PATH HERE> ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: devops-deployment-lb labels: app: devops tier: frontend-lb spec: type: LoadBalancer ports: - port: 80 targetPort: 8080 selector: app: devops tier: frontend

Remarque : Dans la première section du fichier YAML ci-dessus, vous configurez un déploiement. Ici, vous déployez trois instances de votre application Web Python. Repérez l'attribut image. Vous allez mettre à jour cette valeur avec votre image dans la minute qui suit sa création. Dans la deuxième section, vous configurez un service du type "équilibreur de charge". L'équilibreur de charge dispose d'une adresse IP publique. Les utilisateurs accéderont à votre application via l'équilibreur de charge.

Pour en savoir plus sur les déploiements et les services Kubernetes, consultez les liens ci-dessous :

  1. Dans Cloud Shell, saisissez la commande suivante pour créer un dépôt Artifact Registry nommé devops-demo :
gcloud artifacts repositories create devops-demo \ --repository-format=docker \ --location={{{ project_0.default_region | "REGION" }}}
  1. Pour configurer Docker afin qu'il s'authentifie sur le dépôt Docker Artifact Registry, saisissez la commande suivante :
gcloud auth configure-docker {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev
  1. Pour utiliser Kubernetes Engine, vous devez créer une image Docker. Saisissez les commandes suivantes pour créer l'image avec Cloud Build et la stocker dans Artifact Registry :
cd ~/gcp-course/deploying-apps-to-gcp gcloud builds submit --tag {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-demo/devops-image:v0.2 .
  1. Lorsque l'exécution de la commande précédente est terminée, le nom de l'image figure dans le résultat. Le nom de l'image se présente sous la forme -docker.pkg.dev/PROJECT_ID/devops-demo/devops-image:v0.2.

  2. Sélectionnez le nom de votre image et copiez-le dans le presse-papiers. Collez cette valeur dans le fichier kubernetes-config.yaml en remplaçant la chaîne <YOUR IMAGE PATH HERE>.

Le résultat doit ressembler à ceci :

spec: containers: - name: devops-demo image: {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/PROJECT_ID/devops-demo/devops-image:v0.2 ports:
  1. Saisissez la commande Kubernetes suivante pour déployer votre application :
kubectl apply -f kubernetes-config.yaml
  1. Dans le fichier de configuration, trois instances répliquées de l'application ont été spécifiées. Saisissez la commande suivante pour voir si trois instances ont été créées :
kubectl get pods

Assurez-vous que tous les pods sont prêts. Si ce n'est pas le cas, patientez quelques secondes, puis réessayez.

  1. Un équilibreur de charge a également été ajouté dans le fichier de configuration. Saisissez la commande suivante pour voir s'il a été créé :
kubectl get services

Le résultat doit ressembler à ceci :

Résultat

Si l'adresse IP externe de l'équilibreur de charge indique "en attente", patientez quelques secondes, puis réessayez.

  1. Lorsque vous disposez d'une adresse IP externe, ouvrez un onglet du navigateur et envoyez une requête à cette adresse. Le message Hello Kubernetes Engine doit s'afficher. L'opération peut prendre quelques secondes.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer une application sur Kubernetes Engine

Tâche 5 : Déployer dans Cloud Run

Cloud Run simplifie et automatise les déploiements dans Kubernetes. Lorsque vous utilisez Cloud Run, vous n'avez pas besoin d'utiliser un fichier de configuration. Il vous suffit de choisir un cluster pour votre application. Avec Cloud Run, vous pouvez utiliser un cluster géré par Google ou votre propre cluster Kubernetes.

Pour utiliser Cloud Run, votre application doit être déployée à l'aide d'une image Docker et elle doit être sans état.

  1. Ouvrez l'éditeur de code Cloud Shell et développez le dossier gcp-course/deploying-apps-to-gcp dans le volet de navigation de gauche. Cliquez ensuite sur main.py pour l'ouvrir.
  2. Dans la fonction main(), remplacez le titre par Hello Cloud Run, comme indiqué ci-dessous :
@app.route("/") def main(): model = {"title" "Hello Cloud Run"} return render_template('index.html', model=model)
  1. Enregistrez votre modification.

  2. Pour utiliser Cloud Run, vous devez créer une image Docker. Dans Cloud Shell, saisissez les commandes suivantes pour créer l'image avec Cloud Build et la stocker dans Artifact Registry :

cd ~/gcp-course/deploying-apps-to-gcp gcloud builds submit --tag {{{ project_0.default_region | "REGION" }}}-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-demo/cloud-run-image:v0.1 .
  1. Une fois l'image créée, dans la barre de titre de la console Google Cloud, saisissez Cloud Run dans le champ de recherche, puis cliquez sur Cloud Run dans la section "Produits et pages".

  2. Cliquez sur Créer un service. Cette action active l'API Cloud Run.

  3. Cliquez sur le lien Sélectionner dans la zone de texte URL de l'image du conteneur, puis sur Artifact Registry. Dans la boîte de dialogue qui s'affiche, développez Region-docker.pkg.dev/$DEVSHELL_PROJECT_ID/devops-demo > cloud-run-image, puis sélectionnez l'image listée. Cliquez ensuite sur Sélectionner.

  4. Dans Nom du service, saisissez hello-cloud-run, puis sélectionnez la région .

  5. Dans Authentification, sélectionnez Autoriser les appels non authentifiés.

  6. Dans Conteneur(s), volumes, mise en réseau et sécurité, sélectionnez Par défaut dans la section Environnement d'exécution.

  7. Dans Scaling de révision, définissez le nombre maximal d'instances sur 6. Conservez les autres valeurs par défaut.

  8. Pour finir, cliquez sur Create (Créer).

  9. Le déploiement du service ne devrait pas prendre beaucoup de temps. Lorsqu'une coche verte s'affiche, cliquez sur l'URL générée automatiquement pour l'application. Le message Hello Cloud Run doit s'afficher.

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer une application sur Cloud Run

Félicitations !

Dans cet atelier, vous avez déployé des applications sur les services Google Cloud App Engine, Kubernetes Engine et Cloud Run.

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

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.