Understanding Kubernetes features for publishing applications cluster-wide
Kubernetes is a container orchestrator that allows users to run their applications’ workloads cluster-wide. We reviewed in Chapter 9, Implementing Architecture Patterns, the different patterns we can use to deploy our applications using different Kubernetes resources. Pods are the minimum deployment unit for our applications and have dynamic IP addresses, thus we can’t use them for publishing our applications. Dynamism affects the exposure of all the components internally and externally – while Kubernetes successfully makes the creation and removal of containers simple, the IP addresses used will continuously change. Therefore, we need an intermediate component, the Service resource, to manage the interaction of any kind of client with the Pods (running on the backend) associated with an application component. We can also have Service resources pointing to external resources (for example...