Docker Swarm,不在同一本地网络但可通过 IP 访问的多个主机

thi*_*t_p 7 docker docker-swarm docker-swarm-mode

我看到很多在集群模式下运行多个 Docker 节点的示例,但它们都提到节点共享本地/专用网络。我想知道,是否可以连接群上不在专用网络上的两台主机,但仍然可以通过 IP 相互访问并设置正确的端口?

在此输入图像描述

这不适用于生产设置。

是否有任何 Swarm 机制可以阻止这种架构?

感谢您的时间 !

BMi*_*tch 8

您可以通过公共互联网连接集群节点。需要的是:

  1. 每个节点的可路由 IP 地址,这可能需要节点之间的 VPN
  2. 防火墙规则允许每个节点之间的 2376/tcp、7946/tcp+udp、4789/udp
  3. 低延迟,如果超过心跳超时,节点将被标记为关闭并且工作负载将迁移

由于最后一个要求,人们通常会在同一区域但多个可用区安装节点。当您到达多个区域时,您通常会看到多个集群以降低集群内的延迟。