consul 集群

Posted lifejoy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了consul 集群相关的知识,希望对你有一定的参考价值。

   本文主要讲述如何搭建基于docker容器化的consul 搭建。相关consul是什么,用途,请参考consul 官网 https://www.consul.io/。  

Consul 
   docker pull docker    sudo docker run -d -p 8500:8500 -v /data/consul -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_1 consul agent -server -bootstrap -ui -node=1 -client=‘0.0.0.0‘    Consul 命令简单介绍    agent : 表示启动 Agent 进程。   -server:表示启动 Consul Server 模式。   -client:表示启动 Consul Cilent 模式。   -bootstrap:表示这个节点是 Server-Leader ,每个数据中心只能运行一台服务器。技术角度上讲 Leader 是通过 Raft 算法选举的,但是集群第一次启动时需要一个引导 Leader,在引导群集后,建议不要使用此标志。   -ui:表示启动 Web UI 管理器,默认开放端口 8500,所以上面使用 Docker 命令把 8500 端口对外开放。   -node:节点的名称,集群中必须是唯一的。   -client:表示 Consul 将绑定客户端接口的地址,0.0.0.0 表示所有地址都可以访问。   -join:表示加入到某一个集群中去。 如:-json=192.168.1.23

     首先确保你安装了docker ,其次确保你有docker hub 登录,dokcer pull检测本地没有consul会从docker hub pull官方镜像,如果docker pull报错,一般是没有登录,docker login就能解决

     拉去镜像后,运行命令创建docker 容器。相关参数含义如上所示。

  Server 集群       

   通过命令查一下当前运行 查看Consul 集群信息
   docker exec consul_server_1 consul members

        集群加入server:上一个命令可以拿到server ip 即为 join 的

  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_2 consul  agent -server -node=2  -join=‘172.17.0.3‘
  --node 3
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_3 consul  agent -server -node=3  -join=‘172.17.0.3‘

Client 加入集群

  Client 模式不持久化数据。一般情况每台应用服务器都会安装一个 Client ,这样可以减轻跨服务器访问带来性能损耗。也可以减轻 Server 的请求压力。
  -- client4
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_4 consul  agent -client -node=4 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘
  --client 
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_5 consul  agent -client -node=5 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘
  --client
  docker run -d -e CONSUL_BIND_INTERFACE=‘eth0‘ --name=consul_server_6 consul  agent -client -node=6 -join=‘172.17.0.3‘ -client=‘0.0.0.0‘

这样一个docker 集群就ok,可以去可视化 ui看效果图:

技术图片

 上述是server节点,所有节点点一下node,就可以看到

技术图片
有个异常的service是我的webapi应用没有开启。

以上是关于consul 集群的主要内容,如果未能解决你的问题,请参考以下文章

Docker - 容器部署 Consul 集群

01 - Consul集群部署

Consul集群安装

consul 集群

部署Consul建立Docker集群

部署Consul建立Docker集群