DEV Community

Tomek
Tomek

Posted on

Kubernetes probes: readiness vs liveness vs startup — and how a wrong setup can restart your whole deployment

Most explanations of Kubernetes health probes are text and diagrams. I tried to explain them in a different way — with an interactive, step-by-step animation — and this is a short text version of it.

The three probes, in one line each

  • readiness — decides if the pod gets traffic. If it fails, Kubernetes removes the pod from the Service endpoints. The container is not restarted.
  • liveness — decides if the container is restarted. If it fails, the kubelet restarts the container.
  • startup — protects slow-starting containers. While it runs, liveness and readiness are held off, so a slow app is not killed before it is ready.

The common mistake is treating readiness and liveness as the same "is it healthy?" check. They are not — one moves traffic, the other restarts the process.

How a wrong setup becomes an outage

The dangerous case: a liveness probe that checks a slow or shared dependency.

A traffic peak makes that dependency even slower. The liveness probe then fails on all replicas at the same time, and Kubernetes restarts the whole deployment in a loop. So one slow dependency becomes a full outage — when readiness would have been the safer choice.

This is only one of several setups that can cause it.

The interactive version

Here you can move a pod through the probe states and watch what happens each time (this GIF is one scene):

The full interactive walkthrough — with several failure cases — is here:
👉 https://flowexplain.com/explainers/kubernetes-health-probes

(It is on my own non-commercial site — no signup, no ads.)

I'd like your feedback

Does this interactive format help you understand the topic better than a no gimmick? I am asking because if it works well, I want to make moreinteractive tutorials like this for Kubernetes.

And if anything here is technically wrong, please tell me and I will fix it.

Top comments (0)