Docker Swarm(七)Scale 擴(縮)容服務


 

擴(縮)容服務

  • 擴容服務

Service還提供了復制(類似kubernetes里的副本)功能。可以通過 docker service scale 命令來設置服務中容器的副本數:

docker service scale masl=4

和創建服務一樣,增加scale數之后,將會創建新的容器,這些新啟動的容器也會經歷從准備到運行的過程,過一分鍾左右,服務應該就會啟動完成,這時候可以再來看一下 masl 服務中的容器

可以看到,之前masl容器在manager-node和node1節點上各有一個實例,而現在又增加了2個實例。

特別需要清楚的一點:
如果一個節點宕機了(即該節點就會從swarm集群中被踢出),則Docker應該會將在該節點運行的容器,調度到其他節點,以滿足指定數量的副本保持運行狀態。

比如:

將node1宕機后或將node1的docker服務關閉,那么它上面的task實例就會轉移到別的節點上。當node1節點恢復后,它轉移出去的task實例不會主動轉移回來,
只能等別的節點出現故障后轉移task實例到它的上面。使用命令 "docker node ls" ,發現node1節點已不在swarm集群中了。

在 node1 節點上關閉docker服務:

systemctl stop docker

過1分鍾左右后,在 manager-node 節點上查看服務:

發現,node1節點關閉后,它上面之前的兩個task任務已經轉移到 manager-node 節點上了。

  • 縮容服務
docker service scale masl=2

發現,有2個task已經關閉了.

除了上面使用scale進行容器的擴容或縮容之外,還可以使用docker service update 命令。 可對 服務的啟動 參數 進行 更新/修改。
[root@manager-node ~]# docker service update --replicas 3 masl
masl
  • 刪除服務

把所有節點上的所有容器(task任務實例)全部刪除了

docker service rm masl

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM