Courseiva
Application Design and BuildmediumMultiple ChoiceObjective-mapped

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

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

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 →

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.