Flagger jest narzędziem do progresywnego dostarczania, które automatyzuje proces uwalniania aplikacji działających na Kubernetes. Zmniejsza ryzyko wprowadzenia nowej wersji oprogramowania do produkcji poprzez stopniowe przenoszenie ruchu na nową wersję, jednocześnie mierząc metryki i przeprowadzając testy zgodności.
Flagger implementuje kilka strategii wdrażania (wydania Canary, testy A/B, mirroring Blue/Green) przy użyciu siatki usług (App Mesh, Istio, Linkerd) lub kontrolera ingress (Contour, Gloo, NGINX, Skipper, Traefik) do routingu ruchu. Do analizy wydań Flagger może odpytywać Prometheus, Datadog, New Relic lub CloudWatch, a do alarmowania wykorzystuje Slack, MS Teams, Discord i Rocket.
Flagger może być skonfigurowany z niestandardowymi zasobami Kubernetes i jest kompatybilny z dowolnymi rozwiązaniami CI/CD stworzonymi dla Kubernetes. Ponieważ Flagger jest deklaratywny i reaguje na zdarzenia Kubernetes, może być używany w rurociągach GitOps razem z narzędziami takimi jak Flux, JenkinsX, Carvel, Argo, itp.
Flagger jest projektem Cloud Native Computing Foundation i częścią rodziny Flux narzędzi GitOps.
Aby rozpocząć pracę z Flaggerem, wybierz jednego z obsługiwanych dostawców routingu i zainstaluj Flaggera z Helm lub Kustomize.
Po zainstalowaniu Flagger, możesz postępować zgodnie z jednym z tych samouczków, aby rozpocząć:
Tutoriale siatki usług
-
Istio
-
Linkerd
Kontroler ang. samouczki
-
Contour
-
Gloo
-
Traefik
Hands-on GitOps workshops
-
Istio
-
Linkerd
.