Cloud Code installe et gère automatiquement minikube. Si vous avez désactivé la gestion des dépendances, ajoutez le binaire minikube à votre fichier PATH
.
Avant de commencer
- Installez Git afin que Cloud Code puisse effectuer des opérations Git, comme le clonage d'un exemple.
- Si ce n'est pas déjà fait, installez le plug-in Cloud Code.
Créer une application à partir d'un modèle
Cloud Code est fourni avec un ensemble de modèles d'exemples de code pour vous aider à démarrer rapidement. Pour créer une application Kubernetes à l'aide d'un exemple existant, procédez comme suit:
- 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. - Sélectionnez Kubernetes application (Application Kubernetes) comme type d'exemple.
- Sélectionnez un exemple en fonction du langage que vous souhaitez utiliser parmi les options disponibles: NodeJS, Go, Python, Java.
Choisissez un emplacement d'application préféré 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 typecloudcode.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, utilisé par Cloud Code pour créer, déployer et déboguer des applications Kubernetes
Utiliser votre propre application
Pour en savoir plus sur l'utilisation d'un projet existant, consultez la page 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: Develop on Kubernetes, vous pouvez personnaliser votre déploiement en configurant les paramètres disponibles.
Pour ajouter ou modifier des configurations, accédez à Run > Open Configurations (Exécuter > Ouvrir les configurations), puis modifiez ou ajoutez des configurations.Créer et déployer sur 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 fichier PATH
.
- 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: Control minikube. - Cliquez sur minikube pour l'option Choisir un cluster Minikube (profil) à contrôler, puis cliquez sur Démarrer.
Exécuter sur minikube
- Lancez la palette de commandes et exécutez Cloud Code: Run on Kubernetes (Cloud Code : Exécuter sur Kubernetes).
- Cliquez sur Yes (Oui) à côté de l'option Use current context (minikube) to run the app? (Utiliser le contexte actuel (minikube) pour exécuter l'application ?)
Cloud Code exécute votre application dans un cluster minikube. Si vous y êtes invité, autorisez Cloud Shell à utiliser vos identifiants pour effectuer un appel d'API Google Cloud.
Affichez les détails du déploiement dans la section Sessions de développement de Cloud Code.
Pour afficher les URL, cliquez sur Portfoward URL (URL Portfoward) dans la section Development sessions (Sessions de développement), puis cliquez sur le lien URL pour ouvrir votre navigateur avec l'application en cours d'exécution.
Ouvrir un terminal interactif dans un conteneur
- Cliquez sur Cloud Code, puis développez l'explorateur Development Sessions (Sessions de développement).
- Développez la section Deployed Resources (Ressources déployées), puis la section Pods.
- Effectuez un clic droit sur un conteneur, puis cliquez sur Get Terminal (Obtenir un terminal).
Suspendre ou arrêter un cluster minikube
- 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: Control minikube. - Une fois que l'option Choose a Minikube cluster (profile) to control (Choisir un cluster Minikube (profil) à contrôler) apparaît, cliquez sur minikube, puis sur Stop (Arrêter) ou Pause (Suspendre).
Créer et ajouter un cluster provenant d'un autre fournisseur cloud
Si vous utilisez un cluster sur site ou un cluster d'un autre fournisseur tel qu'Azure ou AWS, créez le cluster et ajoutez-le à votre KubeConfig à l'aide des outils du fournisseur.
Utiliser 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
Étapes suivantes
- Utilisez la synchronisation des fichiers et le hot reload pour accélérer le développement.
- Déboguer votre application dans Cloud Code