In this chapter, we will examine the important topic of networking. Kubernetes as an orchestration platform manages containers/pods running on different machines (physical or virtual) and requires an explicit networking model. We will look at the following topics:
Kubernetes networking model
Standard interfaces that Kubernetes supports, such as EXEC, Kubenet, and in particular, CNI
Various networking solutions that satisfy the requirements of Kubernetes networking
Network policies and load balancing options
Writing a custom CNI plugin
At the end of this chapter, you will understand the Kubernetes approach to networking and be familiar with the solution space for aspects such as standard interfaces, networking implementations, and load balancing. You will even be able to write your very own CNI plugin if you wish.