Docker swarm覆盖子网之间的网络

时间:2018-02-06 19:44:09

标签: docker docker-swarm docker-networking

我正在尝试使用CoreOS设置Docker群集群集。我有3个主机在子网中为管理员提供静态IP,5个主机在子网中为工作人员提供DHCP。有一个手动配置的静态路由,允许我与管理器子网通信。 IP已更改。

core@worker1 $ ping 10.13.12.8 # private, static IP of manager1
<nothing>
^C
core@worker1 $ sudo ip route add 10.13.12.0/23 dev eth0
core@worker1 $ ping 10.13.12.8
response from 10.13.12.8

这是问题1,真正的问题更令人困惑。如果我创建一个新的覆盖网络,并将busybox容器添加到该网络,我将无法从工作节点上的覆盖网络ping管理器节点,反之亦然。

core@manager1 $ docker network create -d overlay uber-net
core@manager1 $ docker service create --name test --network uber-net --replicas 8 busybox sleep 1d
core@manager1 $ docker exec -it test.manager1 sh
/ # ping 10.0.5.15 # IP of manager2's replica of test service
response from 10.0.5.15
/ # ping 10.0.5.14 # IP of worker1's replica of test service
<nothing>
^C

关于工人的故事也是如此

core@worker1 $ docker exec -it test.worker1 sh
/ # ping 10.0.5.15 # IP of manager2's replica of test service
<nothing>
^C
/ # ping 10.0.5.17 # IP of worker2's replica of test service
response from 10.0.5.17

我做错了什么?

编辑:我还使用netcat验证端口4789是否通过UDP打开,7946是通过TCP和UDP打开的。

core@manager1 $ ncat -ul 4789
hello
core@manager1 $ ncat -ul 7946
hello
core@manager1 $ ncat -l 7946
hello

core@worker1 $ ncat -u 10.13.12.8 4789
hello
^C
core@worker1 $ ncat -u 10.13.12.8 7946
hello
^C
core@worker1 $ ncat 10.13.12.8 7946
hello
^C

0 个答案:

没有答案