Docker Swarm如何实现负载均衡?

我有一个由10个Swarm节点组成的集群,通过docker swarm join命令启动

如果我想将docker实例扩展为15

docker service create --replicas 15 

docker swarm如何知道启动容器的位置?

它是循环还是考虑到计算资源(使用了多少cpu / mem)?

最佳答案
当您在Swarm模式下创建服务或扩展服务时,Elected Leader上的调度程序(其中一个管理器)将选择一个节点来运行该服务.目前领导者有3种策略可供使用.

>传播
> binpack
>随机

spread和binpack策略根据节点的可用CPU,RAM以及它拥有的容器数来计算排名.随机策略不使用计算.它随机选择一个节点,主要用于调试.

在传播策略下,Swarm优化容器数量最少的节点. binpack策略使Swarm针对最多打包的节点进行优化.

Swarm默认使用spread.
请记住,您也可以在特定节点上约束容器.

在docker版本1.12.1(最新版本到发布日期)中设置策略是不可能的

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...