前言:
由于公司的基础环境为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