Docker-Swarm调度策略

swarm在用命令swarm manager启动swarm manager时,可用--strategy指定调度策略。
swarm提供了三种调度策略计算节点的排名,在调度(例如选择哪一个节点运行容器时)时,取排名最前的节点。

这三种调度策略是:
- spread
- binpack
- random

random策略:随机选择节点。一般用于开发测试阶段。

spread策略:默认策略,swarm优先选择占用资源(如CPU、内存等)最少的节点,能保证集群中所有节点资源的均匀使用。
它的好处是,保证

binpack策略:与spread相反,它的目的是尽可能地填满一个节点,以保证更多空余的节点。

示例:

# 测试spread策略
# 背景:swarm集群中有两个相同资源(cpu、内存大小相同)的节点node1 node2
# 运行两个容器
docker tcp://<manager_ip:manager_port> run -d -P -m 1G --name db mysql
docker tcp://<manager_ip:manager_port> run -d -P -m 1G --name db mysql
# 查看容器所在节点
docker tcp://<manager_ip:manager_port> ps
# 结果分析:如果是spread策略,两个运行的容器一定在不同的节点串
#       如果是binpack策略,两个运行的容器一定在同一个节点中

参考:https://docs.docker.com/swarm/scheduler/strategy/

阅读更多
文章标签: docker swarm
个人分类: Docker
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Docker-Swarm调度策略

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