Cloud Code vous permet de créer une application Kubernetes basée sur un exemple ou sur un projet existant.
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 de 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: New Application (Cloud Code : Nouvelle application). - Sélectionnez Kubernetes application (Application Kubernetes) comme type d'exemple.
- Parmi les options disponibles, sélectionnez un exemple en fonction du langage que vous souhaitez utiliser : NodeJS, Go, Python ou Java.
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 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, qui Cloud Code permet de créer, déployer et déboguer Kubernetes applications
Utiliser votre propre application
Pour connaître la procédure à suivre pour utiliser un projet existant, consultez la section 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 à Run > Open Configurations (Exécuter > Ouvrir les configurations), puis modifiez ou ajoutez des configurations.Paramètres de compilation
Cloud Code est compatible avec les types d'artefacts Docker, Jib et Buildpacks. Pour savoir comment définir le compilateur souhaité et les paramètres associés, consultez le guide Configurer les préférences de compilation d'images de conteneurs.
Personnaliser votre configuration de lancement
Pour configurer l'exécution de votre application, vous pouvez personnaliser votre fichier skaffold.yaml
.
Vous pouvez également configurer le lancement en modifiant cloudcode.kubernetes
dans votre fichier .vscode/launch.json
.
Pour en savoir plus sur la personnalisation de votre configuration de lancement, consultez la section Kubernetes dans Cloud Code.
Exécuter votre application
Une fois votre application configurée, vous pouvez l'exécuter sur un cluster Kubernetes et
le visionner en direct,
skaffold dev
Vous pouvez exécuter votre application sur un cluster local (par exemple, Minikube ou Docker Desktop), Google Kubernetes Engine ou tout autre fournisseur cloud.
- Ouvrez la palette de commandes (
Ctrl
/Cmd
+Shift
+P
), puis exécutez la commande Cloud Code : Run on Kubernetes (Cloud Code : Exécuter sur Kubernetes). - Confirmez que vous souhaitez utiliser le contexte Kubernetes actuel pour exécuter l'application (ou basculez vers le contexte de votre choix). Pour en savoir plus sur la définition d'un contexte Kubernetes, consultez la section Définir la configuration.
Si vous avez choisi un cluster distant comme contexte, lorsque vous y êtes invité, choisissez un registre d'images vers lequel transférer les images. Si vous utilisez Container Registry, vous pouvez accéder à un registre existant ou spécifier le nom d'un registre à créer. Si l'API Artifact Registry est activée dans votre projet et qu'il contient au moins un dépôt Artifact Registry, vous pouvez accéder à un dépôt Artifact Registry existant et le sélectionner.
Les exemples suivants montrent comment spécifier l'emplacement de stockage des images de conteneurs pour certains registres courants :
Artifact Registry {region}-docker.pkg.dev/{project_id}/{repo-name} Container Registry gcr.io/{project_id} Docker Hub docker.io/{account}
Assurez-vous d'être correctement authentifié si vous utilisez un dépôt Docker Hub privé.AWS Container Repository (ECR) {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app} Azure Container Registry (ACR) {my_acr_name}.azurecr.io/{my-app} Cloud Code concatène ce registre d'images avec le nom d'image spécifié dans les fichiers manifeste Kubernetes afin de générer le nom final du dépôt d'images.
Pour en savoir plus, consultez le guide de gestion des registres d'images.
Ce choix est stocké dans votre configuration de lancement
cloudcode.kubernetes
(disponible dans .vscode/launch.json).Cloud Code crée ensuite vos conteneurs, les transfère dans le registre, applique les configurations Kubernetes au cluster et attend le déploiement.
Voir les journaux
En plus d'afficher les journaux des pods en cours d'exécution en tant que flux en direct dans la sortie du terminal à mesure que vous développez et exécutez votre application, vous pouvez consulter les journaux d'un pod spécifique en accédant à la section Kubernetes.
Pour afficher les journaux d'un pod spécifique, procédez comme suit :
- Dans la section "Kubernetes", développez Déploiements.
Effectuez un clic droit sur le pod pour lequel vous souhaitez consulter les journaux, puis cliquez sur Afficher les journaux.
La visionneuse de journaux s'ouvre.
Apporter des modifications, recréer et nettoyer
Si vous avez défini le mode de surveillance surfalse
dans votre configuration de lancement et que vous souhaitez
Apportez des modifications à votre application, puis recompilez-la et redéployez-la:
Apportez les modifications souhaitées, puis enregistrez-les.
Dans la barre d'outils de débogage, cliquez sur Pause (
F6
), puis sur Restart (Redémarrer) (Ctrl/Cmd + Shift + F5
) pour reconstruire et redéployer l'application.Pour arrêter d'exécuter l'application, cliquez sur Stop (Arrêter) dans la barre d'outils de débogage.
Une fois l'application arrêtée, toutes les ressources Kubernetes déployées sont supprimées du cluster. Vous pouvez modifier ce comportement à l'aide de l'cleanUp
dans votre configuration de lancement.
Stocker des secrets
Si votre code inclut des données potentiellement sensibles telles que des clés API, des mots de passe et des certificats, nous vous recommandons de les stocker en tant que secrets. Avec Cloud Code, vous pouvez stocker ces secrets en toute sécurité dans Secret Manager et les récupérer de manière automatisée lorsque vous en avez besoin.
Pour plus d'informations sur la création et la gestion des secrets avec Cloud Code, consultez le guide de Secret Manager.
Afficher les détails de la ressource
La section "Kubernetes" affiche les clusters, les espaces de noms, les nœuds et les charges de travail (déploiements, ensembles d'instances répliquées, pods et conteneurs), de services et d'entrées les configurations (secrets et mappages de configuration, par exemple) et le stockage (volumes, par exemple). La section Kubernetes vous permet d'effectuer des actions uniques sur certaines de ces ressources.
Pour en savoir plus sur l'affichage des détails des ressources, consultez la présentation de Kubernetes.
Étape suivante
- Explorez vos options de compilation avec les buildpacks, Jib ou Docker.
- Utilisez la synchronisation des fichiers et le rechargement à chaud pour accélérer le développement.
- En savoir plus sur l'assistance à l'édition YAML de Cloud Code