[英]How does Docker Swarm load balance?
我有一個由10個Swarm節點組成的集群,通過docker swarm join
命令啟動
如果我想將docker實例擴展為15
docker service create --replicas 15
docker swarm如何知道啟動容器的位置?
它是循環還是考慮到計算資源(使用了多少cpu / mem)?
當您在Swarm模式下創建服務或擴展服務時, Elected Leader
上的scheduler
(其中一個管理器)將選擇一個節點來運行該服務。 目前領導者有3種策略可供使用。
spread
和binpack
策略根據節點的可用CPU,RAM以及它擁有的容器數來計算排名。 random
策略不使用計算。 它隨機選擇一個節點,主要用於調試。
在spread
策略下,Swarm優化容器數量最少的節點。 binpack
策略使Swarm針對最多打包的節點進行優化。
Swarm默認使用spread。 請記住,您也可以在特定節點上Constraint
容器。
在docker版本1.12.1(最新版本到發布日期)中設置策略是不可能的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.