Kubernetes, like any other orchestrator, provides local and distributed networking. There are a few important communication assumptions that Kubernetes has to accomplish:
- Container-to-container communication
- Pod-to-pod communication
- Pod-to-service communication
- User access and communication between external or internal applications
Container-to-container communication is easy because we learned that containers within a pod share the same IP and network namespace.
We know that each pod gets its own IP address. Therefore, Kubernetes needs to provide routing and accessibility to and from pods running on different hosts. Following the Docker concepts that we learned about in Chapter 4, Container Persistency and Networking, Kubernetes also uses bridge networking for pods running on the same host. Therefore, all pods running on a host will be able to talk with each other using bridge networking.
Remember how Docker allowed us to deploy different bridge networks on a...