This book demystifies how Kubernetes networking actually works by walking through a simple but practical simulation that mirrors reality as closely as possible, while skipping the gory details.
Widespread adoption of container orchestration platforms like Kubernetes have spawned a whole field of industry products, startups and academic research in the field of container networking, typically termed as cloud-native networking. But, what is cloud-native networking? What are the various pieces and how do they fit together?
Over recent years, most applications have been deployed on cloud infrastructure. Kubernetes has been the widely adopted orchestrator for these clouds. Application developers in most cases are unaware of the underlying plumbing in Kubernetes that holds their applications running as containers. Networking is an integral part of any Kubernetes environment and efficiently drives the various abstractions provided by it. Needless to say, it greatly effects the performance of applications, which in general have a humongous amount of inter-microservice communication. The impact is even more profound in multiple cloud environments.