From 9d1b4ce4d414864e4183b8807a31235d7745eecd Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Sun, 23 Sep 2018 12:45:29 +0300 Subject: [PATCH] Document rollout halting --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index dfe1b798..e1d2bdb3 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Create a test namespace: kubectl apply -f ./artifacts/namespace/ ``` -Create GA and canary deployments, services and Istio virtual service: +Create GA and canary deployments, services, hpa and Istio virtual service: ```bash kubectl apply -f ./artifacts/workloads/ @@ -24,15 +24,18 @@ 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) +* check GA and canary deployments status (halt rollout if a rolling update is underway or if pods are unhealthy) * 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) +* advance canary traffic wight by 10% till it reaches 100% + * halt rollout while canary success rate is under the threshold + * halt rollout if the GA or canary deployments becomes unhealthy + * halt rollout while canary deployment is being scaled up/down by HPA * 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 +* wait for the canary deployment to be updated (revision bump) and start over HTTP success rate query: