我有一个由docker swarm join
命令启动的10个Swarm节点集群。
如果我想通过以下方式将docker实例扩展到15:
docker service create --replicas 15
Docker Swarm如何知道在哪里启动容器?
它是轮询还是考虑计算资源(使用了多少CPU /内存)?
我有一个由docker swarm join
命令启动的10个Swarm节点集群。
如果我想通过以下方式将docker实例扩展到15:
docker service create --replicas 15
Docker Swarm如何知道在哪里启动容器?
它是轮询还是考虑计算资源(使用了多少CPU /内存)?
调度程序
会在选举领导者
(其中之一是管理者)上选择一个节点来运行该服务。目前,领导者可用三种策略。
spread
和binpack
策略根据节点的可用CPU、RAM以及它所含容器数量计算排名。而random
策略不需要计算,它随机选择一个节点,主要用于调试。spread
策略下,Swarm最优化地考虑容器数最少的节点。而binpack
策略则会使Swarm最优化地考虑最紧凑的节点。