swarm在用命令swarm manager
啟動swarm manager時,可用--strategy
指定排程策略。
swarm提供了三種排程策略計算節點的排名,在排程(例如選擇哪乙個節點執行容器時)時,取排名最前的節點。
這三種排程策略是:
- spread
- binpack
- random
random策略:隨機選擇節點。一般用於開發測試階段。
spread策略:預設策略,swarm優先選擇占用資源(如cpu、記憶體等)最少的節點,能保證集群中所有節點資源的均勻使用。
它的好處是,保證
示例:
# 測試spread策略
# 背景:swarm集群中有兩個相同資源(cpu、記憶體大小相同)的節點node1 node2
# 執行兩個容器
docker tcp://run -d -p -m 1g --name db mysql
docker tcp://run -d -p -m 1g --name db mysql
# 檢視容器所在節點
docker tcp://ps
# 結果分析:如果是spread策略,兩個執行的容器一定在不同的節點串
# 如果是binpack策略,兩個執行的容器一定在同乙個節點中
參考: Docker Swarm重排程策略
什麼是重排程?就是正在執行的節點 在啟動時是經過swarm排程的 壞掉之後,指定由swarm再次排程,這就是重排程。在啟動容器時指定重重排程策略。通過引數指定重排程策略 docker run d e reschedule on node failure redis 通過容器label指定重排程策略 ...
Docker Swarm 經濟高效的容器排程
本文講的是docker swarm 經濟高效的容器排程 編者的話 本文 了幾種容器排程策略,並以記憶體約束為例,討論了如何利用docker swarm,通過資源約束實現容器的合理排程。其中,對容器資源的約束,包括硬約束和軟約束,硬約束是指記憶體資源的實際限制條件,而軟約束則是當伺服器實際記憶體資源有...
程序排程及排程策略
程序排程負責動態的將cpu分配給各個程序。主要功能如下 1 記住程序狀態。2 決定哪個程序,什麼時候獲取cpu及其占用多長時間。3 把cpu分配給程序,即將選中程序的pcb中有關程序的相關資訊,如程式狀態暫存器 通用暫存器等內容送入cpu的相應的暫存器中,從而讓該程序占用cpu去執行。4 收回cpu...