Exécuter et développer une application

Maintenant que vous êtes prêt, vous pouvez opter pour une exécution régulière de votre application ou lancer un cycle d'itération de développement sur votre IDE pour propager à votre application active toute modification apportée à votre source et à vos dépendances. Cette page utilise l'exemple d'application Guestbook pour illustrer l'exécution et le développement sur Kubernetes.

Choisir une action d'exécution

Exécution sur Kubernetes

Pour une exécution standard de votre application, vous pouvez utiliser la cible d'exécution Kubernetes "Run on Kubernetes" (Exécuter sur Kubernetes) icône d'action d'exécution afin de créer l'image et de déployer le projet sur votre cluster Kubernetes. Les sources et les dépendances de votre projet ne sont pas surveillées, et le processus Skaffold se termine une fois l'image et le déploiement terminés.

Déploiement standard à l'aide de l'action d'exécution

Pour plus d'informations sur la personnalisation de votre déploiement, reportez-vous aux Options de configuration disponibles.

Développement continu sur Kubernetes

Pour démarrer le cycle de développement sur votre cluster Kubernetes, cliquez sur l'action d'exécution pour "Deploy to Kubernetes" (Développer sur Kubernetes) icône d'action d'exécution. Une fois le cycle de développement lancé, Cloud Code, à l'aide de Skaffold, crée une image pour le projet, lui ajoute un tag, l'envoie au dépôt configuré et utilise kubectl pour déployer les fichiers manifestes Kubernetes du projet.

Démarrer le cycle de développement du cluster Kubernetes

Pour plus d'informations sur la personnalisation de votre déploiement, reportez-vous aux Options de configuration disponibles.

Prévisualiser votre application déployée

  1. Une fois que vous avez cliqué sur le bouton "Run" (Exécuter) de l'action d'exécution souhaitée, vous pouvez afficher les journaux d'application entrants dans la fenêtre de sortie.

    Une fois le déploiement démarré, la liste des ports transférés pour votre application déployée s'affiche.

    Afficher des journaux en continu depuis l'application Kubernetes

  2. Une fois le déploiement effectué, vous recevez une notification indiquant que votre service est désormais accessible via des URL locales. Cliquez sur "View" (Afficher) pour ouvrir le journal des événements.

    Notification indiquant que l'URL d'accès à votre application active est désormais disponible dans le journal des événements

    Dans le journal des événements, recherchez le port sur lequel votre application est diffusée. Cliquez sur le lien pour ouvrir votre navigateur avec votre application en cours d'exécution.

  3. Affichez la nouvelle application déployée.

    Exécuter l'application Guestbook sur localhost:8080

Afficher les journaux

Bien que vous puissiez, lors des phases de développement et d'exécution de votre application, afficher le flux en direct des journaux depuis les pods exécutés dans la sortie du terminal ; vous pouvez également afficher les journaux d'un pod spécifique en accédant à l'explorateur Kubernetes.

Pour afficher les journaux d'un pod spécifique, procédez comme suit :

  1. Accédez à l'explorateur Kubernetes. Vous pouvez y accéder depuis le panneau latéral de droite ou en suivant le menu Tools > Cloud Code > Kubernetes > View Cluster Explorer (Outils > Cloud Code > Kubernetes > Afficher l'explorateur de cluster).

    Le panneau de l'explorateur Kubernetes s'ouvre à l'aide de l'onglet de la barre des tâches de droite.

  2. Sélectionnez le pod pour lequel vous souhaitez consulter les journaux.

  3. Effectuez un clic droit sur le pod, puis sélectionnez Stream Logs (Diffuser des journaux). Vous pouvez également diffuser des journaux pour des conteneurs individuels exécutés dans des pods.

    Les journaux sont alors envoyés à la console de l'explorateur Kubernetes.

    Diffusion des journaux d'un pod à l'aide du menu contextuel pour les afficher dans la console de l'explorateur Kubernetes

Ajouter des fonctionnalités lors du développement sur Kubernetes

Si vous avez lancé un cycle d'itération de développement avec l'action "Develop on Kubernetes" (Développer sur Kubernetes) et ajouté des fonctionnalités à votre projet, vous verrez comment ces modifications sont déployées sur votre cluster Kubernetes sans avoir à arrêter ni supprimer le déploiement, à créer et ajouter manuellement des tags, ou à mettre à jour le cluster.

