Docker-Swarm:加入来自另一个子网的 docker-swarm
Docker-Swarm: Join a docker-swarm from another subnet
我在同一个子网中有 4 个虚拟机,它们是 docker-swarm 的一部分。
现在我想连接另一个位于不同国家(不同子网)的节点(虚拟机)。
我是一个 IP 菜鸟,我很难在 docker 中设置一个能够处理此连接的覆盖网络。
设置这种 docker-swarm 需要注意哪些方面?
您需要在集群节点之间打开以下端口:
- 2377/tcp:群模式api
- 7946/两者:覆盖网络控制
- 4789/udp:覆盖网络数据
- 覆盖网络的 ipsec(安全选项)协议 50
以下 iptables 命令可用于此(您可能希望将源主机限制为仅其他 docker 群节点):
iptables -A INPUT -p tcp -m tcp --dport 2377 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m udp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 4789 -j ACCEPT
iptables -A INPUT -p 50 -j ACCEPT
这需要在所有集群节点上配置(如果它们具有限制性主机防火墙)以及保护子网的网络防火墙。
我在同一个子网中有 4 个虚拟机,它们是 docker-swarm 的一部分。 现在我想连接另一个位于不同国家(不同子网)的节点(虚拟机)。 我是一个 IP 菜鸟,我很难在 docker 中设置一个能够处理此连接的覆盖网络。
设置这种 docker-swarm 需要注意哪些方面?
您需要在集群节点之间打开以下端口:
- 2377/tcp:群模式api
- 7946/两者:覆盖网络控制
- 4789/udp:覆盖网络数据
- 覆盖网络的 ipsec(安全选项)协议 50
以下 iptables 命令可用于此(您可能希望将源主机限制为仅其他 docker 群节点):
iptables -A INPUT -p tcp -m tcp --dport 2377 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m udp --dport 7946 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 4789 -j ACCEPT
iptables -A INPUT -p 50 -j ACCEPT
这需要在所有集群节点上配置(如果它们具有限制性主机防火墙)以及保护子网的网络防火墙。