搭建单节点和集群consul

搭建单节点和集群consul

注:关闭防火墙,或者放开防火墙策略端口

1、单节点部署

1.1.1、创建相应的部署路径

mkdir -p /data/consul/{conf,data,log}

说明: conf:配置文件目录 log:日志存放目录 data:数据存放目录

1.1.2、下载consul包 https://developer.hashicorp.com/consul/downloads

目录创建完成将 consul 物料包存放至/data/consul/目录

chmod +x /data/consul/consul

将consul二进制包放进全局变量

mv consul /usr/local/bin/

1.1.3、配置环境变量

export CONSUL_HOME=/data/consul

export PATH= C O N S U L H O M E : CONSUL_HOME: CONSULHOME:PATH

1.1.4、更新环境变量让其生效

source /etc/profile

1.2创建配置文件

1.2.1 编写配置文件

vim /data/consul/conf/server.json

{
"bind_addr": "服务器ip地址",
"client_addr": "0.0.0.0",
"datacenter": "citycode-jkm",
"data_dir": "/data/consul/data",
"log_level": "INFO",
"log_file": "/data/consul/log/consul.log",
"log_rotate_duration": "24h",
"enable_syslog": false,
"enable_debug": true,
"node_name": "服务器ip地址",
"server": true,
"ui": true,
"bootstrap_expect": 1, 
"leave_on_terminate": false,
"skip_leave_on_interrupt": true
}

1.3 创建开机自启动

1.3.1创建启动文件

vim /usr/lib/systemd/system/consul.service

[Unit]
Description=Consul service
Documentation=https://www.consul.io/docs/
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/data/consul/consul agent -config-dir=/data/consul/conf
[Install]
WantedBy=multi-user.target

1.3.2启动服务加入开机自启

systemctl daemon-reload

systemctl enable --now consul

systemctl status consul

1.4验证服务

1.4.1 确认服务是否启动正常

consul members

1.4.2 验证接口是否正常

curl localhost:8500/v1/catalog/nodes?pretty
在这里插入图片描述

2、集群部署

2.1.1 准备工作

1.1.1、创建相应的部署路径

mkdir -p /data/consul/{conf,data,log}

说明: conf:配置文件目录 log:日志存放目录 data:数据存放目录

1.1.2、下载consul包 https://developer.hashicorp.com/consul/downloads

目录创建完成将 consul 物料包存放至/data/consul/目录

chmod +x /data/consul/consul

将consul二进制包放进全局变量

mv consul /usr/local/bin/

1.1.3、配置环境变量

export CONSUL_HOME=/data/consul

export PATH= C O N S U L H O M E : CONSUL_HOME: CONSULHOME:PATH

1.1.4、更新环境变量让其生效

source /etc/profile

2.1.2 创建配置文件

简单搭建集群,以 A B C 三节点为例(ABC 为各自 ip 地址,端口均为 8500,如果需要改端口,自行 配置 json 配置,建议默认即可)

vim /data/consul/conf/server.json

{
"bind_addr": "A 节点 IP",
"client_addr": "0.0.0.0",
"datacenter": "citycode",
"data_dir": "/data/consul/data",
"log_level": "INFO",
"log_file": "/data/consul/log/consul.log",
"log_rotate_duration": "24h",
"enable_syslog": false,
"enable_debug": true,
"node_name": "A 节点 IP",
"server": true,
"ui": true,
"bootstrap_expect": 3, 
"leave_on_terminate": false,
"skip_leave_on_interrupt": true,
"rejoin_after_leave": true,
"retry_join": [ 
"A 节点 IP",
"B 节点 IP",
"C 节点 IP"
]
}

2.1.3 加入开机自启(三个节点配置一致即可)

vim /usr/lib/systemd/system/consul.service

[Unit]
Description=Consul service
Documentation=https://www.consul.io/docs/
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/data/consul/consul agent -config-dir=/data/consul/conf
[Install]
WantedBy=multi-user.target

systemctl daemon-reload

systemctl enable --now consul

systemctl status consul

2.1.4 验证集群

2.1.4.1 验证集群状态是否正常

consul members
在这里插入图片描述

2.1.4.2 验证集群状态是否正常,是否有选举成功

consul operator raft list-peers
在这里插入图片描述

2.1.4.3 查看各个节点是否在集群内

curl localhost:8500/v1/catalog/nodes?pretty
在这里插入图片描述

2.1.4.4 登录ui管理界面(concul 默认端口是8500)http://192.168.2.11:8500 查看集群是否正常
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值