What is a service in Kubernetes?

A service is an abstraction in Kubernetes that helps expose a dynamic set of pods over a network.
Each service object defines a logical set of endpoints (usually these endpoints are pods, but they can be other objects) along with a policy about how to make those endpoints accessible, either within the cluster or externally.