Cloud Code pour VS Code utilise des fichiers de configuration `skaffold.yaml` pour offrir une expérience de développement fluide pour les applications Kubernetes, en automatisant de nombreuses tâches liées à la création et au déploiement d'applications Kubernetes. Cela permet à Cloud Code de gérer le workflow de création, de transfert et de déploiement de votre application, et fournit des composants fondamentaux pour la création de pipelines CI/CD.
Les projets commencent généralement à l'aide d'une seule configuration skaffold.yaml qui décrit comment créer et déployer l'application. À mesure qu'un projet se développe, il peut être utile de diviser le pipeline d'application en plusieurs parties.
Cloud Code permet de définir plusieurs dépendances de configuration, placées ensemble dans le même fichier skaffold.yaml et séparées à l'aide des séparateurs de documents YAML (---) ou placées dans un fichier skaffold.yaml distinct et référencées à partir d'un fichier skaffold.yaml de niveau supérieur. Une configuration peut être transformée en module en lui attribuant un nom à l'aide du champ .metadata.name.
L'utilisation de modules vous permet de développer et de déboguer indépendamment différentes parties de l'application. Des dépendances peuvent être définies entre des fichiers de configuration et des modules spécifiques. Pour connaître les étapes d'utilisation de cette fonctionnalité, consultez la section Développer indépendamment différentes parties d'une application.
Déboguer des applications avec des modules
Vous pouvez développer et déboguer l'ensemble de l'application ou un ensemble des modules définis de manière itérative. Cloud Code gère les dépendances des modules et leur ordre de déploiement.
Premiers pas avec un exemple de modules
Pour sélectionner des modules pour votre application, consultez Compiler certains modules et leurs dépendances.
Si vous n'avez pas utilisé de modules et que vous souhaitez tester la fonctionnalité avec un exemple, consultez l'exemple de livre d'or, qui est décomposé de façon modulaire en frontend et backend.
Pour obtenir un exemple d'application d'entreprise à grande échelle, développé à l'aide de différentes technologies et langages en utilisant des modules, consultez l'exemple Bank of Anthos.
Cas d'utilisation courants
Cette section présente quelques cas d'utilisation courants pour différents scénarios liés au moment et à la manière d'utiliser les modules dans votre IDE.
Développement de microservices
Vous êtes un développeur frontend travaillant principalement sur le module frontend. En tant que microservice, frontend n'a pas de dépendances explicites de code ou de bibliothèque dans le dépôt backend, mais nécessite le déploiement et l'exécution de backend dans le cluster.
Vous utilisez votre projet, qui contient une définition de module frontend, pour déployer et déboguer un IDE Cloud Code sur un cluster de développement partagé où l'équipe backend déploie également son service. L'équipe DevOps gère ce cluster partagé.
De manière générale, vous ne travaillez pas sur le code de backend et vous ne mettez pas à jour les configurations Kubernetes. Cloud Code crée et déploie d'autres configurations requises par frontend. Vous configurez la configuration de déploiement Cloud Code pour effectuer une itération uniquement sur le module frontend.
Vous pouvez également déployer les clusters frontend et backend sur un cluster local pour obtenir une expérience itérative plus rapide.
Développement et débogage de microservices inter-régionaux
Lorsque plusieurs microservices doivent être débogués ensemble, vous pouvez :
- Ouvrir le répertoire parent dans lequel se trouvent les sous-répertoires contenant le code source des modules.
- Sélectionnez le fichier
skaffold.yamlracine pour le déploiement (configurations). - Configurer la configuration de déploiement Cloud Code uniquement pour les modules
frontendetbackenddisponibles localement (et leur module de configuration Kubernetes respectif en cas de modifications).
Vous pouvez également disposer d'un fichier skaffold.yaml racine distinct pour le développement local, qui inclut un serveur de données statiques.
Modifier le code YAML d'un module intelligent
Vous êtes un ingénieur DevOps qui crée un dépôt de modèles pour l'équipe de développeurs de microservices qui utilise des modules. Vous voulez vous assurer que les définitions des modules ne contiennent pas d'erreur. Vous utilisez les IDE Cloud Code pour modifier les fichiers de configuration skaffold.yaml.
Étapes suivantes
- Développer des parties d'une application de manière indépendante
- Déboguer une application Kubernetes
- Exécuter une application Kubernetes