Docker 将容器部署到 swarm 集群中的多个节点
Docker container deployment to mulitple nodes in a swarm cluster
我有一个 swarm 集群,其中包含 6 个工作节点和 3 个主节点,因此总共有 9 个节点。
我的 swarm 集群中有不同大小的机器。
因此,我需要根据节点的大小在特定的工作节点上部署某些服务(容器)。
我知道我们可以在 docker-compose 文件中设置放置限制,并且可以指定主机名。
因为我将 运行 服务的 2 个副本,所以 swarm 将在我设置了约束的同一个 worker 上创建副本。但我不希望副本 运行 在同一个工作节点上。
我们可以选择在设置放置限制时指定多个主机名吗?请指导。
您可以通过标签组合一些节点。
docker node update --label-add ssd=fat_machine hostname1
docker node update --label-add ssd=fat_machine hostname2
并在 docker-compose
中定义标签
constraints: [node.labels.ssd == fat_machine]
我有一个 swarm 集群,其中包含 6 个工作节点和 3 个主节点,因此总共有 9 个节点。 我的 swarm 集群中有不同大小的机器。 因此,我需要根据节点的大小在特定的工作节点上部署某些服务(容器)。 我知道我们可以在 docker-compose 文件中设置放置限制,并且可以指定主机名。
因为我将 运行 服务的 2 个副本,所以 swarm 将在我设置了约束的同一个 worker 上创建副本。但我不希望副本 运行 在同一个工作节点上。
我们可以选择在设置放置限制时指定多个主机名吗?请指导。
您可以通过标签组合一些节点。
docker node update --label-add ssd=fat_machine hostname1
docker node update --label-add ssd=fat_machine hostname2
并在 docker-compose
中定义标签 constraints: [node.labels.ssd == fat_machine]