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 IPs change frequently. Without services, applications would not be able to reliably communicate with each other. Kubernetes Services provide stability and simplify networking 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.