Startup probes: Determine when a container has successfully started
Readiness probes: Determine when a container is ready to accept traffic
Liveness probes: Determine when a container is healthy and running properly
Liveness and readiness probes run on separate schedules and have different purposes:
Liveness probes check if the container is running properly. If these fail, Kubernetes restarts the container.
Readiness probes check if the container is ready to receive traffic. If these fail, Kubernetes stops sending traffic to the pod but doesn't restart it.
These probes operate in parallel once the container is running. The liveness probe doesn't need to wait for the readiness probe to succeed before executing its checks.
When the container starts, the startup probe runs first. Once it succeeds, both liveness and readiness probes begin running independently on their own schedules. The liveness probe doesn't wait for the readiness probe to succeed - it simply checks if the application is alive, regardless of its readiness state.