livenessProbe: tells Kubernetes whether the container is still alive. If it fails repeatedly, Kubernetes restarts the container.readinessProbe: tells Kubernetes whether the container is ready to receive traffic. If it fails, the pod stays running but is removed from Service load balancing.startupProbe: tells Kubernetes whether the app has finished starting up. While it is still failing, Kubernetes suppresses liveness/readiness handling for slow-starting apps.
Typical behavior:
- Use
livenessProbeto detect deadlocks/hung processes. - Use
readinessProbeto gate traffic until dependencies/init work are done. - Use
startupProbewhen startup is slow and you don’t want liveness to kill the app too early.
Simple mental model: