【问题标题】:Docker Swarm, multiple hosts not in same local network but reachable over IPDocker Swarm,多个主机不在同一个本地网络中,但可通过 IP 访问
【发布时间】:2019-01-10 00:48:24
【问题描述】:

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

这不适用于生产设置。

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

感谢您的宝贵时间!

【问题讨论】:

  • 你是怎么解决的?我也有同样的情况

标签: docker docker-swarm docker-swarm-mode


【解决方案1】:

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

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

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

【讨论】:

  • 非常感谢您的回答,是的,我知道延迟至关重要。谢谢。
  • @Sandi 可用区。不同区域中的节点不太可能同时发生故障,因为它们应该具有独立的电源、网络、物理位置等。
  • @BMitch 非常感谢!我会在谷歌上详细了解它。
猜你喜欢
  • 2013-08-10
  • 2023-03-29
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多