CKAD Application Observability and Maintenance Practice Question
You have a Deployment running a web application that takes 60 seconds to start up. You need to configure probes so that Kubernetes waits for the application to fully start before checking its health and directing traffic to it. Which combination of probes should you use?
⚠ Common exam trap
The trap here is that candidates often rely solely on initialDelaySeconds for liveness probes, not realizing that a startup probe provides a more robust mechanism for slow-starting containers by decoupling the startup grace period from the regular health-check cycle.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Startup probe with failureThreshold=30 and periodSeconds=2, plus liveness and readiness probes
A startup probe with a low failureThreshold and periodSeconds allows Kubernetes to wait up to 60 seconds (30 failures × 2 seconds) for the application to start, after which the liveness and readiness probes begin. This ensures the liveness probe does not kill the container prematurely during the slow startup, and the readiness probe only directs traffic once the app is fully ready.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Liveness probe with initialDelaySeconds=10 and readiness probe without delay
Why it's wrong here
Setting liveness initialDelaySeconds=10 while the application needs 60 seconds to initialize means the kubelet will begin sending liveness probes long before the app's HTTP endpoint is responsive. Since the liveness probe fails, the container is killed and restarted, potentially entering a crash loop before it ever finishes booting. A readiness probe without delay does not mitigate this because readiness only controls traffic routing, not container restarts. The correct approach is to delay liveness using a startup probe rather than relying on a fixed initial delay.
- ✗
Readiness probe with initialDelaySeconds=60 only
Why it's wrong here
A readiness probe with initialDelaySeconds=60 ensures no traffic is sent to the pod until the app is ready, which is fine, but it completely omits a liveness probe. Without liveness, kubelet cannot detect and restart the container once it becomes unhealthy after startup—for example, if the web app deadlocks or its worker pool hangs. The pod would remain in a NotReady state indefinitely, serving no traffic and requiring manual intervention. While readiness addresses availability during startup, it fails to provide the automatic self-healing that liveness probes offer for steady-state failures.
- ✗
Liveness probe with initialDelaySeconds=60 and readiness probe with initialDelaySeconds=60
Why it's wrong here
Configuring both liveness and readiness with initialDelaySeconds=60 avoids premature restarts because the liveness probe only starts after the expected startup window. However, this is fragile: if the application occasionally takes longer than 60 seconds due to cache warming, database connection retries, or overwhelming traffic, the liveness probe will fail and kill a healthy-but-still-booting container. The initialDelay is a fixed guess, not a safety threshold based on consecutive failures. A startup probe with failureThreshold and periodSeconds provides a configurable grace period while keeping liveness available immediately after startup succeeds.
- ✓
Startup probe with failureThreshold=30 and periodSeconds=2, plus liveness and readiness probes
Why this is correct
A startup probe with failureThreshold=30 and periodSeconds=2 gives the container up to 60 seconds to become ready (30 failures × 2 seconds). The kubelet runs the startup probe first, and only after it succeeds do the liveness and readiness probes begin executing. This cleanly separates the startup phase from steady-state health checking, preventing premature liveness restarts without limiting the app's startup time to a hard-coded initialDelay. Once the startup probe passes, the liveness probe takes over to restart the container if it later becomes unhealthy, while the readiness probe controls traffic admission.
Go deeper
Related to this question
Learn chapter
Debugging and Troubleshooting Applications in Kubernetes
Key term
Readiness Probes
A Kubernetes mechanism that checks if a container is ready to start accepting traffic and serve requests.
Key term
Liveness Probes
A liveness probe is a Kubernetes health check that tells the system whether a container is running properly and should be kept alive or restarted.
About these practice questions
One of 826 original CKAD practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKAD practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKAD exam.