In this chapter, we quickly reviewed some of Kubernetes' main features. We compared most of the must-have orchestration features with those discussed in Chapter 8, Orchestration Using Docker Swarm. Both provide workload deployment and the management of a distributed pool of nodes. They monitor an application's health and allow us to upgrade components without service interruption. They also provide networking and publishing solutions.
Pods provide higher container density, allowing us to run more than one container at once. This concept is closer to applications running on virtual machines and makes container adoption easier. Services are logical groups of pods and we can use them to expose applications. Service discovery and load balancing work out of the box dynamically.
Cluster-wide networking requires additional plugins in Kubernetes, and we also learned that a flat network can facilitate routing on different hosts and make some things easier; however, it does not...