Courseiva

CKAD Practice Question: Application Environment, Configuration and Security

A Deployment is configured with 'resources.requests.memory: 256Mi' and 'resources.limits.memory: 512Mi'. The node runs out of memory. Which pods will be the first to be evicted?

⚠ Common exam trap

CNCF often tests the misconception that setting a memory limit alone protects a pod from eviction, but the key factor is the QoS class derived from the relationship between requests and limits, not just the presence of 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

✓

BestEffort pods first, then this Burstable pod, then Guaranteed pods last

C is correct because Kubernetes evicts pods based on their Quality of Service (QoS) class when a node runs out of memory. BestEffort pods (no requests/limits) are evicted first, followed by Burstable pods (requests < limits, as in this case), and Guaranteed pods (requests == limits) are evicted last. This ensures that pods with stricter resource guarantees are more protected during memory pressure.

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 will not evict pods if limits are set

    Why it's wrong here

    Setting memory limits does not exempt a pod from node-level eviction. The kubelet continuously monitors the node's memory pressure—driven by the sum of all container usage relative to the node's allocatable capacity—and when pressure exceeds a threshold, it selects pods for eviction in a QoS-based order, regardless of whether limits are configured. Limits only affect the pod's QoS class (via the ratio of requests to limits) and the kernel's OOM score, not the eviction decision itself.

  • ✗

    This pod will be evicted first because it has a memory limit

    Why it's wrong here

    Having a memory limit makes this pod Burstable (since requests are set but do not equal limits), and the eviction order places BestEffort pods—those with no requests or limits—first. A Burstable pod is never evicted 'first' simply because a limit exists; instead, it is evicted only after all BestEffort pods are removed, and before Guaranteed pods. The presence of a limit actually marks the pod as higher quality than BestEffort, so it is protected somewhat, not preferentially evicted.

  • ✓

    BestEffort pods first, then this Burstable pod, then Guaranteed pods last

    Why this is correct

    Under node memory pressure, the kubelet selects eviction victims by QoS class: it first targets BestEffort pods (no requests/limits), then Burstable pods (requests set, limits may differ), and finally Guaranteed pods (requests equal limits). Because this deployment sets only a memory request, it is Burstable, so it will be evicted after every BestEffort pod on the node has been reclaimed and before any Guaranteed pod is touched. This ordering is a core part of the Kubernetes eviction mechanism and helps protect the most critical workloads during resource shortages.

  • ✗

    All pods are evicted simultaneously

    Why it's wrong here

    Eviction under memory pressure is a graduated, ordered process, not a simultaneous cleanup. The kubelet computes a list of candidate pods sorted by QoS class—BestEffort, then Burstable, then Guaranteed—and evicts pods one by one, stopping once the node returns to an acceptable memory level. If pressure persists, it continues down the list; but pods are removed sequentially, and Guaranteed pods are always the last to be touched, so all pods never disappear at the same moment.

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.