Objectifs
Découvrez comment effectuer les tâches de développement suivantes dans l'éditeur Cloud Shell, un IDE de démonstration en ligne :
Créer un exemple d'application Kubernetes
Exécuter, mettre à jour et consulter les journaux de l'application dans votre environnement de développement.
Déployer une application dans un cluster GKE
Vous pouvez suivre une procédure similaire dans votre propre IDE si vous installez Cloud Code.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud :
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Avant de commencer
créer un cluster Kubernetes ; La section Créer un cluster et déployer une charge de travail vous explique comment procéder.
Choisir un projet Google Cloud et un cluster
Si vous déployez votre application sur GKE ultérieurement dans ce tutoriel, vous devrez spécifier un projet Google Cloud et un cluster GKE.
Accéder à la page Clusters GKE
Choisissez un projet qui contient un cluster GKE.
Notez le nom du projet et du cluster.
Vous aurez besoin de ces informations plus tard.
Créer une application dans l'éditeur Cloud Shell
Dans la console Google Cloud, ouvrez Cloud Shell en cliquant sur
Cloud Shell dans la barre des tâches.Cliquez sur
Ouvrir l'éditeur .Attendez que l'éditeur Cloud Shell s'initialise.
Dans l'éditeur Cloud Shell, cliquez sur Afficher > Palette de commandes.
Recherchez Cloud Code: New Application et cliquez dessus.
Sélectionnez Kubernetes Application, puis Go: Hello World.
Chaque framework de langage fournit des expériences légèrement différentes, et ce tutoriel décrit les fonctionnalités disponibles pour Go.
Dans la boîte de dialogue "Enregistrer", cliquez sur Créer une application.
L'éditeur Cloud Shell s'actualise et affiche les fichiers sources de votre application dans la vue de l'explorateur.
L'application se compose de :
Une application Web
go-hello-world
de base, , qui renvoie la réponse modélisée "It's running!" (Exécution en cours) à toutes les demandes reçuesmain.go
Une spécification de déploiement Kubernetes,
hello.deployment.yaml
Une spécification de service Kubernetes qui définit un équilibreur de charge pour l'application
hello.service.yaml
Un fichier Skaffold qui gère le workflow de création et de déploiement de l'application,
skaffold.yaml
Tester l'application dans votre environnement de développement
Si possible, exécutez les applications dans votre environnement de développement avant de les déployer sur GKE. Cela peut vous aider à identifier les problèmes potentiels sans utiliser de quota Google Cloud.
Pour exécuter l'application dans votre environnement d'éditeur Cloud Shell, procédez comme suit:
Dans l'éditeur Cloud Shell, cliquez sur Terminal > New Terminal.
Démarrez un cluster en exécutant la commande suivante:
minikube start
minikube est une implémentation Kubernetes légère qui crée une VM dans votre environnement local et déploie un cluster simple ne contenant qu'un seul nœud.
La configuration du cluster minikube peut prendre une minute.
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 Minikube configuré, créez et exécutez votre application :
Dans la barre d'état de l'éditeur Cloud Shell, cliquez sur
Cloud Code .Sélectionnez Run on Kubernetes (Exécuter sur Kubernetes).
Si vous y êtes invité, confirmez que vous souhaitez utiliser le contexte minikube actuel.
L'éditeur Cloud Shell crée votre application et la déploie sur le cluster minikube.
Observez l'état du déploiement dans la vue
Development sessions (Sessions de développement).Une fois le déploiement terminé, une coche verte apparaît à côté de l'option URL de transfert. L'icône de progression s'affiche à côté de Diffuser des journaux d'application.
Pour afficher votre application, examinez le volet Sessions de développement et recherchez URL de transfert de port > service.
Placez le pointeur sur
go-hello-world-external , puis cliquez sur Open URL (Ouvrir l'URL).
Modifier votre application
Lorsque vous modifiez un fichier source dans votre application, l'éditeur Cloud Shell compile et déploie automatiquement votre application sur le cluster auquel vous êtes actuellement connecté. Dans ce cas, vous êtes connecté à votre cluster minikube.
Pour modifier et redéployer l'application sur votre cluster minikube local :
Modifiez votre fichier
pour qu'il génère "It's redeployed!" (Application redéployée). Le fichier est enregistré automatiquement.main.go
Consultez la vue
Sessions de développement lorsque votre application est recréée et déployée.Affichez votre application redéployée comme précédemment :
Dans le volet Sessions de développement, recherchez URL de transfert de port > service.
Placez le pointeur sur
go-hello-world-external , puis cliquez sur Open URL (Ouvrir l'URL).
Afficher les journaux d'application
Dans la barre de menu de l'éditeur Cloud Shell, sélectionnez View > Command Palette (Affichage > Palette de commandes).
Recherchez Cloud Code: View logs et cliquez dessus.
La visionneuse de journaux s'ouvre.
Dans
Déploiement , sélectionnezgo-hello-world
.La visionneuse de journaux est filtrée pour n'afficher que les journaux de votre application
go-hello-world
.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.
Pour afficher les journaux nouvellement générés dans la visionneuse de journaux, cliquez sur
Refresh (Actualiser) .
Déployer votre application dans un cluster GKE
Ajoutez votre cluster GKE à la liste des clusters sur lesquels vous pouvez effectuer le déploiement :
Dans la vue
Kubernetes , cliquez sur Ajouter un cluster au KubeConfig.Dans la boîte de dialogue Choose a platform (Choisir une plate-forme), cliquez sur Google Kubernetes Engine.
Si vous êtes invité à activer l'API Google Cloud, cliquez sur Oui.
Attendez que l'éditeur Cloud Shell trouve les clusters dans votre projet Google Cloud.
Dans la boîte de dialogue Créer ou choisir un cluster GKE, sélectionnez le nom du cluster que vous avez créé, hello-world-cluster.
Dans la barre d'état de l'éditeur Cloud Shell, cliquez sur
Cloud Code , puis sélectionnez Run on Kubernetes (Exécuter sur Kubernetes).Lorsque vous êtes invité à sélectionner un contexte pour votre requête de déploiement, choisissez Use current context (Utiliser le contexte actuel) qui est défini sur votre cluster GKE.
Dans la boîte de dialogue Choose image repository (Choisir un dépôt d'images), sélectionnez gcr.io/PROJECT_NAME.
L'éditeur Cloud Shell crée votre application dans un conteneur et le stocke dans le dépôt que vous avez sélectionné.
Consultez la vue
Sessions de développement lorsque votre application est recréée et déployée.Pour afficher les messages de journal détaillés lors du déploiement de votre application sur GKE, cliquez sur le nœud Déployer sur le cluster dans la vue Sessions de développement.
Pour afficher votre application en cours d'exécution :
Fermez la vue en cliquant sur l'en-tête Sessions de développement.
Ouvrez la vue
Kubernetes .Développez votre cluster GKE.
Accédez à Espaces de noms > par défaut > Services > go-hello-world-external > Adresses IP externes.
Placez le curseur sur l'adresse IP, puis cliquez sur
Open URL (Ouvrir l'URL).
Vous avez créé et déployé une application GKE à partir d'un IDE.
Étapes suivantes
Consultez des exemples de code illustrant l'utilisation des produits Google Cloud.
Installez Cloud Code dans votre IDE
Effectuer un nettoyage pour éviter que des frais ne vous soient facturés. Si vous prévoyez de suivre d'autres tutoriels, attendez de les avoir terminés avant de procéder au nettoyage. Vous pouvez utiliser l'exemple de cluster Kubernetes dans la plupart des tutoriels GKE.