目录
3、以下在zwb_docker执行(服务器自动加入cosul集群)
4、在zwb_nginx端安装nginx服务,手工编译,之前博客都有
5、测试:增加一个 nginx 容器节点,测试服务发现及配置更新功能
一、consul介绍
Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其它分布式服 务注册与发现的方案,Consul 的方案更“一站式”,内置了服务注册与发现框架、分布一致性协议实 现、健康检查、Key/Value 存储、多数据中心方案,不再需要依赖其它工具(比如 ZooKeeper 等)。使用起来也较 为简单。Consul 使用 Go 语言编写,因此具有天然可移植性(支持Linux、windows和 Mac OS X);安装包仅包含一个可执行文件,方便部署,与 Docker 等轻量级容器可无缝配合。
当tomcat4服务器加入进来时(变更时),consul的组件便会采集到数据变化(consul启动时,会丢一个小弟在应用层的节点上,进行监听工作),首先,小弟先把04先注册,并且汇报给consul,
consul-agent会把变更信息展示在web页面中,然后template模板会进行更新配置,在给与NGXIN。NGINX通过reload更新配置。
二、consul的特性
1、服务发现
2、监控检查
3、key/value存储
4、多数据中心
5、基于Raft算法
6、支持http和dns协议接口
三、consul部署
1、实验环境
主机IP | 安装服务 |
zwb_docker/192.168.159.68 | docker-ce、registrator(自动发现、注册的组件) |
zwb_nginx/192.168.159.159 | nginx、consul、consul-template |
2、主机名为nginx端的配置
①、上传安装包到opt下
[root@zwb_nginx opt]# ls
consul_0.9.2_linux_amd64.zip
②、解压
[root@zwb_nginx opt]# unzip consul_0.9.2_linux_amd64.zip
③、把执行文件剪切到/usr/bin下
[root@zwb_nginx opt]# mv consul /usr/bin/
④、consul代理的配置,启动防止后台执行
[root@zwb_nginx opt]# consul agent \
-server \
-bootstrap \
-ui \
-data-dir=/var/lib/consul-data \
-bind=192.168.159.159 \
-client=0.0.0.0 \
-node=consul-server01 &> /var/log/consul.log &
[1] 22356
⑤、查看集群信息
[root@zwb_nginx opt]# consul members
查看端口
或者这样查看:
[root@zwb_nginx opt]# consul info | grep leader
<