KCNA Kubernetes Fundamentals Practice Question
A team wants to run a database Pod that must be scheduled onto a node with an SSD and must not be evicted when the node comes under memory pressure. Which combination of fields should be configured in the Pod spec?
⚠ Common exam trap
The trap here is believing a high PriorityClass prevents eviction, when priority affects scheduling and preemption while QoS class determines eviction order under node pressure.
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
✓
nodeAffinity with a disk-type match and resource requests equal to limits for memory
Node placement is expressed through nodeSelector or nodeAffinity, and protection from kubelet eviction under resource pressure comes from the Pod's QoS class. Setting memory requests equal to limits yields Guaranteed QoS, which is evicted last. Taints, tolerations, PriorityClass, and PodDisruptionBudgets address different concerns and do not provide the required placement plus eviction resistance together.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
nodeAffinity with a disk-type match and resource requests equal to limits for memory
Why this is correct
nodeAffinity with a requiredDuringSchedulingIgnoredDuringExecution rule pins the Pod to SSD-labeled nodes, and setting memory requests equal to limits makes the Pod Guaranteed QoS. Guaranteed Pods are the last to be evicted when a node exceeds its memory eviction threshold, satisfying both the placement and eviction-resistance requirements.
- ✗
A taint on the database Pod and a matching toleration on the SSD nodes
Why it's wrong here
Taints are applied to nodes and tolerations to Pods, so putting a taint on the Pod has no scheduling effect. Even if the direction were corrected, taints and tolerations only control which nodes a Pod may land on; they provide no protection against kubelet eviction when the node experiences memory pressure.
- ✗
nodeSelector with a disk-type label and a PriorityClass with a high value
Why it's wrong here
nodeSelector correctly constrains scheduling to labeled nodes, but a high PriorityClass only affects scheduling order and preemption of lower-priority Pods. It does not prevent kubelet eviction under memory pressure; that behavior is governed by the Pod's QoS class and the kubelet's eviction thresholds, so this combination does not meet the second requirement.
- ✗
A PodDisruptionBudget with minAvailable set to one and an emptyDir volume
Why it's wrong here
A PodDisruptionBudget limits voluntary disruptions such as node drains, not kubelet-initiated evictions triggered by memory pressure. An emptyDir volume is node-local scratch storage and does not influence scheduling or eviction priority, so this pairing leaves the Pod vulnerable and does not enforce SSD placement.
About these practice questions
This KCNA question is part of Courseiva's 930-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 →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official CNCF exam blueprint
This KCNA 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 KCNA exam.