Tutoriel : Exécuter et déboguer localement avec Bridge to Kubernetes sur Visual Studio

Dans ce tutoriel, vous apprenez à rediriger le trafic entre votre cluster Kubernetes et votre ordinateur de développement. Ce tutoriel utilise Bridge to Kubernetes et Visual Studio pour déboguer un service. Pour utiliser Visual Studio Code, consultez Exécuter et déboguer localement avec Bridge to Kubernetes et VS Code.

Pour en savoir plus sur Bridge to Kubernetes, consultez Comment fonctionne Bridge to Kubernetes.

Dans ce tutoriel, vous allez apprendre à :

  • Vous connecter à votre cluster avec Bridge to Kubernetes.
  • Router les demandes vers un service exécuté localement pour le développement.
  • Déboguer un service en cours d’exécution sur votre machine locale.

Prérequis

Configurer un service

Ce tutoriel utilise Bridge to Kubernetes avec un exemple d’application todo simple sur n’importe quel cluster Kubernetes.

L’exemple d’application a un front-end pour l’interaction et un back-end qui fournit un stockage persistant.

  1. Ouvrez une fenêtre Bash et vérifiez que votre cluster est disponible et prêt. Ensuite, définissez le contexte sur ce cluster.

    kubectl cluster-info
    kubectl config use-context <kubernetes-cluster>
    
  2. Clonez le dépôt de l’exemple.

    git clone https://github.com/Azure/Bridge-To-Kubernetes
    
  3. Remplacez le répertoire par samples/todo-app, puis créez un espace de noms pour l’exemple.

    kubectl create namespace todo-app
    
  4. Appliquez le manifeste de déploiement :

    kubectl apply -n todo-app -f deployment.yaml
    

    Ce déploiement simple expose le front-end avec un service de type LoadBalancer. Attendez que tous les pods soient en cours d’exécution et que l’IP externe du service frontend soit disponible.

    Si vous testez avec MiniKube, utilisez minikube tunnel pour résoudre une IP externe. Si vous utilisez AKS ou un autre fournisseur Kubernetes basé sur le cloud, une IP externe est automatiquement attribuée.

  5. Utilisez la commande suivante pour monitorer le service frontend jusqu’à ce qu’il soit opérationnel :

    kubectl get service -n todo-app frontend --watch
    
    NAME       TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)        AGE
    frontend   LoadBalancer   10.0.245.78   10.73.226.228   80:31910/TCP   6m26s
    

Se connecter au cluster

  1. Ouvrez Visual Studio. Dans la fenêtre Démarrer, sélectionnez Continuer sans code.

  2. Sélectionnez Ouvrir>Projet/solution, puis recherchez le projet samples\todo-app\database-api\databaseApi.csproj et sélectionnez Ouvrir.

  3. Dans le projet, sélectionnez Bridge to Kubernetes dans les paramètres de lancement, comme indiqué ici :

    Screenshot shows debugging tools with Bridge to Kubernetes selected.

  4. Sélectionnez le bouton Démarrer à côté de Bridge to Kubernetes. Dans la boîte de dialogue Créer un profil pour Bridge to Kubernetes, entrez les valeurs suivantes :

    • Sélectionnez le nom de votre cluster.
    • Sélectionnez todo-app pour votre espace de noms.
    • Sélectionnez database-api pour la redirection du service.
    • Sélectionnez la même URL que celle que vous avez utilisée précédemment pour lancer votre navigateur.

    Screenshot shows the Create profile for Bridge to Kubernetes dialog box with the values entered.

  5. Si vous souhaitez une exécution isolée, sélectionnez Activer l’isolement du routage. Si vous activez l’isolement du routage, les autres utilisateurs du cluster ne sont pas affectés par vos changements. Le mode Isolement route vos demandes vers la copie de chacun de vos services affectés. Il route le reste du trafic normalement. Pour plus d’informations, consultez Comment fonctionne Bridge to Kubernetes.

  6. Sélectionnez Enregistrer et déboguer pour enregistrer vos changements.

    Screenshot shows the todo service displayed from your debugging, with an entry box for tasks.

    Note

    EndpointManager vous invite à autoriser des privilèges élevés sur votre fichier hosts.

    Votre ordinateur de développement se connecte au cluster. La barre d’état indique que vous êtes connecté au service database-api.

    Screenshot shows the status bar that verifies that your development computer is connected.

  7. Essayez d’entrer des tâches et de les marquer comme terminées.

  8. Sélectionnez Déboguer>Arrêter le débogage pour arrêter le débogage. Le raccourci de cette action est Maj+F5, ou utilisez le bouton Arrêter le débogage dans la barre d’outils.

