Flagger é uma ferramenta de entrega progressiva que automatiza o processo de lançamento para aplicações em execução no Kubernetes. Reduz o risco de introduzir uma nova versão de software na produção, deslocando gradualmente o tráfego para a nova versão enquanto mede métricas e executa testes de conformidade.
Flagger implementa várias estratégias de implementação (Canary releases, A/B testing, Blue/Green mirroring) usando uma malha de serviço (App Mesh, Istio, Linkerd) ou um controlador de entrada (Contour, Gloo, NGINX, Skipper, Traefik) para o encaminhamento de tráfego. Para análise de lançamento, Flagger pode consultar Prometheus, Datadog, New Relic ou CloudWatch e para alertar usa Slack, MS Teams, Discord e Rocket.
Flagger pode ser configurado com recursos personalizados Kubernetes e é compatível com qualquer solução CI/CD feita para Kubernetes. Como Flagger é declarativo e reage a eventos Kubernetes, ele pode ser usado em pipelines GitOps juntamente com ferramentas como Flux, JenkinsX, Carvel, Argo, etc.
Flagger é um projeto da Native Computing Foundation e faz parte da família Flux das ferramentas GitOps.
Para começar com Flagger, escolha um dos provedores de roteamento suportados e instale Flagger com Helm ou Kustomize.
Depois de instalar Flagger, você pode seguir um destes tutoriais para começar:
Tutoriais de serviço de malha
-
Istio
-
Linkerd
Controlador de entrada tutoriais
-
Contour
-
Gloo
-
Traefik
Mãos-nas oficinas do GitOps
-
Istio
-
Linkerd