网络实现由多种方式1)使用overlay 2)使用平网络3)使用underlay,即IaaS层的网络
如果网络规模不是很大可以采用平网络,然后对docker的bridge进行改造等方式完成,如果实在需要overlay,也可以参考京东、openshift等的网络选型,有很多种SDN的开源软件实现。
容器网络封装因为容器平台使用了如Flannel(vxlan)等网络解决方案,该网络方案在通讯过程中会有封包和解包动作,造成网络损耗,一般会损耗30%的带宽,目前还没有成熟的容器网络解决方案,预计要解决该问题需要硬件支持,类似SDN的解决方案。
另外如果集群规模不是很大(几千台宿主机以内),容器平台的网络最好还是使用Host或者Bridge,我们在开始建设容器平台项目时其实考虑过网络的方案,在实际的项目中也使用过,但效果不是很好,最后应用的网络又回到了Host或者Bridge。
还有一种方案是如果公司本身有开发能力,可以对docker的网络进行二次开发,替换掉docker0,使用二层网络。
收起