Docker swarm - 许多管理器的请求流

Docker swarm - flow of request in case of many managers

正如我们所知,在 docker swarm 中我们可以拥有多个 manger。假设我们有 2 个节点和 2 个管理器(因此每个节点既是管理器又是工作器)。

现在,让客户端(使用 CLI 工具)执行以下两个单独的场景:
1. docker create service some_service
2. docker update --force some_service
在其中一个群节点上启动客户端。
以上请求将发送到哪里?仅领导者或每个工作节点? docker 如何处理并发请求?

我假设您是在谈论 docker cli 与经理 api 交谈。

节点上的 docker cli 将默认连接到本地主机。假设你在管理器上,你可以看到你的 cli 正在与哪个节点交谈docker node ls

节点名称旁边的 * 表示您正在与之通话的那个节点。

如果该节点不是领导者,它将从那里将命令中继到领导者节点,并等待对 return 的响应到您的 cli。这一切意味着:

  1. 只需确保您是 运行 管理器节点上的 docker cli,或者您的 cli 是 configured to talk to one.
  2. 不管是哪位经理,他们都会将你的命令转达给现任领导。