KCNA Kubernetes Fundamentals Practice Question
A platform engineer applies a Pod manifest that includes the field `spec.nodeName: k8s-worker-07`. The scheduler is running normally. What is the most accurate description of what happens to this Pod?
⚠ Common exam trap
The trap here is assuming kube-scheduler always validates placement, when a pre-set nodeName makes the Pod invisible to the scheduler entirely.
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
✓
The Pod is placed on k8s-worker-07 without kube-scheduler involvement, and the kubelet there attempts to run it regardless of taints or resource fit.
Populating spec.nodeName directly is the classic manual-scheduling pattern: kube-scheduler only considers Pods with an empty nodeName, so a Pod that already names a node skips the entire scheduling framework, including taint and affinity checks. The kubelet on the named node then takes over, and any resource or taint mismatch surfaces as a kubelet-level failure rather than a Pending Pod event.
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 API server rejects the manifest because nodeName cannot be set by users; it is only written by kube-scheduler.
Why it's wrong here
The API server accepts user-supplied nodeName; it is a writable field in the Pod spec, which is exactly why manual scheduling is possible. Only the binding subresource is restricted to the scheduler's identity in typical RBAC setups. Many debugging and static-Pod workflows rely on populating nodeName directly. Rejection would only occur for schema violations or admission policies, not for the field itself.
- ✓
The Pod is placed on k8s-worker-07 without kube-scheduler involvement, and the kubelet there attempts to run it regardless of taints or resource fit.
Why this is correct
Pre-setting spec.nodeName is a manual scheduling shortcut: kube-scheduler never sees the Pod as unscheduled, so no filtering predicates, taints, or resource-fit checks are applied. The kubelet on the named node observes the Pod and tries to start it, but if the node is tainted with NoExecute or lacks capacity, the kubelet may reject or evict it. This is why nodeName is discouraged for production scheduling.
- ✗
The kube-scheduler evaluates node affinity and taints before binding the Pod to k8s-worker-07.
Why it's wrong here
Setting nodeName bypasses the scheduling cycle entirely, so kube-scheduler never evaluates predicates, affinity, or taints for this Pod. The scheduler only acts on Pods whose nodeName is empty, watching for unscheduled Pods and filtering feasible nodes. Because the field is already populated, the scheduler has nothing to bind and will not reconsider the placement, even if the named node is tainted or lacks resources.
- ✗
The Pod is bound directly to k8s-worker-07 by the kubelet on that node, skipping the scheduler's binding step.
Why it's wrong here
The kubelet does not perform binding; it only watches the API server for Pods already assigned to its node and then runs their containers. Binding is normally performed by kube-scheduler through the binding subresource. With nodeName preset, the API server simply stores the Pod with that node assignment, and the kubelet on k8s-worker-07 picks it up. The kubelet is not the actor that creates the node association here.
Go deeper
Related to this question
About these practice questions
One of 930 original KCNA 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 →
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.