Courseiva
Workloads and Scheduling →hardMultiple Choice

CKA Workloads and Scheduling Practice Question

A pod has tolerations for a taint with key 'dedicated', value 'gpu', and effect 'NoSchedule'. The pod's nodeSelector is {disktype: ssd}. Which node(s) can this pod be scheduled on? (Assume node1 has taint dedicated=gpu:NoSchedule and label disktype=ssd; node2 has taint dedicated=gpu:NoSchedule and label disktype=hdd; node3 has no taint and label disktype=ssd)

⚠ Common exam trap

Watch out — candidates often think tolerations are required to match taints on all nodes, forgetting that a node without the taint is also eligible, and they may overlook that nodeSelector is a separate, mandatory constraint that can exclude nodes even if they are tolerated.

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

✓

node1 and node3

The pod has a toleration for the taint dedicated=gpu:NoSchedule, so it can tolerate that taint on any node. However, the pod also has a nodeSelector requiring disktype=ssd. Node1 has both the tolerated taint and the required label, so it qualifies. Node3 has no taint and the required label, so it also qualifies. Node2 has the tolerated taint but its label is disktype=hdd, which does not match the nodeSelector, so it is excluded. Therefore, only node1 and node3 can schedule the pod.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    node1 only

    Why it's wrong here

    This answer omits node3, which is schedulable because it has no taint at all. Tolerations are required only for nodes carrying a matching taint; a pod can always land on an untainted node even if its toleration doesn't apply. Since node3 also satisfies the nodeSelector (disktype=hdd), node1-only undercounts the eligible nodes and is therefore incorrect.

  • ✗

    node2 and node3

    Why it's wrong here

    This option incorrectly includes node2. Node2 fails the pod's nodeSelector because it is missing the disktype=hdd label (or has a different value), and tolerations do not override label-based selection. Node3 is indeed eligible, but the presence of node2 makes this set wrong because the kube-scheduler filters out nodes whose labels do not match the selector before taint/toleration logic is considered.

  • ✗

    node1, node2, and node3

    Why it's wrong here

    Including node2 is the critical flaw here. Node2 does not carry the disktype=hdd label required by the nodeSelector, so it is filtered out during the scheduling predicates regardless of whether its taints are tolerated. NodeSelector is a hard constraint independent of taints/tolerations; consequently, the eligible set cannot be all three nodes, and this answer must be rejected.

  • ✓

    node1 and node3

    Why this is correct

    Node1 qualifies because it satisfies the nodeSelector and has a toleration that matches the dedicated taint, so the taint is effectively ignored. Node3 qualifies because it has no taint, meaning no toleration is needed, and it also satisfies the nodeSelector. Node2 is excluded because it fails the nodeSelector label requirement. Thus the correct schedulable set is node1 and node3.

About these practice questions

This CKA question is part of Courseiva's 726-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 →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKA 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 CKA exam.