Expand the scale swarm 副本增減實現負載均衡
#創建好了swarm集群後,我們可以部署一個httpd應用來了解工作情況;
#執行以下命令來部署應用:
docker service create --name web_server httpd
--name 為server名字 httpd為鏡像名稱
#執行以下命令來查看swarm集群中的應用:
docker service ls
REPLICAS 顯示副本信息,此處是1;0/1 表示副本數為1,但服務還沒啟動起來。
#執行以下命令查看詳情:
dokcer service ps web_server
DESIRED STATE 為Running 表示啟動成功 CURRENT STATE 為Running有時間段 表示已在運行
#負載均衡
#增加service副本數:
docker service scale web_server=5
表示副本數增加到5個 docker service ls 可以查看副本數 docker service ps web_server
可以查看服務運行狀態,此時httpd服務為5個,分布在各個swarm-manager和swarm-work節點上
--不在swarm-manager上運行server
docker node update --availability drain swarm-manager
docker node ls 可查看集群狀況 會發現swarm-manager的AVAILBILITY狀態為Drain 說明此節點不參與負載工作
docker service ps web_server 可發現swarm-manager不再運行service,本在swarm-manager上運行的
service會關閉並分配到其它節點運行從而達到使用者的預期效果,service副本數還是5個
#減少service副本數:
docker service scale web_server=3
表示副本數減少為5個 docker service ls 可以查看副本數 docker service ps web_server
可以查看服務運行狀態,
以上就是swarm集群中的service擴展與收縮; 與kubernetes大同小異,kubernetes中在yaml文件中的replicas參數可指定副本數
Expand the scale swarm 副本增減實現負載均衡