consul 有agent client 和 server 两种模式,通过3台server 模式进行集群
下载
安装
准备3台服务器 192.168.0.150/192.168.0.151/192.168.0.152
- 如下命令启动3个节点
#! /bin/bash
nohup ./consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -node=192.168.0.150 -bind=192.168.0.150 -client=0.0.0.0 -datacenter=slien -ui >> log.out 2>&1 &
- 在另外两个节点分别执行
consul join 192.168.0.150
- 查看集群状态
./consul operator raft list-peers
- 注销服务
curl -X PUT http://192.168.0.150:8500/v1/agent/service/deregister/server-id
- server: 以server身份启动。默认是client
- bootstrap-expect:集群要求的最少server数量,当低于这个数量,集群即失效。
- data-dir:data存放的目录,更多信息请参阅consul数据同步机制
-node:节点id,集群中的每个node必须有一个唯一的名称。默认情况下,Consul使用机器的hostname - bind:监听的ip地址。默认绑定0.0.0.0,可以不指定。表示Consul监听的地址,而且它必须能够被集群中的其他节点访问。Consul默认会监听第一个private IP,但最好还是提供一个。生产设备上的服务器通常有好几个网卡,所以指定一个不会出错
- client: 客户端的ip地址,0.0.0.0是指谁都可以访问(不加这个,下面的ui :8500无法访问)
- ui: 可以访问UI界面
- config-dir指定配置文件夹,Consul会加载其中的所有文件
- datacenter 指定数据中心名称,默认是dc1