主机可以加入(即成为)多个 docker swarm 的一部分吗?

主机可以加入(即成为)多个 docker swarm 的一部分吗?

这可能听起来是一个幼稚的问题,但我还没有在任何地方发现它的说法:

有没有办法使用同一台机器运行不同的服务栈?例如

Stack A: service X, service Y
Stack B: service Z, service J, service K

为了简单起见,我们假设所有服务只需要一项任务(即没有副本)。

是否有可能,例如:

Machine 1: task X, task Z
Machine 2: task Y, task J, task K

如果是,那么群体是如何初始化/加入的?

非常感谢

答案1

您的问题标题和实际问题似乎不相关:

  1. 主机可以加入多个集群吗?

一个主机将有一个 dockerd 引擎,并位于一个集群中。dockerd 只能位于一个集群中。有人可能会说“你可以在不同位置安装两次 docker 引擎”,但这非常不寻常,而且我认为这是一种反模式,docker 不支持,所以我们就说“不”。

  1. 有没有办法使用同一台机器运行不同的服务堆栈?

是的,这就是 Swarm 等编排器的目标。您可以在一台或多台主机上运行多项服务和堆栈。

(请注意,任务复制品

  1. 如果是,那么群体是如何初始化/加入的?

我不太确定这个问题。您在单个主机上创建一个集群。这将启用 Docker 引擎中的集群功能,并允许您创建许多网络、服务、堆栈等。然后,您可以选择向该集群添加更多节点以分散工作。一个集群可以有一个或多个节点,一个或多个堆栈,可以有一个或多个服务,可以有一个或多个副本(任务)。

相关内容