CKA Services and Networking Practice Question
You create a Service with clusterIP: None. What is this called and what is its purpose?
⚠ Common exam trap
Many exam-takers confuse the absence of a ClusterIP with a different Service type (like NodePort or ExternalName), not realizing that `clusterIP: None` specifically creates a Headless Service for direct pod DNS resolution.
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
✓
Headless Service; it allows direct pod-to-pod DNS resolution.
A Service with `clusterIP: None` is called a Headless Service. Its purpose is to allow direct pod-to-pod DNS resolution by returning the IP addresses of the backing pods (via DNS A/AAAA records) rather than a single virtual ClusterIP, enabling stateful applications like databases to discover individual pod endpoints.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
NodePort Service; it exposes on node ports.
Why it's wrong here
A NodePort Service requires a ClusterIP to function: the control plane allocates a clusterIP, then opens the same port on every node and forwards traffic from NodeIP:NodePort to that clusterIP. With `clusterIP: None`, no virtual IP exists, so kube-proxy cannot program NodePort routes. Thus this configuration cannot be called a NodePort Service.
- ✗
ExternalName Service; it maps to an external DNS name.
Why it's wrong here
An ExternalName Service is a special service type declared with `spec.type: ExternalName` and a `spec.externalName` field, which makes the cluster DNS return a CNAME for that external hostname rather than A records for internal pods. Setting `clusterIP: None` alone does not create an ExternalName mapping; it is the headless marker for selector-backed services. Therefore "ExternalName Service" is not the correct label.
- ✗
ClusterIP Service; it provides a stable IP.
Why it's wrong here
A standard ClusterIP Service is allocated a stable virtual IP from the cluster's service CIDR, and kube-proxy load balances that IP across the backing pods. Setting `clusterIP: None` explicitly requests that no clusterIP be allocated, so it is the opposite of a ClusterIP Service. This "None" value is the special designator for a headless service, not a regular ClusterIP.
- ✓
Headless Service; it allows direct pod-to-pod DNS resolution.
Why this is correct
A Service with `clusterIP: None` is a headless Service: the DNS lookup returns multiple A records, one for each ready endpoint, instead of a single virtual IP. This allows clients to discover and connect directly to individual pods, enabling pod-to-pod DNS resolution and client-side load balancing without kube-proxy.
Visual reference
Go deeper
Related to this question
About these practice questions
This CKA question is part of Courseiva's 302-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 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.