How data flows between worker nodes in Kubernetes?

6/13/2021

I have a single master cluster with 3 worker nodes. The master node has one network interface of 10Gb capacity and all worker nodes have a 40Gb interface. They are all connected via a switch.

I'd like to know if this might create a bottleneck if the data between nodes have to pass through the master node?

In general, I like to understand the communication flow between worker nodes. For instance, a pod in node1 sends data to a pod in node2, does the traffic go through the master node? I have seen the architecture diagram on the Kubernetes docs and it appears to be the case:

enter image description here source: https://kubernetes.io/docs/concepts/overview/components/

If this is the case, it is possible to define a control plane network separate from the data plane by possibly adding another interface to worker nodes?

Please note that this is a bare-metal on-prem installation with OSS Kubernetes v1.20.

-- Muzammil
kubernetes

1 Answer

6/13/2021

For instance, a pod in node1 sends data to a pod in node2, does the traffic go through the master node?

No. Kubernetes is designed with a flat network model. If Pod on node A send a request to Pod on node B, the inter-node traffic is directly from node A to node B as they are on the same IP network.

See also The Kubernetes network model

-- Jonas
Source: StackOverflow