这可能听起来是一个幼稚的问题,但我还没有在任何地方发现它的说法:
有没有办法使用同一台机器运行不同的服务栈?例如
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
您的问题标题和实际问题似乎不相关:
- 主机可以加入多个集群吗?
一个主机将有一个 dockerd 引擎,并位于一个集群中。dockerd 只能位于一个集群中。有人可能会说“你可以在不同位置安装两次 docker 引擎”,但这非常不寻常,而且我认为这是一种反模式,docker 不支持,所以我们就说“不”。
- 有没有办法使用同一台机器运行不同的服务堆栈?
是的,这就是 Swarm 等编排器的目标。您可以在一台或多台主机上运行多项服务和堆栈。
(请注意,任务是复制品
- 如果是,那么群体是如何初始化/加入的?
我不太确定这个问题。您在单个主机上创建一个集群。这将启用 Docker 引擎中的集群功能,并允许您创建许多网络、服务、堆栈等。然后,您可以选择向该集群添加更多节点以分散工作。一个集群可以有一个或多个节点,一个或多个堆栈,可以有一个或多个服务,可以有一个或多个副本(任务)。