终于想明白了,自己钻了牛角尖。"Docker’s overlay network driver supports multi-host networking natively out-of-the-box. This support is accomplished with the help of libnetwork, a built-in VXLAN-based overlay network driver, and Docker’s libkv library." -- https://docs.docker.com/engine ... orks/ 已经说明了Docker自己实现了这个2层vxlan网络,原生驱动就是Libvnet,因此无论下面基础设施是否为Azure都无所谓,也不需要通过Hyper-V的NVGRE,需要确保底层可以网络通信既可以,通过Consul或者etcd做地址维护就可以了。
2 个回复
翟老猫
赞同来自: zhengyq 、用心阁
终于想明白了,自己钻了牛角尖。"Docker’s overlay network driver supports multi-host networking natively out-of-the-box. This support is accomplished with the help of libnetwork, a built-in VXLAN-based overlay network driver, and Docker’s libkv library." -- https://docs.docker.com/engine ... orks/ 已经说明了Docker自己实现了这个2层vxlan网络,原生驱动就是Libvnet,因此无论下面基础设施是否为Azure都无所谓,也不需要通过Hyper-V的NVGRE,需要确保底层可以网络通信既可以,通过Consul或者etcd做地址维护就可以了。
翟老猫
赞同来自:
同问,而且这里创建网络没有问题但是挂接容器就出错,根据Docker Overlay Network说明Docker 容器实现跨主机通讯主要通过几种方式:自带overlay network插件,第三方插件如weave、ovs等;如果自带的插件是确定是VXLAN,我想在Azure上实现只能通过Azure提供的插件实现基于NVGRE封装的虚拟网络,这个有没有官方确认呢?