Reputation: 4271
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?
Upvotes: 4
Views: 5266
Reputation: 6314
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.
Upvotes: 6