Summary
In this chapter, we learned that Services bring stable and reliable networking to apps deployed on Kubernetes. They also perform load balancing and allow us to expose elements of our application to the outside world (outside of the Kubernetes cluster).
The frontend of a Service is fixed, providing stable networking for the Pods behind it. The backend of a Service is dynamic, allowing Pods to come and go without impacting the ability of the Service to provide load balancing.
Services are first-class objects in the Kubernetes API and can be defined in the standard YAML manifest files. They use label selectors to dynamically match Pods, and the best way to work with them is declaratively.