centos7安装consul集群
[TOC]
源码直接安装
-
把consul的压缩包上传到服务器解压后移动或者复制到/usr/sbin
-
在主服务启动consul节点
nohup consul agent -server -client=0.0.0.0 -bootstrap-expect=3 -data-dir=/data/consul -node=consul1 -bind=192.168.43.79 -ui -bootstrap-expect=2 &
- 在其他节点服务器启动consul节点
nohup consul agent -server -client=0.0.0.0 -bootstrap-expect=3 -data-dir=/data/consul -node=consul2 -bind=192.168.43.28 -ui -bootstrap-expect=2 -retry-join=192.168.43.79 &
- 注释
nohup:后台启动,命令最后加上&符,会在当前目录下创建nohup.out日志文件
-server:以server的方式启动
-client:允许访问的IP。0.0.0.0表示所有IP
-bootstrap-expect:配置的节点数
-data-dir:数据存放路径
-node:节点名称,每个节点名称不能相同
-bind:本地回环地址,配置当前服务器的IP不建议使用127.0.0.1
-ui:可以使用UI界面访问
-retry-join:主节点的IP地址
- 所有服务器的consul节点启动完成后可通过consul operator raft list-peers命令查看哪个服务器是主节点,State状态为leader为主节点,其余为从节点,可以访问主节点IP+8500访问web页面查看。如果无法访问请检查服务器的防火墙是否关闭或是否允许8500访问
- 可以关掉主consul节点查看是否会自动把其他节点切换为主节点,如果可以切换表示集群搭建成功
docker安装consul集群
- 安装启动docker
yum -y install docker
service docker start
- 下载启动consul的镜像
#下载consul
docker pull consul
#主节点启动consul
docker run -d --name=consul --net=host -e CONSUL_BIND_INTERFACE=ens33 consul agent -server=true -client=0.0.0.0 -bind=192.168.43.79 -ui -bootstrap-expect=2
#其他两台节点启动consul
docker run -d --name=consul --net=host -e CONSUL_BIND_INTERFACE=ens33 consul agent -server -client=0.0.0.0 -ui -bootstrap-expect=2 -retry-join=192.168.43.79
#查看三台consul节点的状态
docker exec consul consul operator raft list-peers
#启动完成后可以访问主节点的IP+8500端口进行查看
####含义注释
docker run -d:把docker镜像制作成容器启动
--name:docker容器名称
--net:绑定IP地址
-e CONSUL_BIND_INTERFACE:监听网卡地址
consul:镜像名称,镜像对应的如果TAG的不是latest则需要执行tag,格式为REPOSITORY:TAG。可以使用docker images查看镜像的REPOSITORY和TAG
agent -server:启动容器类型,server和agent两种格式,因为咱们启动集群之后一旦主节点宕机就自动把其他服务器的节点切换为主,所以需要agent和server两种格式
-client:允许访问的IP。0.0.0.0表示所有IP都可以访问
-ui:使用UI界面
-bootstrap-expect:集群最少有几个节点
-retry-join:启动的时候指定主节点的IP
扫描二维码,在手机上阅读