A Kubernetes Service is an abstraction that provides a stable network endpoint to access a set of pods, even as those pods are created, destroyed, or replaced. Also known as a K8s service, it enables reliable communication within and outside a Kubernetes cluster.
Pods in Kubernetes are ephemeral, and their IP addresses change frequently. Without Services, applications would not be able to communicate reliably with each other. Kubernetes Services provide stable networking and reduce Kubernetes operational overhead by simplifying service discovery and communication for microservices and distributed systems.
A service selects pods using label selectors and maintains a list of endpoints. Traffic sent to the service is load-balanced across these pods using kube-proxy or other networking mechanisms, depending on the cluster configuration.
BuildPiper manages Kubernetes Services as part of standardised deployment workflows. It ensures service definitions are consistent across environments and correlates service health with deployments and release activity.
Common types include ClusterIP, NodePort, LoadBalancer, and ExternalName, each serving different networking needs.
A service provides internal or basic external access, while an ingress manages HTTP/HTTPS routing, hostnames, and paths at the edge of the cluster.
BuildPiper integrates service definitions into CI/CD workflows and provides visibility into how services behave during deployments and rollouts.