Document rollout steps

This commit is contained in:
Stefan Prodan 2018-09-23 12:19:03 +03:00
parent 486d1a9713
commit f756dc247c
1 changed files with 16 additions and 2 deletions

View File

@ -20,11 +20,25 @@ Rollout:
![rollout-cli](docs/screens/rollout-cli-output.png)
Rollout flow:
* scan namespace for deployments marked for rollout
* scan namespace for a corresponding canary deployment (`-canary` prefix)
* check Istio virtual service routes are mapped to GA and canary ClusterIP services
* check GA and Canary deployments status (halt rollout if a rolling update is underway or if pods are in crash loop)
* increase canary traffic weight percentage by 10%
* check canary HTTP success rate (halt rollout if percentage is under the specified threshold)
* advance canary traffic wight by 10% till it reaches 100% (halt rollout if deployments are unhealthy or success rate is under the threshold)
* promote canary to GA (copy canary deployment spec template over GA)
* wait for GA rolling update to finish
* scale to zero the canary deployment
* mark rollout deployment as finished
* wait for canary deployment to be updated (revision bump) and start over
HTTP success rate query:
```sql
sum(
irate(
rate(
istio_requests_total{
reporter="destination",
destination_workload_namespace=~"$namespace",
@ -35,7 +49,7 @@ sum(
)
/
sum(
irate(
rate(
istio_requests_total{
reporter="destination",
destination_workload_namespace=~"$namespace",