Bird
Raised Fist0
Kubernetesdevops~20 mins

Endpoints and endpoint slices in Kubernetes - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
EndpointSlice Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Difference between Endpoints and EndpointSlices

Which statement correctly describes the difference between Kubernetes Endpoints and EndpointSlices?

AEndpoints are used only for headless services, while EndpointSlices are used only for ClusterIP services.
BEndpoints store all IP addresses of pods for a service in a single object, while EndpointSlices split these addresses into multiple smaller objects for scalability.
CEndpoints automatically balance traffic, but EndpointSlices require manual load balancing configuration.
DEndpoints are deprecated and replaced by Services, while EndpointSlices are deprecated and replaced by Ingress.
Attempts:
2 left
💡 Hint

Think about how Kubernetes manages large numbers of pod IPs for a service.

💻 Command Output
intermediate
2:00remaining
Output of kubectl get endpointslice command

What is the output of the following command if a service named webapp has 3 pods running?

kubectl get endpointslice -l kubernetes.io/service-name=webapp
A
NAME           ADDRESS-TYPE   PORTS
webapp-abcde   IPv6           443
B
NAME           ADDRESS-TYPE   PORTS
webapp-abcde   IPv4           80
webapp-abcde   IPv4           80
webapp-abcde   IPv4           80
C
NAME           ADDRESS-TYPE   PORTS
webapp-abcde   IPv4           80
webapp-fghij   IPv4           80
webapp-klmno   IPv4           80
DNo resources found in default namespace.
Attempts:
2 left
💡 Hint

EndpointSlices group pod IPs but do not duplicate the same slice multiple times.

❓ Configuration
advanced
2:00remaining
Configuring EndpointSlice Controller

You want to enable EndpointSlice support in your Kubernetes cluster. Which configuration snippet correctly enables the EndpointSlice controller in the kube-controller-manager manifest?

A--feature-gates=EndpointSlices=false
B--enable-controller=endpoint-slice
C--enable-endpointslice-controller=true
D--feature-gates=EndpointSlice=true
Attempts:
2 left
💡 Hint

Look for the standard way Kubernetes enables features via feature gates.

❓ Troubleshoot
advanced
2:00remaining
Troubleshooting missing EndpointSlices

You notice that your service has Endpoints but no EndpointSlices. Which is the most likely cause?

AThe EndpointSlice controller is disabled or not running in the cluster.
BThe service type is LoadBalancer, which does not support EndpointSlices.
CThe pods backing the service are not ready, so EndpointSlices are not created.
DEndpointSlices are only created for services with external IPs.
Attempts:
2 left
💡 Hint

Think about what component manages EndpointSlices.

🔀 Workflow
expert
3:00remaining
Sequence to migrate from Endpoints to EndpointSlices

What is the correct order of steps to migrate a Kubernetes cluster from using Endpoints to EndpointSlices for service discovery?

A1,2,3,4
B2,1,3,4
C1,3,2,4
D3,1,2,4
Attempts:
2 left
💡 Hint

Think about enabling features first, then verifying, then updating services, then monitoring.

Practice

(1/5)
1. What is the primary purpose of Kubernetes Endpoints?
easy
A. To list the IP addresses of pods behind a service
B. To store configuration data for pods
C. To manage persistent storage volumes
D. To schedule pods on nodes

Solution

  1. Step 1: Understand the role of Endpoints in Kubernetes

    Endpoints represent the IP addresses of pods that a service routes traffic to.
  2. Step 2: Differentiate Endpoints from other Kubernetes objects

    Endpoints do not manage storage, scheduling, or configuration; they only list pod IPs behind a service.
  3. Final Answer:

    To list the IP addresses of pods behind a service -> Option A
  4. Quick Check:

    Endpoints = Pod IP list [OK]
Hint: Endpoints show pod IPs for services [OK]
Common Mistakes:
  • Confusing Endpoints with ConfigMaps
  • Thinking Endpoints manage storage
  • Assuming Endpoints schedule pods
2. Which kubectl command correctly lists EndpointSlices in the default namespace?
easy
A. kubectl describe endpointslices
B. kubectl get endpointslices -n default
C. kubectl get endpointslices
D. kubectl get endpoints -n default

