docker swarm集群實現負載均衡


swarm部署nginx服務

上一篇介紹了docker swarm集群搭建,下面進行應用部署。

  • 各節點拉取鏡像
    docker pull nginx
    或者有成型的tar包上傳到各節點,並導入。
  • 在manager節點部署服務
[root@master1 ~]# docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
w4w3yr89qidg1um3nk6ss1yu3 *   master1             Ready               Active              Leader              19.03.8
qz21kqcebkgtwm1jnho8ao3gy     node1               Ready               Active                                  19.03.8
nb6ny4yuifcbz60myu8mvzodu     node2               Ready               Active                                  19.03.8

[root@master1 ~]# docker service create --name web --replicas 3 -p 80:80 nginx

*列出服務
docker service ls 或 docker service list
*列出各節點的分配
docker service ps web

  • 修改nginx默認配置頁面
    此時訪問各節點ip可以打開nginx默認頁,需要簡單修改便於區分負載均衡。
    查看各節點container id :docker ps -a
    master1上:
echo '<h1>master1-swarm</h1>' > index.html
docker cp index.html 3f:/usr/share/nginx/html

*3f為容器id號

  • 配置其他節點
node1: echo '<h1>node1-swarm</h1>' > index.html  && docker cp index.html a7:/usr/share/nginx/html
node2: echo '<h1>node2-swarm</h1>' > index.html  && docker cp index.html 0a:/usr/share/nginx/html

測試負載均衡

任意節點上:

[root@master1 ~]# docker container cp index.html 3f:/usr/share/nginx/html^C
[root@master1 ~]# curl 172.16.230.11
<h1>node1-swarm</h1>
[root@master1 ~]# curl 172.16.230.11
<h1>master1-swarm</h1>
[root@master1 ~]# curl 172.16.230.11
<h1>node2-swarm</h1>
[root@master1 ~]# curl 172.16.230.11
<h1>node1-swarm</h1>
[root@master1 ~]# curl 172.16.230.11
<h1>master1-swarm</h1>
[root@master1 ~]# curl 172.16.230.11
<h1>node2-swarm</h1>
[root@master1 ~]#
  • 調整容器副本數
    scale參數:
    在manager節點上: docker service scale web=6
    查看服務狀態: docker service ps web


免責聲明!

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



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