Progressive Delivery — gradual delivery of changes with automatic feedback.
Stages:
Tools: Argo Rollouts, Flagger, Flagger + Istio/Cilium.
Flagger + Istio:
1apiVersion: flagger.app/v1beta12kind: Canary3metadata:4 name: myapp5 namespace: production6spec:7 targetRef:8 apiVersion: apps/v19 kind: Deployment10 name: myapp11 service:12 port: 808013 targetPort: 808014 analysis:15 interval: 1m16 threshold: 517 maxWeight: 5018 stepWeight: 1019 metrics:20 - name: request-success-rate21 thresholdRange:22 min: 9923 interval: 1m24 - name: request-duration25 thresholdRange:26 max: 50027 interval: 30s28 webhooks:29 - name: load-test30 type: rollout31 url: http://flagger-loadtester.test/32 metadata:33 cmd: "hey -z 1m -q 10 -c 2 http://myapp-canary:8080/"
Flagger + Cilium (without Istio):
1spec:2 service:3 port: 80804 analysis:5 metrics:6 - name: request-success-rate
Flagger uses Cilium TrafficSplit for routing.
Automatic Rollback: if metrics fail analysis 5 times → rollback.