Courseiva
Application Observability and MaintenancemediumMultiple ChoiceObjective-mapped

CKAD Application Observability and Maintenance 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

It's easy for candidates to confuse OOMKilled with a general crash and choose to delete/recreate the pod, not realizing the OOMKilled status specifically indicates a memory limit violation that requires adjusting resource limits.

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 pod is in CrashLoopBackOff due to OOMKilled, meaning the container exceeded its memory limit and was terminated by the Linux kernel's Out-Of-Memory (OOM) killer. Increasing the memory limit in the pod's container resource specification allows the container to use more memory without being killed, directly resolving the OOM condition.

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

    OOMKilled is the error Kubernetes records when the kernel's out-of-memory killer terminates a process because the container exceeded its `spec.containers[].resources.limits.memory` cgroup allotment. Raising that memory limit gives the container more headroom before the cgroup's OOM killer triggers, directly addressing the crash loop. Keep the limit below the node's allocatable memory and adjust the request proportionally so scheduling remains valid.

  • Increase the CPU request for the container

    Why it's wrong here

    OOMKilled is purely a memory exhaustion condition; the Linux OOM killer operates on memory pages, not CPU time or CPU throttling. Increasing the CPU request only alters the container's scheduling weight and guaranteed CPU share, which does nothing to expand the memory cgroup or prevent the kernel from reclaiming the container's pages. In fact, if the container is memory-bound, a larger CPU share can let it allocate memory faster, potentially making OOM events more frequent rather than fixing them.

  • Delete and recreate the pod to clear the crash loop

    Why it's wrong here

    This action treats the symptom rather than the cause: a pod in CrashLoopBackOff will be recreated by its ReplicaSet or Deployment with the exact same resource `limits.memory`, so the new container will hit the identical OOMKilled threshold and crash again. Even a manual `kubectl delete pod` followed by `kubectl apply` of the same manifest reproduces the loop because no specification change was made. Only adjusting the memory limit (or fixing the application's memory leak) breaks the cycle.

  • Delete the namespace and redeploy all workloads

    Why it's wrong here

    Deleting the entire `production` namespace is a massive blast-radius action that removes every Service, Deployment, ConfigMap, Secret, and PVC in that environment, not just the problematic pod. Even after recreating all workloads, the pod's YAML still contains the original memory limit, so the container will be OOMKilled identically. Pod-level issues should be remediated with targeted edits such as `kubectl edit` or `kubectl patch` on the specific resource, never by destroying shared infrastructure.

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.