Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Spinnaker
Bien que Spinnaker ne soit pas exclusivement conçu comme un GitOps outil, vous pouvez le configurer pour implémenter des GitOps principes, en particulier lorsque vous l'utilisez pour des déploiements cloud natifs et Kubernetes.
GitOps soutien
| Area | Capacités des outils |
|---|---|
Configuration déclarative |
Spinnaker utilise des définitions de pipeline déclaratives, qui sont généralement stockées sous forme de fichiers JSON ou YAML. Ces définitions de pipeline peuvent être contrôlées par version dans les référentiels Git, conformément aux pratiques. GitOps |
IaC |
Spinnaker prend en charge la définition des configurations d'infrastructure et de déploiement sous forme de code. Ces définitions peuvent être stockées dans des référentiels Git et peuvent servir de source unique de vérité. |
Déploiements multicloud |
Spinnaker est conçu pour fonctionner avec plusieurs fournisseurs de cloud et clusters Kubernetes. Il permet GitOps des pratiques cohérentes dans divers environnements. |
Pipeline en tant que code |
Les pipelines Spinnaker peuvent être définis sous forme de code et stockés dans des référentiels Git. Cela permet de contrôler les versions et de revoir les processus de déploiement. |
Déploiements automatisés |
Vous pouvez configurer Spinnaker pour démarrer automatiquement les déploiements en fonction des modifications apportées aux référentiels Git. L'outil prend en charge les pratiques de déploiement continu qui sont essentielles à GitOps. |
Infrastructure immuable |
Spinnaker promeut l'utilisation d'une infrastructure immuable, qui est un concept clé dans. GitOps Il encourage le déploiement de nouvelles instances au lieu de modifier les instances existantes. |
Annulations et gestion des versions |
Spinnaker fournit des capacités de restauration robustes et un retour rapide aux bons états connus précédents. Il prend en charge le versionnement des déploiements, conformément aux GitOps principes de traçabilité. |
Flux de travail d'approbation |
Spinnaker inclut des étapes de jugement manuel dans les pipelines afin de permettre des promotions contrôlées entre les environnements. Cela favorise les GitOps pratiques de séparation entre les déploiements et les versions. |
Canary et les blue/green déploiements |
Spinnaker prend en charge des stratégies de déploiement avancées qui s'alignent sur GitOps les pratiques relatives aux versions sûres et contrôlées. |
Intégration aux systèmes de contrôle de version |
Spinnaker peut s'intégrer à différents fournisseurs Git pour démarrer des pipelines en fonction des événements du référentiel. |
Intégration avec Kubernetes |
Spinnaker fournit un support natif pour Kubernetes et prend GitOps en charge la gestion de type Kubernetes des ressources Kubernetes. |
Gestion des artifacts |
Spinnaker prend en charge la gestion des artefacts et le contrôle des versions, qui sont essentiels au maintien d'un flux de travail. GitOps |
Observabilité et surveillance |
Spinnaker propose une intégration avec des outils de surveillance pour prendre en charge l'aspect observabilité de. GitOps |
Piste d'audit |
Spinnaker fournit des journaux et un historique de déploiement détaillés, qui soutiennent le principe d'auditabilité de. GitOps |
Contrôle d’accès basé sur les rôles (RBAC) |
Cet outil implémente le RBAC pour un contrôle précis sur qui peut effectuer quelles actions, conformément aux GitOps pratiques de sécurité. |
Modélisation et paramétrage |
Spinnaker prend en charge la création de modèles dans les définitions de pipeline afin de permettre des déploiements réutilisables et paramétrés. |
Promotion de l'environnement |
Spinnaker facilite la promotion des applications entre les environnements (par exemple, de la mise en scène à la production) de manière contrôlée. |
Intégration aux outils CI |
Spinnaker peut s'intégrer à divers outils d'intégration continue (CI) pour fournir un CI/CD pipeline complet conforme aux principes. GitOps |
Stages et extensions personnalisés |
Cet outil prend en charge les étapes et les extensions personnalisées, afin que les équipes puissent mettre en œuvre des GitOps flux de travail adaptés à leurs besoins. |
Gestion centralisée |
Spinnaker fournit une plate-forme centralisée pour gérer les déploiements dans plusieurs environnements et fournisseurs de cloud. |
Bien que Spinnaker ne soit pas principalement commercialisé comme un GitOps outil, sa flexibilité et ses fonctionnalités robustes le rendent capable de mettre en œuvre des GitOps flux de travail, en particulier dans des environnements multicloud complexes. La principale différence entre Spinnaker et les GitOps outils dédiés tels qu'Argo CD ou Flux réside dans le fait que Spinnaker propose une plateforme de diffusion continue plus complète avec des stratégies de déploiement avancées et un support multicloud.
La force de Spinnaker réside dans sa capacité à gérer des scénarios de déploiement complexes auprès de différents fournisseurs de cloud et dans sa prise en charge de stratégies de déploiement avancées. Lorsque Spinnaker est correctement configuré, il peut mettre en œuvre les GitOps principes de manière efficace. Cela en fait un outil puissant pour les organisations qui souhaitent adopter GitOps des pratiques dans des environnements divers et complexes.
Pour plus d'informations, consultez la documentation de Spinnaker
Architecture
où :
-
Étape 1 : validation du code. Les développeurs valident les modifications du code de l'application dans un dépôt Git. Ces modifications peuvent inclure des mises à jour de l'application elle-même, de Dockerfiles ou des manifestes Kubernetes.
-
Étape 2 : Construction de Jenkins et création d'images. Jenkins est automatiquement déclenché par le dépôt Git via un webhook ou un sondage. Jenkins construit l'application, crée une image Docker et envoie l'image créée vers un registre Docker configuré (tel qu'Amazon ECR ou Docker Hub).
-
Étape 3 : surveillance de l'image Spinnaker et déclenchement du pipeline. Spinnaker surveille en permanence le registre Docker à la recherche de nouvelles images. Lorsqu'une nouvelle version d'image est détectée, Spinnaker déclenche automatiquement un pipeline pour démarrer le processus de déploiement.
-
Étape 4 : Déploiement vers des espaces de noms cibles Spinnaker déploie la nouvelle image Docker sur Amazon EKS. Sur la base des configurations du pipeline, l'image est déployée sur les espaces de noms cibles du cluster. Spinnaker veille à ce que la dernière version de l'application soit déployée tout en respectant les stratégies de déploiement définies, telles que les blue/green déploiements Canary.