Sobes.tech
Middle

What is the purpose of Headless Service in Kubernetes?

sobes.tech AI

Answer from AI

Headless Service in Kubernetes is used to create a service without a dedicated IP address (without ClusterIP). Unlike a regular service, which load balances traffic and provides a single IP, a Headless Service does not assign an IP but returns DNS records with the IP addresses of all pods matching the selector.

Main uses of Headless Service:

  • Allows clients to directly access specific pods, bypassing the load balancer.
  • Used for StatefulSet, where identifying each pod individually is important.
  • Supports services with their own load balancer or client-side load balancing.

Example: if you create a Headless Service with the parameter clusterIP: None, a DNS query for the service name will return a list of IPs of all pods, not a single service IP.

This is useful for services where knowing specific instances is necessary (e.g., databases, clusters, cache services).