gpt4 book ai didi

docker - 集群化的Docker,由Swarm管理

转载 作者:行者123 更新时间:2023-12-02 18:56:46 26 4
gpt4 key购买 nike

我是Docker的新手,我今天想知道一个问题。
我知道有传播和装箱策略,旨在平衡“工作量”。
但是,是否可以通过使用Docker,Swarm来提供类似于以下拓扑的容器?

enter image description here

还是应该自定义计划程序?还是有合适的集群管理工具?
有什么建议吗?

最佳答案

Update: This answer applies to the legacy docker/swarm and not to the new Swarm mode available since docker 1.12



在这些机架/机器上启动docker守护程序时,可以通过 labels通过Swarm实现此目的。

使用标签设置Docker守护程序

假设我们具有以下拓扑:
rack1
|___ node1

rack2
|___ node2
|___ node3

我们可以使用自定义标签设置docker守护进程来反射(reflect)这一点:

机架1上的节点1
docker --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H tcp://0.0.0.0:2376 -d --label rack=rack1 --label machine=node1`

机架2上的节点2
docker --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H tcp://0.0.0.0:2376 -d --label rack=rack2 --label machine=node2

机架2上的节点3
docker --tlsverify --tlscacert=ca.pem --tlscert=server-cert.pem --tlskey=server-key.pem -H tcp://0.0.0.0:2376 -d --label rack=rack2 --label machine=node3

使用约束

然后,借助Swarm,您可以使用 约束来选择容器的位置。在此示例中,我们仅使用 Rack 1 上的节点子集来调度我们的容器:
docker run -d -P -e constraint:rack==rack1 --name web nginx

假设每个机架有多个节点(例如 rack2),则还可以链接约束。在下一个示例中,我们将容器固定到 node3上的 rack2
docker run -d -P -e constraint:rack==rack2 -e constraint:node==node3 --name web nginx

关于docker - 集群化的Docker,由Swarm管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31813910/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com