基于OVS+VXLAN实现Docker容器跨主机通讯

示意图如下:
基于OVS+VXLAN实现Docker容器跨主机通讯_第1张图片

一、OVS+GRE实现方式

参见:http://blog.csdn.net/dylloveyou/article/details/53241964

二、改为vxlan模式及测试

docker33上面操作(docker32上面也一样,只是remote_ip为11.11.175.33):
先删除 gre0 的port
ovs-vsctl del-port gre0
将vxlan0挂接到br0
ovs-vsctl add-port br0 vxlan0 – set interface vxlan0 type=vxlan options:remote_ip=11.11.175.32

33上启动一个容器
docker start test_mysql02
查看IP
基于OVS+VXLAN实现Docker容器跨主机通讯_第2张图片

32上面启动一个容器
查看IP
基于OVS+VXLAN实现Docker容器跨主机通讯_第3张图片

互相ping
基于OVS+VXLAN实现Docker容器跨主机通讯_第4张图片

基于OVS+VXLAN实现Docker容器跨主机通讯_第5张图片

显示两个跨主机容器能互相ping通

查看数据流包流向
tcpdump -i eth0 -T vxlan

21:46:16.674200 IP 11.11.175.32.45120 > 11.11.175.33.4789: VXLAN, flags [I] (0x08), vni 0
IP 172.17.42.6 > 172.17.43.9: ICMP echo request, id 65, seq 596, length 64
21:46:16.674885 IP 11.11.175.33.53854 > 11.11.175.32.4789: VXLAN, flags [I] (0x08), vni 0
IP 172.17.43.9 > 172.17.42.6: ICMP echo reply, id 65, seq 596, length 64

查看创建的port
基于OVS+VXLAN实现Docker容器跨主机通讯_第6张图片

你可能感兴趣的:(docker,云计算,OpenvSwitch)