Cet article décrit Skaffold et explique comment et pourquoi. Cloud Deploy l'utilise, et ce que vous devez faire pour qu'il fonctionne vous.
Cloud Deploy utilise Skaffold pour les opérations de rendu et de déploiement. Vous pouvez également utilisez-le pour le développement local, la compilation, les tests et le déploiement avancé caractéristiques. Toutefois, Cloud Deploy ne nécessite qu'un déploiement Skaffold configuration qui identifie manifestes pour afficher et appliquer.
Qu'est-ce que Skaffold ?
Skaffold est un outil de ligne de commande qui permet le développement continu pour les applications Kubernetes natives. Skaffold vous permet de configurer espace de travail de développement à utiliser avec la livraison continue Cloud Deploy les pipelines de ML.
Skaffold inclut les fonctionnalités suivantes :
Il vous offre un contrôle discret des activités du pipeline CI/CD (création, rendu, test de déploiement, etc.).
Il s'agit d'un outil de développement local utile.
Les profils Skaffold vous permettent de différencier les différents environnements, avec différentes configurations de compilation, de test et de déploiement, le tout dans le même fichier de configuration.
Pourquoi Cloud Deploy utilise-t-il Skaffold ?
Google Cloud Deploy utilise Skaffold pour séparer les outils de rendu du pipeline de diffusion. Votre pipeline de livraison définit simplement la progression de la cible cible, tandis que votre configuration Skaffold définit les fichiers manifestes affichés et comment. Cela rend l'affichage du fichier manifeste flexible sans affecter la façon dont vous définissez votre pipeline de livraison.
Voici quelques-uns des avantages offerts par Skaffold lorsque vous l'utilisez avec Cloud Deploy:
Processus d'intégration facile
Commencez par une boucle de développement local. Vous pouvez partager votre fichier
skaffold.yaml
avec votre équipe, ce qui peut assurer la cohérence et aider les nouveaux membres à se lancer.Contrôle cohérent du rendu pour diverses cibles de déploiement
Vous pouvez utiliser des profils Skaffold, avec un rendu et un déploiement différents pour différentes cibles.
Choix des outils de rendu sans compromettre la définition des pipelines de diffusion
L'utilisation de Skaffold permet à Cloud Deploy de séparer la définition du pipeline de livraison des détails de rendu. Cette séparation vous permet de tester vos fichiers manifestes sans perturber le pipeline de diffusion.
Processus d'affichage cohérent
La source de rendu et vos conteneurs sont utilisés pour générer des fichiers manifestes de rendu.
Vérifications de l'état du déploiement
Skaffold les exécute et Cloud Deploy les utilise.
Comment Cloud Deploy utilise-t-il Skaffold ?
La source du rendu et les références aux images de conteneur sont transmises à Cloud Deploy lorsque vous créez une version.
Lors de la création d'une version, Cloud Deploy appelle Cloud Build, qui à son tour appelle
skaffold diagnose
etskaffold render
pour afficher le ou les fichiers manifestes à l'aide de cette source de rendu images.Vous pouvez utiliser des profils Skaffold pour différencier les fichiers manifestes qui seront appliqués à différentes cibles.
Cloud Deploy est compatible avec les modules Skaffold statiques.
Lors du déploiement, Cloud Deploy appelle
skaffold apply
pour appliquer le ou les fichiers manifestes affichés au cluster cible.Cloud Deploy n'est pas compatible avec l'utilisation d'autres outils de déploiement pour déployer votre application, sauf si vous utilisez des cibles personnalisées. Toutefois, vous pouvez utiliser des outils tels que Helm ou Kustomize comme moteurs de rendu. Pour en savoir plus sur le déploiement de Cloud Deploy sans utiliser de déployeurs spécifiques (comme Helm), consultez la section Architecture de service.
Tirez parti de Skaffold
Configurez Skaffold en fonction des besoins de votre pipeline.
Déterminez les besoins de votre pipeline de diffusion.
Combien de cibles aurez-vous ? L'affichage et le déploiement sont-ils les mêmes pour chacun ? Si la configuration est la même pour chaque cible de votre progression, vous n'avez pas besoin d'utiliser des profils Skaffold. Vous n'avez besoin que d'un
skaffold.yaml
qui décrit les fichiers manifestes à afficher.Le cas échéant, créez un profil Skaffold pour chaque cible.
Définissez-le dans votre fichier
skaffold.yaml
et associez-le à la séquence de progression de la définition du pipeline de diffusion.Consultez la documentation Skaffold. pour en savoir plus sur les profils Skaffold. Le document Gérer les fichiers manifestes dans Cloud Deploy inclut également des exemples de configurations de profil.
Définir le niveau de verbosité de la journalisation Skaffold
Par défaut, Niveau de journalisation Skaffold est défini sur
warn
. Vous pouvez remplacer cette valeur pardebug
dans la configuration de l'environnement d'exécution d'une cible en définissantverbose: true
.
Connectez Cloud Deploy à votre système d'intégration continue.
À la fin de votre processus CI, transmettez le
skaffold.yaml
, la source de rendu et les images de conteneur à renseigner dans le fichier manifeste rendu.Facultatif : configurez votre boucle de développement local à l'aide de Skaffold.
Utiliser Skaffold pour le développement est facultative dans Cloud Deploy. La seule chose qui est requise pour permettant le fonctionnement de Cloud Deploy est un fichier
skaffold.yaml
qui identifie les fichiers manifestes à afficher.
Étape suivante
Consultez le site Web de Skaffold pour découvrir son fonctionnement et ce qu'il peut vous apporter.
Découvrez comment Cloud Deploy sélectionne la version de Skaffold à utiliser, quand la version de Skaffold change et comment déterminer la version actuellement utilisée.
Découvrez comment utiliser des profils Skaffold avec des outils de gestion de fichiers manifestes avancés tels que Helm, Kustomize et kpt.
Suivez le tutoriel sur les profils Skaffold.