Flagger es una herramienta de entrega progresiva que automatiza el proceso de lanzamiento de aplicaciones que se ejecutan en Kubernetes. Reduce el riesgo de introducir una nueva versión de software en la producción cambiando gradualmente el tráfico a la nueva versión mientras se miden las métricas y se ejecutan las pruebas de conformidad.
Flagger implementa varias estrategias de despliegue (lanzamientos canarios, pruebas A/B, reflejo azul/verde) utilizando una malla de servicios (App Mesh, Istio, Linkerd) o un controlador de entrada (Contour, Gloo, NGINX, Skipper, Traefik) para el enrutamiento del tráfico. Para el análisis de lanzamientos, Flagger puede consultar Prometheus, Datadog, New Relic o CloudWatch y para las alertas utiliza Slack, MS Teams, Discord y Rocket.
Flagger puede configurarse con recursos personalizados de Kubernetes y es compatible con cualquier solución CI/CD hecha para Kubernetes. Dado que Flagger es declarativo y reacciona a los eventos de Kubernetes, puede utilizarse en pipelines de GitOps junto con herramientas como Flux, JenkinsX, Carvel, Argo, etc.
Flagger es un proyecto de la Cloud Native Computing Foundation y forma parte de la familia de herramientas de GitOps de Flux.
Para empezar a utilizar Flagger, elija uno de los proveedores de enrutamiento compatibles e instale Flagger con Helm o Kustomize.
Después de instalar Flagger, puede seguir uno de estos tutoriales para empezar:
Tutoriales de malla de servicios
-
Istio
-
Linkerd
Controlador Ingress tutoriales
-
Contour
-
Gloo
-
Traefik
Hands-sobre GitOps
-
Istio
-
Linkerd