前往 官网下载地址 下载相应系统最新的二进制包。
这样子直接一点:(我的是centos)
wget https://releases.hashicorp.com/consul/1.0.6/consul_1.0.6_linux_amd64.zip
unzip consul_1.0.6_linux_amd64.zip
mkdir -p /home/devweb/consul/data
这样子就可以看到bin的二进制文件了。
首先启动第一台机器(节点1):
nohup ./consul agent -server -bootstrap-expect 2 -data-dir /home/devweb/consul/data -node=mynode1 -bind=10.10.10.100 -client=10.10.10.100 -ui &
- 10.10.10.100 是这台机器的ip
- -node:节点的名称
- -server:这个就是表示这个节点是个SERVER
- -bootstrap-expect:这个就是表示期望提供的SERVER节点数目,数目一达到,它就会被激活,然后就是LEADER了
- -bind:绑定的一个地址,用于节点之间通信的地址,可以是内外网,必须是可以访问到的地址,用于多网卡服务器
- -client:这个表示注册或者查询等一系列客户端对它操作的IP,如果不指定这个IP,默认是127.0.0.1。
- -ui 表示可以通过这台机器用webUI进行访问(10.10.10.100:8500),不加的话,通过web就访问不到
启动第二台(节点2):
nohup ./consul agent -server -data-dir /home/devweb/consul/data -node=mynode2 -bind=10.10.10.101 -join=10.10.10.100 -client=10.10.10.101 &
- -join:这个表示启动的时候,要加入到哪个集群内,这里就是说要加入到节点1的集群, 也可不加此参数,然后手动执行
./consul join 10.10.10.100
来加入 - -其他参数同第一台,注意这里不用bootstrap-expect参数了
接下来,我们启动第三台(节点3):
nohup ./consul agent -server -data-dir /home/devweb/consul/data -node=mynode3 -bind=10.10.10.102 -join=10.10.10.100 -client=10.10.10.102 &
这样子,我们就成功了。
在10.10.10.100上看下我们的consul集群:
./consul members #查看集群的个数
./consul info #查看当前集群的信息
.consul help #查看帮助文档
好了,到此,我们成功安装了。我来点更劲爆的,那就是如何使用。这里来一个demo吧。
我用的是curl模拟http请求调用 http://10.10.10.100:8500/v1/agent/service/register PUT 注册一个服务。来注册一个服务,-d表示curl请求的body,相关curl的使用,请自行google。也可以看这里。
curl -i -X PUT -i -H "Content-Type:application/json" -d '{"ID": "userServiceId", "Name": "userService", "Tags": ["primary","v1"], "Address": "127.0.0.1", "Port": 8000, "EnableTagOverride": false, "Check": { "DeregisterCriticalServiceAfter": "90m", "HTTP": "http://www.baidu.com", "Interval": "10s" }}' http://10.10.10.100:8500/v1/agent/service/register
- ID:注册服务的id
- Name:注册服务的名称,查询服务要用到。
- Check:把服务注册到consul集群后,consul集群会通过这里面的http来检查此服务是否可用
- Interval:表示多久check一次服务是否可用,10s表示10秒检查一次
- DeregisterCriticalServiceAfter:失败后多久删除此服务,90m表示90分钟后
要带上端口号,我没有改过,所以就默认8500了。
我们查询下刚才注册的服务:
curl http://10.10.10.100:8500/v1/catalog/service/userService
可以设置一个k/v:
./consul kv put --http-addr=10.10.10.100:8500 user/config/connections 5
获取一个k/v
./consul kv get -detailed --http-addr=10.10.62.109:8500 user/config/connections
怎么样,其实只是使用的话,so easy。
配置可以看官方文档
搜索
标签
study
ab
amap
apache
apahe
awk
aws
bat
centos
CFS
chrome
cmd
cnpm
composer
consul
crontab
css
curl
cygwin
devops
di
docker
docker,docker-compose
ethereum
excel
fiddler
fluentd
framework
front-end
git
gitgui
github
glide
go
golang
gorm
grafana
gzip
ioc
item2
iterm2
javascript
jenkins
jsonp
kafka
laradock
laravel
larval
linux
liunux
log
mac
mac, wi-fi
macos
magento
mariaDB
minikube
mongoDB
msp
mysql
netbeans
nginx
nodejs
nohup
npm
nsq
php
php-fpm
php7
phpstorm
php扩展
Protobuf
python
redis
scp
server
shell
soap
socket
socket5
sql
sre
ssdb
ssh
ssl
study
sublime
swift
system
td-agent
uml
v2ray
vagrant
vagrnat
vim
vpn
vue
vue.js
webpack
webrtc
websocket
webtatic
windows
windows7
word
wps
xdebug
yarn
yii2
yum
zookeeper
世界国家
互联网
以太坊
分类
前端
小程序
打印机
排序算法
搞笑
权限
粤语
缓存
网络
虚拟机
视频
设计模式
项目管理
热门文章
友情链接