前言
Consul是一款不错的开源软件,具有注册中心、配置中心、健康检查等实用的功能。它是分布式 k/v 数据存储集群,目前常用于应用的服务注册和发现。Prometheus也可以基于Consul对K8s集群进行服务发现。
File服务发现,即创建一个文件保存监控对象的IP与端口等。在Prometheus配置引用该文件。当文件内容发现改变,Prometheus监控对象也会改变,从而实现服务发现。
Consul集群
Consul可以采用分布式部署集群的方式进行安装,3个服务器分别为:
- 192.168.100.194
- 192.168.100.195
- 192.168.100.196
下载二进制
# 官网地址下载压缩包
wget https://releases.hashicorp.com/consul/1.13.1/consul_1.13.1_linux_amd64.zip
# 解压文件,得出一个二进制文件
yum install unzip
unzip consul_1.13.1_linux_amd64.zip
# 复制文件到环境变量目录
cp consul /usr/local/bin
# 同时复制到其它主机
scp consul 192.168.100.195:/usr/local/bin
scp consul 192.168.100.196:/usr/local/bin
# 在3个主机分别创建数据目录
mkdir -p /data/consul
启动集群
在3台Consul节点分别操作:
# 查看软件版本,操作帮助
consul version
consul -h
# 第一台主机以服务模式运行,并初始化集群
nohup consul agent \
-ui \
-server \
-bootstrap \
-bind=192.168.100.194 \
-node=192.168.100.194 \
-client=192.168.100.194 \
-data-dir=/data/consul &
# 第二台不需要ui,不用初始化,加入第一台
nohup consul agent