Courseiva

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.

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 →

How Courseiva writes practice questions · Editorial policy

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.