Courseiva
Services and NetworkingmediumMultiple ChoiceObjective-mapped

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

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

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 →

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.