Home

Flagger

Flagger is an open-source progressive delivery tool for Kubernetes that automates canary releases and A/B testing. It aims to reduce deployment risk by gradually shifting traffic from a baseline version to a new candidate while evaluating real-time metrics before promoting or rolling back.

Flagger operates as a Kubernetes controller and uses a CustomResourceDefinition called Canary to describe a rollout.

During the rollout, Flagger performs automated analysis based on defined criteria for metrics such as error

Origins and scope: Flagger was originally developed by Weaveworks and later expanded by an active community

Limitations and considerations: Effective use requires compatible routing and monitoring infrastructure, thoughtful analysis configurations, and coordination

A
Canary
resource
specifies
the
baseline
and
the
canary
versions,
the
traffic
routing
method,
and
the
analysis
configuration.
It
can
route
traffic
through
service
meshes
such
as
Istio
or
Linkerd,
or
through
compatible
ingress
controllers
like
NGINX.
Flagger
provisions
and
manages
the
canary
deployment,
gradually
increases
traffic
to
the
new
version,
and
monitors
metrics
from
a
backend
(commonly
Prometheus).
rate,
latency,
or
custom
signals.
If
the
metrics
meet
the
success
conditions,
Flagger
promotes
the
canary
to
the
primary
deployment;
if
not,
it
rolls
back
to
the
previous
stable
version.
The
traffic-shifting
process
is
configurable
in
steps,
allowing
observable
rollout
progress
and
easier
rollback
if
issues
arise.
of
contributors.
It
supports
multiple
traffic
routing
options
across
Kubernetes
deployments,
enabling
progressive
delivery
workflows
in
diverse
environments,
from
simple
deployments
behind
NGINX
to
advanced
service-mesh
configurations
with
Istio
or
Linkerd.
with
CI/CD
processes.
It
is
best
suited
for
Kubernetes-based
microservices
architectures
seeking
automated,
metric-driven
release
promotion
and
rollback.