总共2台虚拟机用作于consul集群搭建 和 搭配部署好的JAVA容器
192.168.2.211
192.168.2.77
第1步:
SERVER1上操作
docker run -d --name=consul --net=host -e CONSUL_BIND_INTERFACE=ens33 consul:1.6.0 agent -server=true -client=0.0.0.0 -bind=192.168.2.211 -ui -bootstrap-expect=1
第2步:
client2、client3上分别操作 可以无限多个 以client身份加入集群
docker run -d --name=consul --net=host -e CONSUL_BIND_INTERFACE=ens33 consul:1.6.0 agent -client=0.0.0.0 -retry-join=192.168.2.211
第3步:
SERVER1 、client2、client3上分别操作
docker run
-d
--restart=always
--name=registrator
--net=host
-v /var/run/docker.sock:/tmp/docker.sock
gliderlabs/registrator:master
-ip 192.168.2.211 \
consul://192.168.2.211:8500
docker run
-d
--restart=always
--name=registrator
--net=host
-v /var/run/docker.sock:/tmp/docker.sock
gliderlabs/registrator:master
-ip 192.168.2.77
consul://192.168.2.77:8500
查看集群
docker exec -t consul consul members
查看当前leader主机
docker exec -t consul consul operator raft list-peers
docker build -t imagine-saas:v1.0 .
docker container run -dit -p 7060:7060 -e "SPRING_PROFILES_ACTIVE=test" -e "SERVICE_IP=192.168.2.77" -e "SERVICE_CHECK_HTTP=/actuator/health/" --name imagine-saas imagine-saas:v1.0 /bin/bash
docker build -t imagine-bms:v1.0 .
docker container run -dit -p 7010:7010 -e "SPRING_PROFILES_ACTIVE=test" -e "SERVICE_IP=192.168.2.77" -e "SERVICE_CHECK_HTTP=/actuator/health/" --name imagine-bms imagine-bms:v1.0 /bin/bash
需要注意的重点:
- application-test.yml 和 application.yml中的consul配置全部干掉。
-
干掉项目中如下jar包
spring-cloud-starter-consul-2.0.0.RC1.jar
spring-cloud-starter-consul-discovery-2.0.0.RC1.jar
3.不再需要每个项目去手工配置让consul获取 而是通过一个registrator工具去自动发现!!
image.png
检测连接是否200
image.png
网友评论