zoukankan      html  css  js  c++  java
  • Docker集群实验环境布署--swarm【3 注册服务监控与自动发现组件--consul】

    参考官网集群配置方式
    https://hub.docker.com/r/progrium/consul/
     
    集群中需要manager与node能通信consul的发现服务,不然,管理节点选举不了,无法执行docker 命令。
    集群中consul工作3台的机器,大于等2台时,集群仍正常工作,如果,发生只有1台时,集群失效,无法选择管理节点,需要启动数据再次达到3台的标准后,集群才能慢慢恢复。
     
    测试最终得出一个惊人结论,我把consul集群删除后,重新拉起时,元数据全部自动发现恢复。
     
     
    10.40.100.145 docker-consul0.venic.com
    10.40.100.146 docker-consul1.venic.com
    10.40.100.147 docker-consul2.venic.com
     
     
     
    首先在镜像服务器上148上,拉取一个官网 的 consul镜像,方便等下在其它三台上快速启动
    # docker pull progrium/consul && docker tag progrium/consul:latest docker-registry.venic.com:5000/consul:latest
    # docker push docker-registry.venic.com:5000/consul:latest
     
    10.40.100.145上
     
    docker run -d  --name consul0 --restart=always -v /mnt:/data 
        -p 8300:8300 
        -p 8301:8301 
        -p 8301:8301/udp 
        -p 8302:8302 
        -p 8302:8302/udp 
        -p 8400:8400 
        -p 8500:8500 
        docker-registry.venic.com:5000/consul:latest -server -advertise 10.40.100.145 -bootstrap-expect 3
     
    10.40.100.146上
     
    docker run -d --name consul1 --restart=always -v /mnt:/data 
        -p 8300:8300 
        -p 8301:8301 
        -p 8301:8301/udp 
        -p 8302:8302 
        -p 8302:8302/udp 
        -p 8400:8400 
        -p 8500:8500 
        docker-registry.venic.com:5000/consul:latest  -server -advertise 10.40.100.146 -join 10.40.100.145
     
    10.40.100.147上
     
    docker run -d --name consul2 --restart=always -v /mnt:/data 
        -p 8300:8300 
        -p 8301:8301 
        -p 8301:8301/udp 
        -p 8302:8302 
        -p 8302:8302/udp 
        -p 8400:8400 
        -p 8500:8500 
        docker-registry.venic.com:5000/consul:latest  -server -advertise 10.40.100.147 -join 10.40.100.145
     
     
     
     
    在Nginx上层代理配置consul的TCP代理转发
    10.40.42.10
    也是就是controller1和2
    # vi 8500_consul.venic.com_10.40.100.145-147_8500.conf
    upstream consul.venic.com {
        server 10.40.100.145:8500;
        server 10.40.100.146:8500;
        server 10.40.100.147:8500;
     
    }
    server {
        listen 8500;
        proxy_pass consul.venic.com;
    }
     
     
    测试可使用以下链接测试
    http://10.40.42.10:8500/
  • 相关阅读:
    python--触发器, 储存过程, 事务
    python--MySQL权限管理 数据备份还原
    python--MySQL多表查询
    python--MySQl单表查询
    python--MySQL数据库初识
    WPF学习(7)命令
    WPF学习(6)路由事件
    WPF学习(5)依赖属性
    WPF学习(4)逻辑树和可视树
    WPF学习(3)布局
  • 原文地址:https://www.cnblogs.com/veniceslove/p/6290503.html
Copyright © 2011-2022 走看看