各种容器网络方案对比

云计算领域大小事,你都能尽在掌握

单主机网络就不多说了,因为也比较简单,我们重点对比几种多主机网络方案。

对比的维度有以下几种:网络模型,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 作为隧道的话,能支持更多的二层网段,安全性也更高,所以,需要综合考虑。

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

参考:

http://www.cnblogs.com/CloudMan6/p/7587532.html

END

IOS 赞赏通道

本文由“壹伴编辑器”提供技术支持

欢迎关注我的微信

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180420G0LKKW00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券