架构

集群方式部署Prometheus consul集群部署_服务器


集群方式部署Prometheus consul集群部署_集群方式部署Prometheus_02

环境

Consul Server :192.168.200.164、192.168.200.165、192.168.200.166

Consul Client :192.168.200.167

部署流程

一、下载 Consul

创建 Consul 文件夹,下载 Consul 软件包进行解压,得到 Consul 文件。

分别在 192.168.200.164、192.168.200.165、192.168.200.166、192.168.200.167 四台服务器上执行相同操作。

mkdir consul
wget https://releases.hashicorp.com/consul/1.9.5/consul_1.9.5_linux_amd64.zip
unzip consul_1.9.5_linux_amd64.zip

集群方式部署Prometheus consul集群部署_集群方式部署Prometheus_03

二、启动 Consul Server

1. 创建文件夹

分别创建,下面文件夹,否则执行 Consul Server 启动命令,会报目录不存在。

mkdir /etc/consul.d
mkdir /usr/local/consul/data

2. 执行启动命令

192.168.200.164 server-02

./consul agent -server -ui -node=server-02 -client=0.0.0.0 -bootstrap-expect=3  -config-dir=/etc/consul.d/ -data-dir=/usr/local/consul/data/ -bind=192.168.200.164

192.168.200.165 server-01

./consul agent -server -ui -node=server-01 -client=0.0.0.0 -bootstrap-expect=3  -config-dir=/etc/consul.d/ -data-dir=/usr/local/consul/data/ -bind=192.168.200.165

192.168.200.166 server-03

./consul agent -server -ui -node=server-03 -client=0.0.0.0 -bootstrap-expect=3  -config-dir=/etc/consul.d/ -data-dir=/usr/local/consul/data/ -bind=192.168.200.166

命令行配置 -bootstrap-expect=3 :集群中有三台主机,为了防止脑裂,一般为奇数

三、启动 Consul Client

1. 执行启动命令

192.168.200.167 client-01

./consul agent -ui -node=client-01 -client=0.0.0.0  -data-dir=/usr/local/consul/data/ -bind=192.168.200.167

四、组建集群

到此步骤(四台服务会打印错误信息日志,未有集群),三台 Consul Server 和 一台 Consul Client,还未在一个集群中。

分别在四台服务器打开新的终端窗口,执行下面命令,使四台服务组成一个集群。在三台 Server 中被 join 的服务器会成为 Leader。

./consul join 192.168.200.164

集群方式部署Prometheus consul集群部署_集群方式部署Prometheus_04


集群方式部署Prometheus consul集群部署_Server_05


集群方式部署Prometheus consul集群部署_服务器_06

五、查看集群状态

查看集群状态可以通过命令和 UI 两种方式。

命令方式

在任意一台服务执行下面命令。

consul members

集群方式部署Prometheus consul集群部署_UI_07

UI 方式

集群方式部署Prometheus consul集群部署_UI_08

六、集群 UI

在集群中查看任意一台服务器,所看到的内容数据都是一致的。

此时集群节点。

集群方式部署Prometheus consul集群部署_UI_09

192.168.200.167 client-01

集群方式部署Prometheus consul集群部署_UI_10

192.168.200.164 server-02 (此时为 Leader)

集群方式部署Prometheus consul集群部署_集群方式部署Prometheus_11


192.168.200.165 server-01

集群方式部署Prometheus consul集群部署_服务器_12

集群异常测试

全部宕机

首先启动 192.168.200.167 Client-01,此时 UI 不能打开。

集群方式部署Prometheus consul集群部署_UI_13


再启动 192.168.200.166 Server-03,此时 UI 不都能打开,并且集群不能正常工作。

集群方式部署Prometheus consul集群部署_Server_14


再启动 192.168.200.165 Server-01,此时 UI 都不能打开,并且集群不能正常工作。

集群方式部署Prometheus consul集群部署_集群方式部署Prometheus_15

补充

通过 client-01 注册的服务,其他信息存储在 data/services/ 目录下。

集群方式部署Prometheus consul集群部署_Server_16

视频