1. 程式人生 > >Docker Swarm叢集中部署Traefik負載均衡器

Docker Swarm叢集中部署Traefik負載均衡器

  

一、建立單節點的Docker Swarm叢集

docker swarm init

 

二、在Swarm叢集中建立一個網路

docker network create --driver=overlay traefik --attachable

 

三、在Swarm叢集中部署traefik負載均衡器服務

docker service create \

--name traefik \

--constraint=node.role==manager \

--publish 80:80 --publish 8080:8080 \

--mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \

--network traefik \

traefik \

--docker \

--docker.swarmmode \

--docker.domain=traefik \

--docker.watch \

--web

 

四、在Swarm叢集中分別部署2個容器服務(httpdnginx

#2.1 httpd.abc.com

docker service create \

--name httpd \

--network traefik \

--label "traefik.backend=httpd" \

--label "traefik.enable=true" \

--label "traefik.protocol=http" \

--label "traefik.port=80" \

--label "traefik.frontend.rule=Host:httpd.abc.com" \

httpd

 

#2.2 nginx.abc.com

docker service create \

--name nginx \

--network traefik \

--label "traefik.backend=nginx" \

--label "traefik.enable=true" \

--label "traefik.protocol=http" \

--label "traefik.port=80" \

--label "traefik.frontend.rule=Host:nginx.abc.com" \

nginx

 

 

五、在瀏覽器中通過域名訪問2個網站、檢視Traefik UI

#修改Win7客戶端電腦的hosts檔案C:\Windows\System32\drivers\etc\hosts

#增加2條主機記錄:

httpd.abc.com 192.168.3.168

nginx.abc.com 192.168.3.168

 

http://192.168.3.168:8080

http://httpd.abc.com

http://nginx.abc.com

 

 

六、Swarm叢集中服務擴容後,再檢視Traefik UI

docker service scale httpd=2

docker service scale nginx=3

 

http://192.168.3.168:8080

 

附圖:

 

01-建立單節點的Docker Swarm叢集.jpg

02-建立traefik overlay網路.jpg

03-建立traefik服務.jpg

04-建立nginx和httpd服務.jpg

05-檢視traefik UI.jpg

06-分別擴容2個服務.jpg

07-檢視traefik UI.jpg

參考連結:

docker swarm模式使用traefik部署服務

http://blog.51cto.com/6764097/2066670

 

Docker Swarm (mode) cluster

http://docs.traefik.cn/user-guide/swarm-mode