The flowchart describe the stages in a canary deployment controlled by Flagger. This tool makes it possible to control the rollout in a number of different ways (canary, A/B testing, manually gated, etc). I the chart green text indicates types of webhooks that can be used for manually controlled rollout. Below the chart there is a stepwise description of the canary deployment set in ehealth-service.
...
Start deployment of canary
Set traffic to 10% (
stepWeight
) if pod health is okAfter 1 min (
interval
) check pod health and check threshold for request-success-rate and request-duration.If the threshold test is ok increase traffic limitation with 10% (
stepWeight
)If threshold still is ok after 1 min, increase traffic again. This step will repeat until 50% (
maxWeight
) traffic is reached.If tests are still ok after 1 min, complete rollout.
Specifying:
request-success-rate = 99% of all request to the service must return http code non 5xx in the last 1 min
request-duration = the 99 percentile of the request duration must be below 500 ms in the last 30 sec
Minimum time for full rollout = interval * iterations
= 1m * 50/10 = 5 min
...