『高级篇』docker之DockerSwarm微服务部署(30)

作者: IT人故事会 | 来源:发表于2018-11-06 18:03 被阅读5次

    原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
    原文链接地址:『高级篇』docker之DockerSwarm微服务部署(30)

    如果我想通过域名访问怎么办,而且这三台主机都有服务。源码:https://github.com/limingios/msA-docker 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!

    相关文章

      网友评论

        本文标题:『高级篇』docker之DockerSwarm微服务部署(30)

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