Bridge to Kubernetes redirige tout le trafic du service database-api. Il le redirige vers la version de votre application qui se trouve sur votre ordinateur de développement. Bridge to Kubernetes reroute également tout le trafic sortant de l’application vers votre cluster Kubernetes.

Notes

Par défaut, l’arrêt de la tâche de débogage déconnecte également votre ordinateur de développement de votre cluster Kubernetes. Pour changer ce comportement, sélectionnez Outils>Options, puis Outils de débogage Kubernetes. Définissez Déconnecter après le débogage sur False.

Screenshot shows the Disconnect After Debugging value in the Kubernetes Debugging Tools.

Après la mise à jour de ce paramètre, votre ordinateur de développement reste connecté quand vous arrêtez et démarrez le débogage. Pour déconnecter votre ordinateur de développement de votre cluster, cliquez sur le bouton Déconnecter de la barre d’outils.

Définir un point d'arrêt

Dans cette section, vous définissez un point d’arrêt dans votre service.

  1. Dans l’Explorateur de solutions, sélectionnez MongoHelper.cs pour ouvrir le fichier dans l’éditeur. Si vous ne voyez pas l’Explorateur de solutions, sélectionnez Afficher>Explorateur de solutions.

  2. Définissez votre curseur sur la première ligne du corps de la méthode CreateTask. Sélectionnez ensuite Déboguer>Activer/désactiver le point d’arrêt pour définir un point d’arrêt.

    Screenshot shows the CreateTask method with a breakpoint set in the first line.

    Le raccourci de cette action est F9.

  3. Sélectionnez le bouton Démarrer à côté de Bridge to Kubernetes, comme vous l’avez fait dans la section précédente. Le débogage commence par les valeurs que vous avez entrées précédemment.

  4. Dans le navigateur qui s’ouvre, entrez une valeur dans les todos, puis sélectionnez Entrée. Le code atteint le point d’arrêt que vous avez entré. Quand vous effectuez des tâches de débogage réelles, vous pouvez utiliser les options de débogage pour parcourir le code.

  5. Sélectionnez Déboguer>Arrêter le débogage pour arrêter le débogage.

  6. Pour supprimer le point d’arrêt, sélectionnez cette ligne, puis sélectionnez Déboguer>Activer/désactiver le point d’arrêt ou sélectionnez F9.

Modifier le profil de lancement

Si vous devez changer la façon dont Bridge to Kubernetes se connecte à votre cluster, dans cette section, modifiez les paramètres du profil de lancement.

  1. Cliquez sur la flèche à côté du bouton Bridge to Kubernetes, puis cliquez sur Propriétés de débogage de databaseApi. Screenshot shows the Bridge to Kubernetes drop down menu.

  2. Cliquez sur le lien Modifier le profil de Bridge to Kubernetes dans la boîte de dialogue Profils de lancement. Screenshot shows Launch Profiles dialog with a link to edit the Bridge to Kubernetes profile

Nettoyer les ressources

Si vous avez utilisé l’exemple d’application todo pour ce tutoriel, vous pouvez le supprimer de votre cluster à partir du portail Azure. Si vous avez cloné ce dépôt localement, vous pouvez le supprimer manuellement.

Étapes suivantes

Pour en savoir plus sur Bridge to Kubernetes, consultez Comment fonctionne Bridge to Kubernetes.

Pour plus d’informations sur les fonctionnalités prises en charge et obtenir une feuille de route pour Bridge to Kubernetes, consultez Feuille de route Bridge to Kubernetes.

Pour savoir comment connecter votre ordinateur de développement à un cluster avec Visual Studio Code, consultez cet article :