Courseiva
Application Observability and MaintenancehardMultiple ChoiceObjective-mapped

CKAD Application Observability and Maintenance Practice Question

You are debugging a network issue: a pod 'frontend' cannot reach a service 'backend' in the same namespace. The service endpoints are empty. What is the most likely cause?

⚠ Common exam trap

It's easy for candidates to confuse the cause of empty endpoints with other networking issues like port mismatches or kube-proxy problems, but the CKAD exam specifically tests the understanding that endpoints are directly tied to label selector matching, not to port configuration or proxy behavior.

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 service selector does not match the labels of any running pod.

B is correct because the most common reason for empty endpoints in a Kubernetes service is that the service's selector does not match the labels of any running pod. The service controller continuously monitors pods and updates the Endpoints object to include only those pods whose labels match the service's selector. If no pods match, the endpoints list remains empty, causing the frontend pod to fail to reach the backend service.

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 pod 'frontend' is not in the same namespace as the service 'backend'.

    Why it's wrong here

    The service's Endpoints are populated only by pods that live in the same namespace as the service and match its label selector. A client pod such as 'frontend' being in a different namespace has no effect on the service's endpoint creation; it would simply need to use the fully qualified service DNS name (backend.<namespace>.svc.cluster.local). Thus this condition could break resolution or connectivity, but it does not explain why the endpoint list is empty.

  • The service selector does not match the labels of any running pod.

    Why this is correct

    Endpoints are created by the endpoint controller, which watches pods and compares each pod's labels against the service's spec.selector. If no running pod carries every label key/value in that selector, the Endpoints object remains with an empty address list, even though the service itself exists. This is the textbook cause of an empty Endpoints resource and the correct answer to this symptom.

  • The pod's container port is different from the service port.

    Why it's wrong here

    The service port and the container port are deliberately decoupled: spec.ports[].port is the virtual ClusterIP port, while spec.ports[].targetPort points to the container port. As long as targetPort matches the port the container actually listens on, the endpoint list is populated with that targetPort address. A mismatch between service.port and containerPort is normal and does not affect endpoint generation; it would merely cause traffic to be sent to the wrong port if targetPort were also misconfigured.

  • The kube-proxy is misconfigured and not updating iptables rules.

    Why it's wrong here

    kube-proxy is responsible for translating Services into iptables, IPVS, or userspace rules, and it consumes Endpoints to build those forwarding rules. If kube-proxy is misconfigured, the rules may be missing or stale, causing traffic to the ClusterIP to fail even when the Endpoints list is correctly populated. Endpoints themselves are generated by the endpoint controller, not kube-proxy, so a kube-proxy fault explains a connectivity problem but never an empty endpoint list.

About these practice questions

This CKAD question is part of Courseiva's 160-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 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.