我正在尝试使用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