Créer et déployer une application Web conteneurisée

Découvrez comment créer une application Web conteneurisée à l'aide de l'éditeur Cloud Shell, la tester localement, puis la déployer sur un cluster Google Kubernetes Engine (GKE).


Pour obtenir des instructions détaillées sur cette tâche directement dans l'éditeur Cloud Shell, cliquez sur Visite guidée :

Visite guidée


Avant de commencer

  1. Dans Google Cloud Console, accédez à la page de sélection du projet.

    Accéder au sélecteur de projet

  2. Sélectionnez ou créez un projet Google Cloud.

Créer votre application Web

Utilisez l'éditeur Cloud Shell comme environnement pour créer votre application. Les outils nécessaires au développement dans le cloud y sont préchargés.

Pour créer votre application :

  1. Lancer l'éditeur Cloud Shell.

  2. Si vous êtes invité à autoriser Cloud Code à utiliser vos identifiants pour effectuer un appel d'API Google Cloud, cliquez sur Autoriser.

  3. Depuis la barre d'état, ouvrez le menu Cloud Code.

  4. Sélectionnez New Application (Nouvelle application).

  5. Sélectionnez Kubernetes application (Application Kubernetes) comme type d'application exemple.

  6. Dans la liste d'exemples d'applications Kubernetes, sélectionnez Go:Hello World.

  7. Sélectionnez un dossier qui servira d'emplacement pour votre application, puis cliquez sur Créer une application.

L'éditeur Cloud Shell charge votre application dans un nouvel espace de travail. Une fois que l'éditeur est actualisé, votre application s'affiche dans la vue de l'explorateur.

Tester l'application dans un cluster local

Maintenant que vous avez créé votre application, vous pouvez l'exécuter dans un cluster Kubernetes local dans Cloud Shell :

  1. Pour ouvrir un terminal Cloud Shell, cliquez sur Terminal > New Terminal (Terminal > Nouveau terminal).
  2. Pour démarrer votre cluster minikube local, à partir de l'invite de commande du terminal, exécutez la commande suivante :

    minikube start
    

    La configuration du cluster minikube peut prendre une minute.

  3. Si vous êtes invité à autoriser Cloud Shell à effectuer des appels d'API Cloud, cliquez sur Autoriser.

    Une fois votre cluster configuré, un message semblable au suivant s'affiche :

    Done! kubectl is now configured to
    use "minikube" cluster...
    

