通过在每个node 上添加其他node的docker0 网桥的静态路由规则,就可以实现docker0 网桥的互通了。
这种方法需要在每个node的路由表中增加到对方docker0 的静态路由规则,以下例子:
pod1 所在docker0网桥的ip子网10.1.10.0,该node 姑且叫做node1,其地址为192.168.1.128;
pod2 所在docker0网桥的ip子网10.1.20.0,该node姑且叫做node2,地址为192.168.1.129
我们需要在node1上添加到node2上的docker0的静态路由规则,如下:
route add -net 10.1.20.0 netmask 255.255.255.0 gw 192.168.1.129
同样在node2上需要添加到node1的docker0上的静态路由股则,如下:
route add -net 10.1.10.0 netmask 255.255.255.0 gw 192.168.1.128
测试如下:
在node1上通过ping命令验证到node2上docker0的网络连通性。这10.1.20.1为node2上docker0的网桥自身地址
$ ping 10.1.20.1
如果有数据返回则 静态路由有效