一、环境规划和初始化
1、环境规划
主机名 | 服务器IP | 应用程序 | 用途 |
consul01 | 192.168.66.130 | consul | 服务发现、服务注册 |
consul02 | 192.168.66.131 | consul | |
consul03 | 192.168.66.132 | consul | |
prometheus | 192.168.66.133 | Prometheus Grafana Altermanager PrometheusAlert | 监控、数据展示、告警 |
node_export | 192.168.66.134 | node_export | 节点监控 |
Nginx-LB | 192.168.66.135 | nginx | 负载均衡 |
2、配置主机名
- 所有节点执行
[root@localhost ~]# hostnamectl set-hostname xxxx
3、关闭防护墙
systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
systemctl stop NetworkManager && systemctl disable NetworkManager && systemctl status NetworkManager
4、关闭SELinux
sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0 && getenforce
二、Consul集群部署
1、下载安装包
#consul节点服务器执行下面的命令
mkdir /opt/soft
cd /opt/soft
wget https://releases.hashicorp.com/consul/1.10.3/consul_1.10.3_linux_amd64.zip
#创建数据目录
mkdir -p /data/consul
2、解压并安装
unzip consul_1.10.3_linux_amd64.zip -d /usr/local/
cp /usr/local/consul /usr/local/bin/
(1)通过systemd托管
#consul01节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.130 -ui
# data-dir 数据目录
# datacenter 数据中心名
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF
#consul02节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.131 -ui -join=192.168.66.130
# data-dir 数据目录
# datacenter 数据中心名
# join 需要加入的server的ip,我这里是192.168.66.130
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF
#consul03节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.132 -ui -join=192.168.66.130
# data-dir 数据目录
# datacenter 数据中心名
# join 需要加入的server的ip,我这里是192.168.66.130
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF
(2)启动consul服务
- 三台consul节点执行下面的命令
systemctl daemon-reload
systemctl start consul
systemctl enable consul
systemctl status consul
4、验证集群状态
[root@consul01 ~]# consul operator raft list-peers

- 浏览器输入任意Consul节点IP加
8500
端口访问

二、Prometheus部署
三、Grafana部署
四、Consul集群负载
温馨提示:不可白嫖哦!请评论后刷新页面查看。未绑定邮箱用户,请绑定邮箱之后再评论!点击绑定邮箱
4、检查服务是否正常注册

内容有帮助,good。
过来看看吧
内容有帮助,谢谢
内容有帮助,谢谢
内容很详细,有帮助,赞一个
相当有用的资源