Une fois le cluster local configuré, créez et exécutez cette application :

  1. Depuis la barre d'état, ouvrez le menu Cloud Code.
  2. Sélectionnez Run on Kubernetes (Exécuter sur Kubernetes).
  3. Si vous y êtes invité, confirmez que vous souhaitez utiliser le contexte minikube actuel.

    Ce processus prend quelques minutes. Vous pouvez consulter l'état du déploiement dans la vue Development sessions (Sessions de développement).

    Cliquez sur différents nœuds dans la vue "Sessions de développement" pour afficher les extraits de journal correspondant à la phase de déploiement sélectionnée.

  4. Une fois votre application créée et déployée, recherchez le nœud de transfert de port de votre service : dans la vue "Development sessions" (Sessions de développement), développez Port forward URLs > service > go-hello-world-external (URL de transfert de port > service > go-hello-world-external).

  5. Pour lancer votre application, pointez sur go-hello-world-external, puis cliquez sur  Open URL (Ouvrir l'URL).

Modifier votre application

Pour comprendre les composants de l'application Hello World, consultez le schéma dans le fichier readme.md de l'application. De manière générale, l'application se compose des éléments suivants :

  • Une application Web go-hello-world de base, main.go, qui renvoie la réponse modélisée "It's running!" (Exécution en cours) à toutes les demandes reçues
  • Un service d'équilibrage de charge go-hello-world-external, hello.service.yaml, qui expose l'application en décrivant un Service Kubernetes

Pour modifier l'application :

  1. Modifiez votre fichier main.go pour qu'il génère "It's redeployed!" (Application redéployée). Le fichier est enregistré automatiquement.
  2. Patientez jusqu'à la fin du processus de création et de déploiement. Vous pouvez surveiller la progression dans la vue Development sessions (Sessions de développement).

  3. Une fois votre application créée et déployée, recherchez le nœud de transfert de port de votre service : Development sessions > Port Forward URLs > service > go-hello-world-external (Sessions de développement > URL de transfert de port > service > go-hello-world-external).

  4. Pour lancer votre application, pointez sur go-hello-world-external, puis cliquez sur Open URL (Ouvrir l'URL).

Afficher les journaux d'application

Si vous souhaitez analyser votre application lorsqu'elle s'exécute, surveillez ses journaux dans la visionneuse :

  1. Lancez la visionneuse de journaux en ouvrant la palette de commandes via Ctrl/Cmd +Shift+P ou View > Command Palette (Afficher > Palette de commandes), puis exécutez Cloud Code: View Logs (Cloud Code : afficher les journaux).

    Cette vue vous permet de filtrer et parcourir les journaux de votre application.

  2. Utilisez les filtres Deployment (Déploiement) pour afficher les journaux de votre application, go-hello-world.

  3. Passez à l'onglet de votre application qui indique "It's redeployed!" (Service redéployé). Actualisez la page dans le navigateur, puis revenez à l'onglet Cloud Shell.

  4. Pour afficher les journaux nouvellement générés dans la visionneuse, cliquez sur  Refresh (Actualiser).

Créer un cluster Google Kubernetes Engine

Pour créer un cluster Google Kubernetes Engine sur lequel déployer votre application :

  1. Cliquez sur Icône Cloud Code Cloud Code, puis développez la section Kubernetes.

  2. Cliquez sur Ajouter un cluster à KubeConfig, puis sur Google Kubernetes Engine dans le menu Sélection rapide.

  3. Lorsque vous êtes invité à activer container.googleapis.com, cliquez sur Yes (Oui).

  4. Cliquez sur + Créer un cluster GKE.

  5. Choisissez Standard comme type de cluster.

  6. Cliquez sur Ouvrir pour autoriser Cloud Shell à ouvrir la console Google Cloud.

  7. Dans la console Google Cloud, utilisez le projet que vous avez créé, définissez la zone sur us-central1-a, puis le nom du cluster sur my-first-cluster.

  8. Cliquez sur Créer. La création du cluster prend quelques minutes.

  9. Une fois le cluster créé, dans le menu Sélection rapide, cliquez sur Actualiser la vue du cluster Kubernetes Actualiser.

  10. Lorsque le nom de votre nouveau cluster apparaît dans la liste, cliquez dessus. Votre nouveau cluster est ajouté à la configuration et configuré en tant que contexte actif.

Déployer votre application dans un cluster GKE

Enfin, déployez votre application sur le nouveau cluster :

  1. Dans le menu Cloud Code (accessible via la barre d'état), sélectionnez Exécuter sur Kubernetes.

  2. Vérifiez que vous utilisez le nouveau cluster comme contexte de votre application.

  3. Confirmez l'option par défaut pour le registre d'images.

  4. Patientez jusqu'à la fin du processus de création et de déploiement. Vous pouvez surveiller la progression dans la vue Development sessions (Sessions de développement).

  5. Une fois votre application créée et déployée, recherchez le nœud de transfert de port de votre service : dans la vue "Development sessions" (Sessions de développement), développez Port forward URLs > service > go-hello-world-external (URL de transfert de port > service > go-hello-world-external).

  6. Pour lancer votre application, pointez sur go-hello-world-external, puis cliquez sur  Open URL (Ouvrir l'URL).

Nettoyer

Pour supprimer uniquement le cluster que vous avez créé pour ce guide de démarrage rapide:

  1. Maintenez le pointeur sur le nom de votre cluster, puis cliquez sur Icône Ouvrir dans la console Google Cloud Ouvrir dans la console Google Cloud.
  2. Cliquez sur Supprimer et de nouveau sur Supprimer.

Pour supprimer votre projet (et les ressources associées, y compris les clusters) :

  1. Accédez à la page Projets de la console Google Cloud :

    Accéder à la page Projets

  2. Sélectionnez le projet que vous avez créé dans ce guide de démarrage rapide, puis cliquez sur Supprimer.

  3. Saisissez l'ID du projet pour confirmer, puis cliquez sur Arrêter.

    Cette opération ferme le projet et programme sa suppression.

Étapes suivantes