美文网首页
Docker Swarm Nginx负载均衡示例

Docker Swarm Nginx负载均衡示例

作者: 霡霂976447044 | 来源:发表于2020-06-24 14:23 被阅读0次

    准备三台Docker主机
    这里是基于Ubuntu18.04
    Server A:192.168.3.20
    Server B:192.168.3.252
    Server C:192.168.3.246

    sudo apt install docker.io
    

    vim /etc/apt/sources.list

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    
    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    

    vim /etc/docker/daemon.json

    {
      "registry-mirrors" : [
        "https://mirror.ccs.tencentyun.com",
        "http://registry.docker-cn.com",
        "http://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com"
      ],
      "insecure-registries" : [
        "registry.docker-cn.com",
        "docker.mirrors.ustc.edu.cn"
      ],
    
      "log-driver":"json-file",
      "log-opts": {"max-size":"500m", "max-file":"3"}
    }
    

    在Server A上

    baloneo@baloneo:~$ sudo docker swarm init
    Swarm initialized: current node (7kk0huvknn6891vfc231lls97) is now a manager.
    
    To add a worker to this swarm, run the following command:
    
        docker swarm join --token SWMTKN-1-243ondqi7ujhu8jes5ygasds2ej5rdv767o4p2diexe64tbhzl-1sj0qydzanf2vvytlcf9p3gnq 192.168.3.20:2377
    
    To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
    
    

    在Server B上:

    sudo docker swarm join --token SWMTKN-1-243ondqi7ujhu8jes5ygasds2ej5rdv767o4p2diexe64tbhzl-1sj0qydzanf2vvytlcf9p3gnq 192.168.3.20:2377
    

    在Server C上

    ➜  docker swarm join --token SWMTKN-1-243ondqi7ujhu8jes5ygasds2ej5rdv767o4p2diexe64tbhzl-1sj0qydzanf2vvytlcf9p3gnq 192.168.3.20:2377
    >>>
    This node joined a swarm as a worker.
    

    Server C、Server B作为工作节点。Server A作为管理节点。

    docker-swarm.png

    在管理节点上运行sudo docker node ls

    ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
    5t5680v5lu86zx8y3np4lz33x     baloneo             Ready               Active                                  19.03.6
    7kk0huvknn6891vfc231lls97 *   baloneo             Ready               Active              Leader              19.03.6
    jcdlrk389dvdl7otsjv4t7ixw     baloneo-pc          Ready               Active                                  19.03.6
    

    在Server A(管理节点):

    sudo docker pull nginx
    
    sudo docker service create --replicas 3 -p 80:80 --name nginx nginx
    

    开启三个nginx负载,当我们开启之后,就已经实现了负载均衡了,访问任意一个节点的ip:80都会进行负载均衡

    ➜  feem http 192.168.3.246
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Connection: keep-alive
    Content-Length: 18
    Content-Type: text/html
    Date: Wed, 24 Jun 2020 06:19:48 GMT
    ETag: "5ef2b7c2-12"
    Last-Modified: Wed, 24 Jun 2020 02:17:38 GMT
    Server: nginx/1.19.0
    
    <h1>Server C</h1>
    
    ➜  feem http 192.168.3.246
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Connection: keep-alive
    Content-Length: 18
    Content-Type: text/html
    Date: Wed, 24 Jun 2020 06:19:50 GMT
    ETag: "5ef2f07f-12"
    Last-Modified: Wed, 24 Jun 2020 06:19:43 GMT
    Server: nginx/1.19.0
    
    <h1>Server B</h1>
    
    ➜  feem 
    

    相关文章

      网友评论

          本文标题:Docker Swarm Nginx负载均衡示例

          本文链接:https://www.haomeiwen.com/subject/xinlfktx.html