Si vous suivez l'application Guestbook, procédez comme suit :

  1. Ouvrez le fichier "FrontendController.java" à partir de src/main/java/cloudcode/guestbook/frontend et ajoutez ce nouveau point de terminaison à la classe FrontendController :

     @RequestMapping("/greeting")
     @ResponseBody
     public String greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return String.format("Hello from Kubernetes with IntelliJ, %s!", name);
     }
     ```
    
  2. Ajoutez les importations nécessaires pour les nouvelles annotations, RequestMapping et ResponseBody.

  3. Enregistrez les modifications (Ctrl/Cmd+S) ou compilez le projet : utilisez le menu Build (Compiler) > Build Project (Compiler le projet).

    Vous pouvez suivre les journaux de progression et de déploiement dans la fenêtre de la console. Une fois les modifications propagées, confirmez les mises à jour en accédant à la nouvelle URL du point de terminaison : localhost:8080/greeting.

    Afficher le point de terminaison créé dans un navigateur

  4. Lorsque vous avez terminé, cliquez sur le bouton "Stop" (Arrêter) pour mettre fin à la session de développement continu. Cette action entraîne la suppression par le plug-in de toutes les ressources Kubernetes utilisées pour la session de développement.

Afficher les détails de la ressource

Pour suivre l'état de vos ressources Kubernetes, vous pouvez utiliser l'explorateur Kubernetes, accessible depuis le panneau latéral de droite. Vous pouvez également y accéder via Tools (Outils), Cloud Code (Cloud Code), Kubernetes et View Cluster Explorer (Afficher l'explorateur de cluster).

Le panneau de l'explorateur Kubernetes s'ouvre à l'aide de l'onglet de la barre des tâches de droite.

L'explorateur Kubernetes vous permet d'accéder aux informations sur les clusters, les nœuds, les charges de travail, etc. Il permet également de définir un contexte actif, de diffuser et d'afficher les journaux, et de rechercher des descriptions des ressources.

Vous pouvez facilement exécuter un objet kubectl describe sur vos ressources déployées pour afficher leurs détails. Pour cela, cliquez avec le bouton droit de la souris sur leur libellé dans l'explorateur Kubernetes, puis sélectionnez Describe (Décrire).

Option de description disponible en cliquant avec le bouton droit sur une ressource sélectionnée dans le panneau de l'explorateur Kubernetes et en sélectionnant

Configuration

Lorsque vous utilisez les configurations d'exécution "Run on Kubernetes" (Exécuter sur Kubernetes) et "Develop on Kubernetes" (Développer sur Kubernetes), vous pouvez personnaliser votre déploiement en configurant les paramètres disponibles. Accédez aux options de configuration en sélectionnant "Run Configuration" (Exécuter la configuration) dans la liste déroulante, puis en sélectionnant "Edit Configurations" (Modifier les configurations).

  • Options Skaffold
    • Skaffold configuration (Configuration Skaffold) : sélectionne un fichier de configuration "skaffold.yaml". Détectée automatiquement si votre projet contient un fichier "skaffold.yaml".
    • Deployment profile (Profil de déploiement) : permet de sélectionner un profil parmi les options disponibles configurées dans votre fichier "skaffold.yaml".
    • Environment variables (Variables d'environnement) : vous permettent de configurer des variables d'environnement supplémentaires à transmettre au processus de déploiement de Skaffold. Les options Skaffold peuvent également être configurées en tant que variables d'environnement à utiliser dans ce champ. Reportez-vous à la documentation de référence de la CLI Skaffold pour obtenir la liste complète des variables d'environnement Skaffold disponibles.
    • Verbosité : permet de définir le niveau de verbosité de la sortie sur trace, debug, info, warn, error ou fatal. Le niveau de verbosité par défaut est warn.
  • Options Kubernetes
    • Le contexte de déploiement représente le contexte Kubernetes dans lequel votre application sera déployée. Le comportement par défaut est déployé dans le contexte de votre système actuel. Vous pouvez également choisir de déployer dans un contexte fixe en sélectionnant "Switch context and deploy to" (Changer de contexte et déployer vers) (dans la section "Déploiement" des paramètres d'exécution/de débogage). Cette option modifie le contexte actuel de votre système en fonction du contexte spécifié lors du déploiement. Sélectionner le contexte de déploiement Kubernetes dans une configuration d'exécution Cloud Code
    • Delete deployments when finished (Supprimer les déploiements lorsque vous avez terminé) : supprime les déploiements Kubernetes lorsque le processus est terminé. Il s'agit du comportement par défaut. Vous pouvez également activer/désactiver ce paramètre pour empêcher la suppression des déploiements.
  • Options de stockage d'images de conteneurs
  • Paramètres de compilation

Assistance

Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.