Utiliser minikube pour le développement local dans Cloud Code pour VS Code

Cloud Code installe et gère automatiquement minikube. Si vous avez désactivé la gestion des dépendances, ajoutez le binaire minikube à votre PATH.

Avant de commencer

  1. installer Git de sorte que Cloud Code peut effectuer des opérations Git, comme cloner un exemple.
  2. installer le plug-in Cloud Code ; si ce n'est pas déjà fait.

Créer une application à partir d'un modèle

Cloud Code est fourni avec un ensemble exemple de code des modèles pour vous lancer rapidement. Pour créer une application Kubernetes à l'aide de un exemple existant, procédez comme suit:

  1. Lancez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez Cloud Code: Nouvelle application.
  2. Sélectionnez Kubernetes application (Application Kubernetes) comme type d'exemple.
  3. Sélectionnez un échantillon basé sur le langage que vous souhaitez utiliser parmi les options: NodeJS, Go, Python et Java.
  4. Choisissez l'emplacement de votre choix pour l'application sur votre ordinateur local, puis cliquez sur Create new application (Créer une application) pour enregistrer.

    Cloud Code clone l'exemple que vous avez choisi et ouvre votre nouveau projet pour l'utiliser.

Exemple de structure d'application

Tous les exemples d'application ont une structure quasiment identique, quel que soit le langage. Cette structure n'est pas la seule possible, mais elle est recommandée lors du démarrage.

Par exemple, la structure de l'application Node.js Guestbook ressemble à ceci :

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

En observant de plus près cet exemple d'application de livre d'or Node.js Kubernetes, voici quelques fichiers clés et leurs utilisations :

  • .vscode
    • extensions.json : invitation à télécharger les extensions associées à l'ouverture du projet.
    • launch.json : configuration de lancement (de type cloudcode.kubernetes) pour exécuter ou déboguer l'application Kubernetes.
    • tasks.json : informations de configuration des tâches Visual Studio Code.
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml : spécification de pod pour les nœuds de backend.
    • guestbook-frontend.deployment.yaml : spécification de pod pour les nœuds de frontend.
    • mongo.deployment.yaml : spécification de pod pour la base de données.
  • src
    • (backend|frontend)/app.js : code Node.js contenant la logique de serveur Web.
    • (backend|frontend)/Dockerfile : permet de compiler l'image de conteneur pour notre programme.
  • skaffold.yaml: fichier de configuration de Skaffold, qui Cloud Code permet de créer, déployer et déboguer Kubernetes applications

Utiliser votre propre application

Pour savoir comment utiliser un projet existant, consultez Utiliser Cloud Code avec une application Kubernetes existante.

Définir votre contexte Kubernetes

Avant d'exécuter votre application, assurez-vous que vous êtes prêt à la déployer dans le contexte Kubernetes de votre choix. Vous pouvez le spécifier dans votre configuration.

Configuration

Lorsque vous utilisez la configuration d'exécution Cloud Code : Développer sur Kubernetes, vous pouvez : personnaliser votre déploiement en configurant les paramètres disponibles.

Pour ajouter ou modifier des configurations, accédez à Exécuter > Ouvrez "Configurations", puis modifier ou ajouter des configurations.

Créer et déployer dans un cluster minikube

Démarrer un cluster Minikube

Cloud Code installe et gère automatiquement minikube. Si vous avez désactivé la gestion des dépendances, ajoutez le binaire minikube à votre PATH.

  1. Lancez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes) et puis exécutez la commande Cloud Code: Control minikube (Contrôler minikube).
  2. Cliquez sur minikube dans le champ Choisir un cluster (profil) Minikube à contrôler. puis cliquez sur Démarrer.

Exécuter sur minikube

  1. Lancez la palette de commandes et exécutez Cloud Code: Exécuter sur Kubernetes.
  2. Cliquez sur Yes (Oui) à côté de Use current context (minikube) to run the app? (Utiliser le contexte actuel (minikube) pour exécuter l'application ?)
  3. Cloud Code exécute votre application dans un cluster minikube. Si vous y êtes invité, autorisez Cloud Shell à utiliser vos identifiants pour effectuer une appel d'API Google Cloud.

    Affichez les détails du déploiement dans la section Development sessions (Sessions de développement) de Cloud Code :

  4. Pour afficher les URL, cliquez sur URL de transfert dans le volet Sessions de développement. puis cliquez sur le lien URL pour ouvrir votre navigateur avec votre application.

Ouvrir un terminal interactif dans un conteneur

  1. Cliquez sur . Cloud Code, puis développez l'explorateur Development Sessions.
  2. Développez la section Ressources déployées, puis la section Pods.
  3. Effectuez un clic droit sur un conteneur, puis cliquez sur Get Terminal (Obtenir un terminal).

Suspendre ou arrêter un cluster Minikube

  1. Lancez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez la Commande Cloud Code: Contrôler minikube.
  2. Après l'option Choisir un cluster (profil) Minikube à contrôler, est affichée, cliquez sur minikube, puis sur Stop (Arrêter) ou Pause (Mettre en pause).

Créer et ajouter un cluster depuis un autre fournisseur cloud

Si vous utilisez un cluster sur site ou un cluster d'un autre fournisseur, tel que Azure ou AWS, utilisez les outils du fournisseur pour créer le cluster et l'ajouter à votre KubeConfig.

Travailler avec d'autres clusters locaux

En plus de minikube, vous pouvez travailler avec Cloud Code si vous utilisez Docker Desktop (pour Mac ou Windows).

Pour que Cloud Code fonctionne avec un cluster local, assurez-vous que votre configuration par défaut (par exemple, ~/.kube/config) contient bien votre cluster local. Ce cluster doit être défini comme contexte actuel.

Par exemple, si vous utilisez un cluster local, docker-for-desktop, avec Docker Desktop, définissez votre cluster préféré à l'aide de la commande suivante :

kubectl config use-context docker-for-desktop

Étape suivante

Obtenir de l'aide

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