本文对consul的分布式集群部署做介绍,consul版本为1.x
环境
- linux系统(centos)
- 节点数:3
材料准备
- consul_1.3.0.zip(官网下载)
- acl.json
{
"acl_datacenter": "datacenter1",
"acl_master_token": "xxxx-xxxx-xxxx-xxxx-xxxx1",
"acl_default_policy": "deny",
"acl_down_policy": "extend-cache",
"acl_agent_token": "xxxx-xxxx-xxxx-xxxx-xxxx2"
}
安装部署
- 在所有服务器上,解压部署包
unzip consul_1.3.0.zip -d consul_server
- 部署包可执行赋权限
chmod 755 consul_server
- 启动服务
export IP=$(shell ifconfig -a|grep inet| grep -v 127.0.0.1|grep -v inet6|awk `{print$$2}`|tr -d `addr`)
cd consul_server; nohup ./consul agent -server -bootstrap-expect 3 -pid-file consul.pid -data-dir ./data -config-dir conf.d -bind ${IP} -client 0.0.0.0 -ui -datacenter datacenter1 -rejoin &
- 加入集群
在服务器1上执行:
cd consul_server; ./consul join ${IP2}
cd consul_server; ./consul join ${IP3}
- 服务重启,使得acl配置生效
cd consul_server; kill -15 `cat consul.pid`
cd consul_server; nohup ./consul agent -server -bootstrap-expect 3 -pid-file consul.pid -data-dir ./data -config-dir conf.d -bind ${IP} -client 0.0.0.0 -ui -datacenter datacenter1 -rejoin &
- 查看集群成员
cd consul_server;
export CONSUL_HTTP_TOKEN='xxxx-xxxx-xxxx-xxxx-xxxx1'
./consul members
- 创建新agent token
curl -X PUT -d '{"ID": "ID1", "Name": "agent1", "Type": "client", "Rules": "key\" \"polict=\"read\" key \"test_folder\" {policy=\"write\"}"}'
- 验证(略)
curl -i -X PUT http://127.0.0.1:8500/v1/kv/test_folder/hello?token=xxxx-xxxx-xxxx-xxxx-xxxx2 -d test1
小结
本文对consul的分布式集群部署进行了简单介绍,实际以官网为准,希望对你能有所帮助
网友评论