简单聊聊Calico与Flannel
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 本人在接触k8s的2年多过程中对于flannel和calico都使用过,也查阅资料了解过此两种网络的底层,今天简单聊聊Calico与Flannel两种网络,如有错误之处欢迎指正。 容器虚拟化网络方案,总体分为2种截然不同的发展路线: 基于隧道 基于路由 基于隧道 1、隧道方案最具普适性,在任何网络环境下都可以正常工作,这与它的原理密不可分。 2、最常见的隧道方案是flannel vxlan模式,以及calico的ipip模式,其核心原理包含了2个部分。 分配网段 每台宿主机上都有网络插件的agent进程,它们连接到etcd集中式存储,从虚拟IP池中申请一个IP段占位己有,宿主机上每个容器则从IP段中分配得到1个虚拟IP。 封装/解封 1)、当不同宿主机上的容器互相访问时,数据包的源IP和目标IP都是容器IP。 2)、数据包经过宿主机的agent进程进行封装后,新数据包的源IP和目标IP则变成了两端宿主机的物理IP。 3)、数据包送到目标宿主机后,经过agent解封后得到原始数据包,并将数据包送入容器中处理,这就给两端容器营造了一种互通的感觉。 4)、因为物理IP属于3层网络,可以在互联网中经过中间路由设备互相送达,所以隧道方案对宿主机之间的网络环境没有特殊要求