Solution

  1. Step 1: Identify the correct resource name for EndpointSlices

    The resource name is 'endpointslices' (all lowercase, plural).
  2. Step 2: Use kubectl get with namespace option

    To list EndpointSlices in the default namespace, use 'kubectl get endpointslices -n default'.
  3. Final Answer:

    kubectl get endpointslices -n default -> Option B
  4. Quick Check:

    Correct resource and namespace flag = kubectl get endpointslices -n default [OK]
Hint: Use 'kubectl get endpointslices -n default' to list EndpointSlices [OK]
Common Mistakes:
  • Omitting the namespace flag when needed
  • Using 'endpoints' instead of 'endpointslices'
  • Using describe instead of get for listing
3. Given the following command output, what does it indicate about the service 'webapp'?
kubectl get endpoints webapp
NAME     ENDPOINTS           AGE
webapp   10.1.2.3:80,10.1.2.4:80   5m
medium
A. The service 'webapp' is using EndpointSlices instead of Endpoints
B. The service 'webapp' is not connected to any pods
C. The service 'webapp' has pods but no ports exposed
D. The service 'webapp' has two pods with IPs 10.1.2.3 and 10.1.2.4 serving on port 80

Solution

  1. Step 1: Analyze the 'kubectl get endpoints' output

    The output shows two IP addresses with port 80 listed under ENDPOINTS for 'webapp'.
  2. Step 2: Interpret the meaning of listed endpoints

    This means the service routes traffic to two pods at IPs 10.1.2.3 and 10.1.2.4 on port 80.
  3. Final Answer:

    The service 'webapp' has two pods with IPs 10.1.2.3 and 10.1.2.4 serving on port 80 -> Option D
  4. Quick Check:

    Endpoints list pod IPs and ports = The service 'webapp' has two pods with IPs 10.1.2.3 and 10.1.2.4 serving on port 80 [OK]
Hint: Endpoints output shows pod IPs and ports behind service [OK]
Common Mistakes:
  • Assuming no pods are connected when endpoints are listed
  • Confusing EndpointSlices with Endpoints output
  • Ignoring port numbers in the output
4. You run kubectl get endpointslices but see no output, even though your service has pods running. What is a likely cause?
medium
A. Pods are not running on any node
B. EndpointSlices feature is disabled in the cluster
C. The service has no selector labels
D. kubectl command is misspelled

Solution

  1. Step 1: Recall when EndpointSlices are created

    EndpointSlices are created only for services with selectors that match ready pods, generating endpoints.
  2. Step 2: Identify cause of empty output

    No selector labels means no automatic endpoints/EndpointSlices, resulting in no output (empty list). Feature disabled would error, not empty list.
  3. Final Answer:

    The service has no selector labels -> Option C
  4. Quick Check:

    No service selector = no EndpointSlices [OK]
Hint: No EndpointSlices despite pods? Check service selector matches pod labels [OK]
Common Mistakes:
  • Assuming feature disabled (causes API error, not empty list)
  • Thinking pods not running (contradicts premise)
  • Blaming kubectl misspelling
5. How do EndpointSlices improve Kubernetes service scalability compared to Endpoints?
hard
A. By splitting endpoints into smaller groups to reduce load on the API server
B. By caching pod IPs locally on each node
C. By replacing services with direct pod IP access
D. By encrypting endpoint data for security

Solution

  1. Step 1: Understand the limitation of Endpoints with many pods

    Endpoints list all pod IPs in one object, which can become large and heavy to manage.
  2. Step 2: Explain how EndpointSlices address this

    EndpointSlices split the endpoints into smaller chunks, reducing load on the API server and improving performance.
  3. Final Answer:

    By splitting endpoints into smaller groups to reduce load on the API server -> Option A
  4. Quick Check:

    EndpointSlices split endpoints for scalability [OK]
Hint: EndpointSlices split endpoints to reduce API load [OK]
Common Mistakes:
  • Thinking EndpointSlices cache IPs locally
  • Believing EndpointSlices replace services
  • Assuming EndpointSlices encrypt data
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard