CertGrid CertGrid
Hands-on Lab·Certified Kubernetes Application Developer

Liveness, Readiness and Startup Probes

An application that takes 40 seconds to start and a liveness probe that gives up after 15 will never run: the probe kills it mid-boot, forever. The usual fix is to inflate initialDelaySeconds, which makes real failures take just as long to detect. startupProbe is the right answer, and this shows both the failure and the fix on the same application.

Observability and Maintenance Guide 40 of 44 Intermediate

While a startupProbe is defined and has not yet succeeded, the liveness and readiness probes are disabled entirely. Once it succeeds it never runs again and the other two take over. That handover is the whole feature: slow start-up and fast failure detection stop being a trade-off.

Two Pods with identical containers and different probe configurations.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

This guide includes

Use this when an application that needs time to start is being killed before it gets there. This matters because a liveness probe gives up on a fixed schedule, and a startup probe exists precisely to hold it off until the app is up.

Before you start

  1. An application that takes 40 seconds

  2. The same application with a startup probe

  3. The arithmetic that matters

Official sources