Flagger ist ein progressives Bereitstellungstool, das den Release-Prozess für Anwendungen, die auf Kubernetes laufen, automatisiert. Es reduziert das Risiko der Einführung einer neuen Softwareversion in der Produktion, indem es den Datenverkehr schrittweise auf die neue Version verlagert, während es Metriken misst und Konformitätstests durchführt.
Flagger implementiert verschiedene Bereitstellungsstrategien (Canary-Releases, A/B-Tests, Blue/Green Mirroring) und verwendet ein Service-Mesh (App Mesh, Istio, Linkerd) oder einen Ingress-Controller (Contour, Gloo, NGINX, Skipper, Traefik) für das Traffic-Routing. Für die Release-Analyse kann Flagger Prometheus, Datadog, New Relic oder CloudWatch abfragen und für die Alarmierung nutzt es Slack, MS Teams, Discord und Rocket.
Flagger kann mit benutzerdefinierten Kubernetes-Ressourcen konfiguriert werden und ist mit allen CI/CD-Lösungen für Kubernetes kompatibel. Da Flagger deklarativ ist und auf Kubernetes-Ereignisse reagiert, kann es in GitOps-Pipelines zusammen mit Tools wie Flux, JenkinsX, Carvel, Argo usw. verwendet werden.
Flagger ist ein Projekt der Cloud Native Computing Foundation und Teil der Flux-Familie von GitOps-Tools.
Um mit Flagger zu beginnen, wählen Sie einen der unterstützten Routing-Provider und installieren Sie Flagger mit Helm oder Kustomize.
Nach der Installation von Flagger können Sie einem der folgenden Tutorials folgen, um loszulegen:
Service Mesh Tutorials
-
Istio
-
Linkerd
Ingress Controller Tutorials
-
Contour
-
Gloo
-
Traefik
Hands-on GitOps Workshops
-
Istio
-
Linkerd