自动注册服务发现

前言:

由于公司的基础环境为docker,有项目需要做zookeeper或者spring cloud的服务注册,服务注册的IP及端口均为docker内部提供,所以需要搭建calico网路来实现宿主机访问。另测试环境的服务均为IP+端口的方式访问,一旦更换宿主机则致无法调用的情况,所以需要配置域名来访问,而测试环境发布频繁,所以需要服务能自动注册及发现来生成域名

calico架构图

 机器以及组件信息

第一步:

安装etcd集群(3台机器作为集群即可):https://www.cnblogs.com/cjsblogs/p/8716976.html

第二步:

安装docker+calico(这个所有机器都需要安装):https://www.cnblogs.com/cjsblogs/p/9154709.html

第三步:

安装consul,(consul-server集群3台机器作为集群即可,和etcd集群安装在一起,安装consul-client,所有作为应用发布的宿主机都需要安装):https://www.cnblogs.com/cjsblogs/p/9146492.html

第四步:

安装registrator(所有集群以及宿主机都需要安装):https://www.cnblogs.com/cjsblogs/p/9156444.html

第五步:

安装nginx-consul-template(和etcd集群机器安装在一起,可以安装1-3台):https://www.cnblogs.com/cjsblogs/p/9173440.html

第六步:

安装nginx-host: https://www.cnblogs.com/cjsblogs/p/9176658.html

分别在node1和node2启动应用做测试:

docker run -d --restart=always --net calico -e SERVICE_NAME=dev01-nauth -e SERVICE_TAGS=calico --name=dev01_nauth_17216545 -e 'JAVA_OPTS=-Xms2g -Xmx2g' 172.16.4.92/app/nauth:release-tag-2018-06-14-01
docker run -d --restart=always --net calico -e SERVICE_NAME=dev01-nauth -e SERVICE_TAGS=calico --name=dev01_nauth_1721615028 -e 'JAVA_OPTS=-Xms2g -Xmx2g' 172.16.4.92/app/nauth:release-tag-2018-06-14-01

  

原文地址:https://www.cnblogs.com/cjsblogs/p/9176302.html