CKAD Services and Networking Practice Question
You want to expose a Deployment 'app' externally on port 30080 on each node. What service type should you use?
⚠ Common exam trap
Candidates often confuse NodePort with LoadBalancer, thinking that exposing on 'each node' implies a load balancer, but NodePort specifically provides per-node port exposure without requiring a cloud provider.
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
A NodePort service exposes the Deployment on a static port (30080) on each node's IP address, making it accessible externally via <NodeIP>:30080. This is the correct choice because the requirement explicitly asks to expose the app on port 30080 on each node, which matches the NodePort service type's behavior of opening a specific port on every node in the cluster.
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 type provisions a cloud provider's load balancer, which routes external traffic to the service's node ports. While it does expose the deployment externally, it requires cloud-specific infrastructure and incurs additional cost and latency, making it overkill compared to the simpler NodePort that directly exposes on each node's IP.
- ✗
ExternalName
Why it's wrong here
ExternalName returns a CNAME record pointing to an external DNS name, rather than routing traffic to cluster pods. It does not expose the deployment's pods at all; it merely creates a DNS alias for external services, so it cannot fulfill the requirement of exposing the deployment on a port externally.
- ✓
NodePort
Why this is correct
NodePort is the correct choice because it exposes the service on a static port on every worker node's IP address, allowing external clients to access the deployment via any node's IP:nodePort. This provides direct external access to the pods without needing a cloud load balancer, and it's the standard way to expose a deployment on a specific port for simple use cases.
- ✗
ClusterIP
Why it's wrong here
ClusterIP is the default service type that assigns an internal IP address reachable only from within the Kubernetes cluster. It does not provide any external connectivity on its own, since it lacks the node-level port mapping that NodePort adds, so it cannot expose the deployment externally on a port.
Go deeper
Related to this question
About these practice questions
One of 160 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 →
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.