Flagger
Overview
Flagger, c'est l'outil de progressive delivery pour Kubernetes qui pense que déployer directement en prod, c'est con. Développé par Weaveworks et maintenant maintenu par la CNCF, il se concentre sur les déploiements progressifs (canary, blue/green, A/B testing) sur Kubernetes, s'intégrant avec les service mesh (Istio, Linkerd, App Mesh) et les contrôleurs Ingress (NGINX, Traefik). Il utilise GitOps pour gérer les configurations de déploiement progressif. Si tu veux déployer de façon progressive, c'est un choix naturel.
Flagger se distingue par son focus sur la sécurité des déploiements via des stratégies progressives (tu déploies progressivement, c'est plus sûr), son intégration avec les service mesh pour le routage du trafic, et sa capacité à automatiser les rollbacks basés sur des métriques (si ça plante, ça rollback automatiquement).
Informations essentielles
| Propriété | Valeur |
|---|---|
| Site officiel | https://flagger.app/ |
| Licence | Apache 2.0 |
| Nationalité | International (CNCF) |
| Type | Progressive delivery pour Kubernetes |
| Déploiement | Déploiement Kubernetes (opérateur) |
| Difficulté | Intermédiaire à avancé |
| Technologies | Go |
TL;DR
Flagger est idéal si vous cherchez à implémenter des déploiements progressifs (canary, blue/green) sur Kubernetes, avec intégration service mesh et automatisation des rollbacks basés sur métriques.
Points clés à retenir :
- Déploiements progressifs (canary, blue/green, A/B)
- Intégration avec service mesh (Istio, Linkerd, App Mesh)
- Rollbacks automatiques basés sur métriques
- Support GitOps pour configurations
- Sécurité des déploiements
Compatibilité et intégrations
- Compatible avec Kubernetes
- Intégration avec Istio, Linkerd, App Mesh
- Compatible avec NGINX Ingress, Traefik
- Intégration avec Prometheus pour métriques
- Supporte GitOps (FluxCD, Argo CD)
- Compatible avec les outils de monitoring
Avantages
- Déploiements progressifs sécurisés
- Intégration avec service mesh
- Rollbacks automatiques basés sur métriques
- Support GitOps
- Projet CNCF
Limites
- Nécessite service mesh ou Ingress controller compatible
- Configuration peut être complexe
- Courbe d'apprentissage pour stratégies progressives
- Moins adapté aux déploiements simples
Ressources
- Documentation Flagger : https://flagger.app/docs/
- GitHub : https://github.com/fluxcd/flagger