flannel 为什么能让两个宿主机上面的pod通信?![]()
Flannel的host-gw 模型,就是在两台宿主机上添加了去往对端pod网络的一条路由。
你所有的运算节点在同一个二层网络下,flannel 用 host-gw 模型
flannel 的其他网络模型: VxLAN ##会虚拟出来一个flannel.1 设备(网卡),两台宿主机上的flannel.1 组成了一个flannel 网络隧道。 '{"Network": "172.7.0.0/16", "Backend": {"Type": "VxLAN"}}' 直接路由模型:VxLAN 和 直接路由的混合模型 '{"Network": "172.7.0.0/16", "Backend": {"Type": "VxLAN","Directrouting": true}}' 当flannel发现两台宿主机在同一个二层网络下,就走,host-gw ,如果两台宿主机网络不再同一个二层网络下,就走VxLAN模型。 ###########++++++ flannel 更换网络模型: supervisorctl stop flanneld-7-21 再结束flanneld 进程 cd /opt/etcd ./etcdctl rm /coreos.com/network/config ./etcdctl set /coreos.com/network/config '{"Network": "172.7.0.0/16", "Backend": {"Type": "VxLAN"}}'