Courseiva

CKAD Application Observability and Maintenance Practice Question

You run 'kubectl get pods' and see a pod in 'CrashLoopBackOff' state. Which TWO conditions could cause this state?

⚠ Common exam trap

The CKAD exam often tests the distinction between probe failures (which may or may not cause restarts) and immediate container exits (which always cause CrashLoopBackOff), so candidates mistakenly think any restart leads to CrashLoopBackOff, but only repeated restarts with backoff produce that specific state.

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

✓

The container exits immediately with a non-zero exit code

A container that exits immediately with a non-zero exit code causes Kubernetes to restart it repeatedly, leading to the CrashLoopBackOff state. The kubelet detects the exit code and increments the restart counter, applying an exponential backoff delay. This is the classic symptom of an application crash or misconfiguration.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    The node is out of disk space

    Why it's wrong here

    Node disk pressure is a kubelet-level condition that triggers eviction when usage reaches configured thresholds (e.g., nodefs.available or imagefs.available). Eviction forcibly terminates pods to reclaim disk, resulting in pod phase Failed with reason 'Evicted', not CrashLoopBackOff. CrashLoopBackOff specifically indicates the container process starts and then repeatedly crashes with a non-zero exit code; disk pressure does not make the application exit, so it cannot be the underlying cause.

  • ✓

    The container exits immediately with a non-zero exit code

    Why this is correct

    CrashLoopBackOff is the Kubernetes state when a container repeatedly starts, exits with an error, and is restarted by the kubelet. A non-zero exit code from the main process signals that the application failed during startup or at runtime, prompting a restart. After each successive failure, the kubelet applies an exponential backoff (10s, 20s, 40s, up to 5m) to prevent tight restart loops, and this cycle produces the CrashLoopBackOff status. This option is correct because an immediate non-zero exit is the direct mechanism driving the crash loop.

  • ✗

    The readiness probe is failing

    Why it's wrong here

    A readiness probe only determines whether the pod is ready to accept traffic; when it fails, the kubelet marks the pod as NotReady and removes its endpoints from Services. The container is left running and is never restarted by a readiness probe failure, so the pod's restart count does not increase. Since CrashLoopBackOff requires repeated container restarts, a failing readiness probe cannot be the cause—it only affects service routing, not container lifecycle.

  • ✗

    The pod is pending because of insufficient resources

    Why it's wrong here

    A pod stuck in Pending is in a pre-scheduling phase, meaning the scheduler has not yet placed it on a node, often because of insufficient CPU, memory, or other resource constraints. In Pending, no container has started at all, so there is nothing to crash or restart. CrashLoopBackOff, by contrast, occurs only during the Running phase, after the container has started and repeatedly fails. Thus, resource-driven Pending is a separate, mutually exclusive pod phase from CrashLoopBackOff.

  • ✓

    The liveness probe is failing and restarting the container

    Why this is correct

    A liveness probe checks whether the container is still healthy; if it fails, the kubelet kills the container and restarts it according to the pod's restartPolicy (default Always). When liveness failures happen repeatedly and quickly, each restart increments the restart count, and the kubelet backs off exponentially until the pod enters CrashLoopBackOff. This option is correct because liveness probe failure is a standard trigger for container restarts, distinct from the container exiting on its own.

About these practice questions

This CKAD question is part of Courseiva's 826-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.