Docker Swarm 中的新节点不公开服务端口

Docker Swarm 中的新节点不公开服务端口

我有一个包含三个节点的 Docker 集群,我向其中添加了两个节点。所有节点都具有相同的操作系统 (Ubuntu) 和相同的 Docker 版本 (19.03.6)。一切似乎都正常,所有节点都已启动,网络覆盖所有节点,当我将服务扩展到 4 个副本时,其中一个副本会放在新节点之一上。

然而,使用前三个节点的 IP 地址时服务可以响应,但在新节点上无法访问。

一些观察:

  • 使用 scale=3 创建服务很快,扩展到 4/5(在新节点上创建容器)大约需要半分钟
  • 在新主机上直接公开容器端口即可正常工作
  • 刚才,在删除、重新添加,然后扩展服务之后,它运行得更好,其中一个新节点会回复,另一个节点只会有时回复。
  • iptables 在所有节点上看起来都相同。

这可能是什么原因造成的?我该如何调试它?

相关内容