@@ -13,7 +13,7 @@ by gradually shifting traffic to the new version while measuring metrics and run
13
13
![ flagger-overview] ( https://raw.githubusercontent.com/fluxcd/flagger/main/docs/diagrams/flagger-overview.png )
14
14
15
15
Flagger implements several deployment strategies (Canary releases, A/B testing, Blue/Green mirroring)
16
- using a service mesh (App Mesh, Istio, Linkerd, Open Service Mesh)
16
+ using a service mesh (App Mesh, Istio, Linkerd, Open Service Mesh, Kuma )
17
17
or an ingress controller (Contour, Gloo, NGINX, Skipper, Traefik) for traffic routing.
18
18
For release analysis, Flagger can query Prometheus, Datadog, New Relic, CloudWatch, Dynatrace,
19
19
InfluxDB and Stackdriver and for alerting it uses Slack, MS Teams, Discord, Rocket and Google Chat.
@@ -38,12 +38,13 @@ Flagger documentation can be found at [docs.flagger.app](https://docs.flagger.ap
38
38
* [ App Mesh] ( https://docs.flagger.app/tutorials/appmesh-progressive-delivery )
39
39
* [ Istio] ( https://docs.flagger.app/tutorials/istio-progressive-delivery )
40
40
* [ Linkerd] ( https://docs.flagger.app/tutorials/linkerd-progressive-delivery )
41
+ * [ Open Service Mesh (OSM)] ( https://docs.flagger.app/tutorials/osm-progressive-delivery )
42
+ * [ Kuma Service Mesh] ( https://docs.flagger.app/tutorials/kuma-progressive-delivery )
41
43
* [ Contour] ( https://docs.flagger.app/tutorials/contour-progressive-delivery )
42
44
* [ Gloo] ( https://docs.flagger.app/tutorials/gloo-progressive-delivery )
43
45
* [ NGINX Ingress] ( https://docs.flagger.app/tutorials/nginx-progressive-delivery )
44
46
* [ Skipper] ( https://docs.flagger.app/tutorials/skipper-progressive-delivery )
45
47
* [ Traefik] ( https://docs.flagger.app/tutorials/traefik-progressive-delivery )
46
- * [ Open Service Mesh (OSM)] ( https://docs.flagger.app/tutorials/osm-progressive-delivery )
47
48
* [ Kubernetes Blue/Green] ( https://docs.flagger.app/tutorials/kubernetes-blue-green )
48
49
49
50
### Who is using Flagger
@@ -183,34 +184,34 @@ For more details on how the canary analysis and promotion works please [read the
183
184
184
185
**Service Mesh**
185
186
186
- | Feature | App Mesh | Istio | Linkerd | Open Service Mesh | SMI | Kubernetes CNI |
187
- | ------------------------------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
188
- | Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: |
189
- | A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
190
- | Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
191
- | Blue/Green deployments (traffic mirroring) | :heavy_minus_sign: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
192
- | Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
193
- | Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
194
- | Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
195
- | Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
196
- | Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
187
+ | Feature | App Mesh | Istio | Linkerd | Kuma | OSM | SMI | Kubernetes CNI |
188
+ |--------------------------------------------| --------------------| --------------------| --------------------| --------------------| --------------------| --------------------|-------------------- |
189
+ | Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | : heavy_minus_sign: |
190
+ | A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
191
+ | Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
192
+ | Blue/Green deployments (traffic mirroring) | :heavy_minus_sign: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | :heavy_minus_sign: |
193
+ | Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
194
+ | Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
195
+ | Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | : heavy_minus_sign: | :heavy_minus_sign: |
196
+ | Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | : heavy_minus_sign: | :heavy_minus_sign: |
197
+ | Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
197
198
198
199
For other SMI compatible service mesh solutions like Consul Connect or Nginx Service Mesh,
199
200
[Prometheus MetricTemplates](https://docs.flagger.app/usage/metrics#prometheus) can be used to implement
200
201
the request success rate and request duration checks.
201
202
202
203
**Ingress**
203
204
204
- | Feature | Contour | Gloo | NGINX | Skipper | Traefik |
205
- | ------------------------------------------ | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ |
206
- | Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
207
- | A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
208
- | Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
209
- | Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
210
- | Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
211
- | Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: |
212
- | Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: |
213
- | Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
205
+ | Feature | Contour | Gloo | NGINX | Skipper | Traefik |
206
+ |-------------------------------------------| --------------------| --------------------| --------------------| --------------------| -------------------- |
207
+ | Canary deployments (weighted traffic) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
208
+ | A/B testing (headers and cookies routing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_minus_sign: |
209
+ | Blue/Green deployments (traffic switch) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
210
+ | Webhooks (acceptance/load testing) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
211
+ | Manual gating (approve/pause/resume) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
212
+ | Request success rate check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: |
213
+ | Request duration check (L7 metric) | :heavy_check_mark: | :heavy_check_mark: | :heavy_minus_sign: | :heavy_check_mark: | :heavy_check_mark: |
214
+ | Custom metric checks | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
214
215
215
216
### Roadmap
216
217
0 commit comments