k8s网络之flannel

所有的网络方案都是为了解决容器的跨主通信的问题。

 flannel支持的三种网络后端:

vxlan

host-gw

udp(性能太差,已经被弃用了,UDP的封装和解封都是在用户态执行的,vxlan是内核模块,直接在内核中进行解封封装)

flannel

10.10.0.0/16位网段

每个node节点都有flannel的一个子网

事实上每个宿主机的所有容器,都属于该宿主机被分配的一个子网。

每个node节点,比如node-1 是10.10.1.0/24,node-2是10.10.2.0/24 node-3是10.10.3.0/24

宿主机和子网的对应关系在ETCD中保存。

vlxlan模式详解:

 

可以看到,图中每台宿主机上名叫 flannel.1 的设备,就是 VXLAN 所需的 VTEP 设备,它既有 IP 地址,也有 MAC 地址.

 现在,我们的 container-1 的 IP 地址是 10.1.15.2,要访问的 container-2 的 IP 地址是 10.1.16.3

原文地址:https://www.cnblogs.com/shanghai1918/p/12875786.html