如果我想通過域名訪問怎麼辦,而且這三臺主機都有服務。源碼:github.com/limingios/ms swarm分支

負載均衡

之前講理論的時候說過負載均衡,對每個服務在每臺主機上都是有負載均衡的,來進行輪詢,每臺主機server01,server02,server03,分別去訪問他們的8080埠,去搭建一個負載均衡,可以用nginx或者apache,這裡使用nginx的方式,畢竟之前使用過nginx。拉取部署完,需要20分鐘,外網確實很慢。

  • 拉取nginx

docker pull nginx

  • 編寫一個nginx配置掛載進去

vi nginx.conf

配置文件

upstream idig88 {
server 192.168.66.101:8080;
server 192.168.66.102:8080;
server 192.168.66.103:8080;
}

server {
listen 80;
server_name www.idig88.com;
location / {
proxy_pass http://idig88;
}
}

啟動命令

docker run -idt -p 80:80 -v `pwd`/nginx.conf:/etc/nginx/conf.d/default.conf nginx

配置一個host文件,在主機上 不是server01 server02 server03

sudu vi /etc/hosts

登錄試試

  • 微服務擴縮容

docker service scale ms_gateway-zuul=3
docker service ps ms-gateway-zuul

  • 升級某個微服務

docker service update ms_course-edge-service --limit-cpu 0.5
docker service inspect ms_course-edge-service

總結

  • 以下各節點常規操作命令,比較簡單,就不解釋了

#取消manager
docker node demote [NODE]
docker node inspect [NODE]
docker node ls
# 升級成manager
docker node promote [NODE]
docker node ps [NODE]
docker node rm [NODE]
docker node update [OPTIONS] NODE

  • yml文件這個很複雜,我建議看看官方的文檔更實際一些。

PS:有詳細看看官網的文檔,裡面有非常多樣化的配置,我相信基本可以滿足大家的需求。到這樣docker swarm 也就學完了,相信有個整體的認識吧。另外要說下有2個UI管理docker swarm的工具Portainer和Shipyard。下次開始k8s!

推薦閱讀:

相關文章