Helm/k8s: upgrade without downtime

11/29/2018

I'm trying to get used to helm, and I'm having a problem while using helm upgrade. The question is, is it possible to have 0-downtime?

The things that I noticed is that helm/k8s removes the old pod before the new one is ready/live. Is it possible to say to remove the old one only when the new is up and running? it seems a very logical case, but I can't figure out how to do it.

NB: right now I'm forcing pod recreation with helm upgrade --recreate-pods notes notes/, can maybe be this?

-- EsseTi
kubernetes
kubernetes-helm

1 Answer

11/29/2018

Your applications should have Livness and Readiness probes, thus it will shut down the old ones only when Readiness probe on the new ones passed. Also you can take a look at Deployment Strategy.

Liveness and Readiness probes is a must when architecting applications for Kubernetes, as described in this article.

-- edbighead
Source: StackOverflow