CKAD Application Design and Build Practice Question
A pod in the 'production' namespace is in a CrashLoopBackOff state. The pod has been running successfully for several days. You run 'kubectl describe pod app-pod -n production' and see the message: 'OOMKilled'. What is the MOST appropriate action to resolve this issue?
⚠ Common exam trap
Watch out — candidates often confuse memory and CPU resource issues, or think that simply restarting the pod (Option B) will fix the problem, when the OOMKilled status clearly indicates a persistent memory limit violation that requires a configuration change.
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
✓
Increase the memory limit in the pod's container resource specification
The 'OOMKilled' message indicates the container was terminated because it exceeded its memory limit. Increasing the memory limit in the pod's container resource specification allows the container to use more memory, resolving the out-of-memory condition and preventing future crashes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Increase the memory limit in the pod's container resource specification
Why this is correct
Raising the memory limit in the container's resource spec is the direct fix because the OOMKilled status means the kernel's OOM killer terminated the process when its cgroup memory usage exceeded the configured limit. Increasing the limit allocates more memory to the pod's cgroup, giving the container sufficient headroom to complete its work and preventing the OOM killer from triggering. However, verify that the container's memory footprint is legitimate; if the app has a memory leak, a higher limit only delays the inevitable and masks the underlying issue.
- ✗
Delete and recreate the pod to clear the crash loop
Why it's wrong here
Deleting and recreating the pod will not resolve the crash loop because the pod is typically managed by a ReplicaSet or Deployment, which immediately recreates it with the exact same resource specification, including the unchanged memory limit. The new pod will exhaust its memory again and be OOMKilled, reproducing the identical crash loop. If this is a standalone pod not controlled by a higher-level object, deleting it means it never comes back, which still fails to fix the underlying memory exhaustion.
- ✗
Increase the CPU request for the container
Why it's wrong here
Increasing the CPU request for the container is irrelevant to an OOMKilled state, because OOMKilled is triggered by memory usage exceeding the cgroup's memory limit, not by CPU exhaustion. The OOM killer evaluates memory pressure and kills processes based on memory consumption; CPU requests only influence scheduling decisions and do not adjust or affect the memory limit. Even with additional CPU allocation, the container will continue to exceed its memory cap and be terminated, so this action has no corrective effect.
- ✗
Delete the namespace and redeploy all workloads
Why it's wrong here
Deleting the entire namespace and redeploying all workloads is a drastic, sledgehammer approach that unnecessarily disrupts every service and persistent volume in the namespace, potentially causing data loss and downtime. It does not alter the offending pod's resource specification, so when the workload is redeployed, it will still have the same memory limit and will immediately OOMKilled again. This action ignores the need for a targeted resource adjustment on a single pod and creates far broader impact than the issue warrants.
Visual reference
Go deeper
Related to this question
About these practice questions
One of 160 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.