You may have noticed that, when running kubectl get nodes, the NodeStatus is NotReady. This is because the cluster we have bootstrapped is missing one essential component—the network infrastructure that will allow the pods running on our cluster to communicate with one another.
The network model of a Kubernetes cluster is somewhat different from that of a standard Docker installation. There are many implementations of networking infrastructure that can provide cluster networking for Kubernetes, but they all have some key attributes in common, as shown in the following list:
- Each pod is assigned its own IP address
- Each pod can communicate with any other pod in the cluster without NAT (not withstanding additional security policies)
- The internal network that the software running inside a pod sees is identical to the pod network seen by other pods...