Search code examples
linuxkubernetesvirtual-machinekubectlrke

How do nodes communicate with each other in a Kubernetes cluster?


I executed the kubectl get nodes -o wide command, and in the results, there is a column labeled INTERNAL-IP, which displays the internal IP for each node. I would like to understand if the nodes use this IP to communicate with each other and with the control plane (master node) as well.

Additionally, what role does Calico play in this particular scenario?


Solution

  • So a kubernetes cluster is basically setup like a network. Every node/pod gets its own internal ip address and it's own entry in the kube-dns! All nodes and pods can communicate with each other over the given ip addresses (it doesn't matter if its a master node or not) or hostname.

    If you use Calico it implements a more advanced networking model using the BGP Protocol (more detailed information about Calcico)

    Calcico also brings some other features like:

    • more possibilities to define network policy's
    • more advanced security features
    • especially designed for large scale deployments
    • ip address management solutions can be used, for greater control over ip allocation