Courseiva
Services and Networking →hardMultiple Select

CKA Services and Networking Practice Question

Which TWO statements about EndpointSlices are correct?

⚠ Common exam trap

Watch out — candidates often assume EndpointSlices are a manual or optional feature, or that they only apply to ClusterIP Services, when in reality they are the default and automatically managed for all Services with selectors, and they support topology-aware routing.

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

✓

EndpointSlices improve scalability compared to Endpoints.

Option A is correct because EndpointSlices improve scalability over the legacy Endpoints object: instead of one large Endpoints resource per Service, the EndpointSlice controller splits endpoints across multiple EndpointSlice objects (default up to 100 endpoints per slice), reducing the size of updates propagated to kube-proxy and other watchers. Option B is correct because each EndpointSlice endpoint includes topology information such as the node's zone and hostname (under the topology field, e.g., kubernetes.io/hostname and topology.kubernetes.io/zone), which enables topology-aware routing and traffic distribution. Option C is incorrect because EndpointSlices are normally created and managed automatically by the EndpointSlice controller (and mirrored by kube-proxy), not manually by users. Option D is incorrect because a single EndpointSlice can hold many endpoints (up to 100 by default), not just one. Option E is incorrect because EndpointSlices back all Service types that have endpoints, including ClusterIP, NodePort, LoadBalancer, and headless Services, not only ClusterIP.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    EndpointSlices improve scalability compared to Endpoints.

    Why this is correct

    The legacy Endpoints API stores every IP address for a Service in a single object, which becomes extremely large and causes every node's kube-proxy to be notified on any change. EndpointSlices partition that data into multiple, smaller objects that default to a maximum of 100 endpoints each, so scaling to thousands of pods does not create a single massive, frequently updated resource. This dramatically reduces the update blast radius and improves overall cluster performance.

  • ✓

    EndpointSlices include topology information like zone.

    Why this is correct

    Each EndpointSlice can carry topology metadata, including the `topology.kubernetes.io/zone` label, which records the zone from which each endpoint's pod was scheduled. kube-proxy uses this information to implement topology-aware routing, such as preferring endpoints in the same zone as the client to reduce cross-zone traffic. This topology hinting capability is a key improvement over the flat list of addresses in the legacy Endpoints object, enabling lower latency and reduced network costs in multi-zone clusters.

  • ✗

    EndpointSlices are created manually by the user.

    Why it's wrong here

    EndpointSlices are not meant to be created manually; the endpoint controller automatically creates and manages them for every Service that has a selector. When Pods matching the Service's selector change, the controller reconciles the corresponding EndpointSlices, adding or removing endpoints as needed. Attempting to create them manually is unnecessary and would likely be overwritten or conflict with the controller's generated slices, so the statement is false.

  • ✗

    Each EndpointSlice can contain only one endpoint.

    Why it's wrong here

    An EndpointSlice does not represent a single endpoint but is a collection that can hold multiple endpoints, with a default maximum of 100 per slice. When a Service has more than 100 matching Pods, the controller automatically creates additional EndpointSlices, each containing a subset of the endpoints. This batching is exactly what provides scalability advantages over the monolithic Endpoints object, and limiting a slice to one endpoint would defeat the purpose.

  • ✗

    EndpointSlices are only used with ClusterIP services.

    Why it's wrong here

    EndpointSlices are used with all Service types that have a selector, not just ClusterIP. Services of type NodePort and LoadBalancer also rely on the same EndpointSlice objects because their traffic must be forwarded to the backing Pods; only Services without selectors (like ExternalName) do not generate EndpointSlices. The endpoint controller watches every selected Service regardless of its type, so the claim that EndpointSlices are exclusive to ClusterIP is incorrect.

Go deeper

Related to this question

About these practice questions

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