CKAD Services and Networking Practice Question
A developer wants to expose a set of Pods on a specific port on each node's IP. Which Service type should be used?
⚠ Common exam trap
Candidates often confuse NodePort with LoadBalancer, thinking LoadBalancer is needed for external access, but the question specifically asks for exposure on each node's IP, which is exactly what NodePort provides without requiring a cloud load balancer.
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
✓
NodePort
NodePort is the correct Service type because it exposes each Pod's port on a static port (the NodePort) on every node's IP address. This allows external traffic to reach the Pods by accessing any node's IP on that specific port, fulfilling the requirement to expose the Pods on a per-node IP basis.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
LoadBalancer
Why it's wrong here
A LoadBalancer provisions an external cloud load balancer with a public-facing IP, not a per-node IP; the requirement is to expose Pods on each node’s IP, which a NodePort service achieves by opening a static port on every node’s own IP address. This option is tempting because LoadBalancer also exposes a service externally, but it abstracts away node-level addressing by routing traffic through a single cloud load balancer endpoint rather than binding to each node’s individual IP.
- ✗
ClusterIP
Why it's wrong here
ClusterIP allocates a virtual IP reachable only inside the cluster, so it cannot expose Pods on each node's IP. It is tempting because ClusterIP is the default Service type for internal pod-to-pod traffic, and it would be correct where only in-cluster clients need to reach the Pods.
- ✓
NodePort
Why this is correct
NodePort allocates a static port on every node's IP and forwards traffic to the backing Pods, satisfying the requirement to expose Pods on a specific port on each node. ClusterIP and LoadBalancer do not provide per-node port exposure.
- ✗
ExternalName
Why it's wrong here
ExternalName maps a Service to an external DNS name via a CNAME record; it creates no port on any node. It is tempting because ExternalName is designed for referencing external dependencies, and it would be correct where pods must reach an outside host by a stable in-cluster DNS name.
Go deeper
Related to this question
About these practice questions
This CKAD question is part of Courseiva's 826-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 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.