In order to understand the network requirements of our cluster, we first need to understand the Kubernetes networking model and what problems it aims to solve. Container networking can be very hard to grasp; however, it has three essential problems:
- How do containers talk to each other (on the same host and on different hosts)?
- How do containers talk to the outside world, and how does the outside world talk to the containers?
- Who allocates and configures each container's unique IP address?
Containers on the same host can talk to each other through a virtual bridge that you can see with the brctl utility from the bridge-utils package. This is handled by the Docker engine and it's called the Docker networking model. Containers are attached to the virtual bridge named docker0 through a veth virtual interface that is allocated an IP from a private...