簡體   English   中英

Docker Swarm如何實現負載均衡?

[英]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種策略可供使用。

  • 傳播
  • binpack
  • 隨機

spreadbinpack策略根據節點的可用CPU,RAM以及它擁有的容器數來計算排名。 random策略不使用計算。 它隨機選擇一個節點,主要用於調試。

spread策略下,Swarm優化容器數量最少的節點。 binpack策略使Swarm針對最多打包的節點進行優化。

Swarm默認使用spread。 請記住,您也可以在特定節點上Constraint容器。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM