容器平台网络方案目前有哪些?

网络方案如Openvswitch(overlay)、 Macvlan(underlay)、Flannel(overlay)、Calico(routing)、NSX-T(routing)、Cisco(硬件)、 Juniper(硬件)各自优势劣势是什么,作为企业生产环境推荐使用哪种方案

1回答

顾黄亮顾黄亮  技术总监 , 苏宁消费金融有限公司
menglunyang赞同了此回答
docker跨主机网络方案包括: docker 原生的 overlay 和 macvlan。 第三方方案:常用的包括 flannel、weave 和 calico。 我们重点对比几种多主机网络方案。 对比的维度有以下几种:网络模型,IP 地址池管理(IP Address Management,IPAM),服务发现,连通与隔离,性能。 网络模型指的是构...显示全部

docker跨主机网络方案包括:

  • docker 原生的 overlay 和 macvlan。
  • 第三方方案:常用的包括 flannel、weave 和 calico。 我们重点对比几种多主机网络方案。

对比的维度有以下几种:网络模型,IP 地址池管理(IP Address Management,IPAM),服务发现,连通与隔离,性能。

网络模型指的是构成跨主机通信的网络结构和实现技术,比如是纯二层转发,还是纯三层转发;是 overlay 网络还是 underlay 网络等等。

IPAM 指的是如何管理容器网络的 IP 池。当容器集群比较大,管理的主机比较多的时候,如何分配各个主机上容器的 IP 是一个比较棘手的问题。Docker 网络有个 subnet 的概念,通常一个主机分配一个 subnet,但也有多个主机共用一个 subnet 的情况,具体的网络方案有不同的考量。具体看下面的表格总结。

服务发现本质上是一个分布式的 key-value 存储系统,用于跨主机通信时保存并同步各主机的网络信息,便于快速建立起各主机之间的网络连接。由于各网络方案实现上各有千秋,并不是所有的跨主机网络方案都要依据服务发现。

连通与隔离指的是容器跨主机之间是否能够互相通信,以及容器与外网(外网不一定指 Internet)之间如何通信。

性能具体指的是通信的时延,我们仅从各个网络方案的原理上来分析得出结论,所以这里的结论并不一定正确,因为不同的部署环境会对性能有一些影响,建议大家还是根据自己的环境动手实验验证为妙。

从原理上说,underlay 网络性能要优于 overlay 网络,因为 overlay 网络存在封包和拆包操作,存在额外的 CPU 和网络开销,所以,几种方案中,macvlan、flannel host-gw、calico 的性能会优于 overlay、flannel vxlan 和 weave。但是这个也不能作为最终生产环境采用的标准,因为 overlay 网络采用 vxlan 作为隧道的话,能支持更多的二层网段,安全性也更高,所以,需要综合考虑。

通过以上分析,我们可以得出以下的结论:

收起
 2020-08-24
浏览846

提问者

menglunyang系统工程师, 中国银行

问题状态

  • 发布时间:2020-08-24
  • 关注会员:2 人
  • 问题浏览:1668
  • 最近回答:2020-08-24