Become a sponsor

集群部署
在 CentOS Stream
上部署 Consul
集群服务,需要准备三台服务器,分别安装并配置为集群模式。通过配置 server
模式和 bootstrap_expect
参数,确保三台服务器能够互相通信并形成集群。
1. 服务器数量:3台,IP地址分别如下:
S206服务器:192.168.10.206
S207服务器:192.168.10.207
S208服务器:192.168.10.208
2. 操作系统:CentOS Stream 8 或者 Rocky Linux (官方推荐)。
3. 网络要求:确保三台服务器之间网络互通,开放以下端口:
8300(RPC通信)
8301(LAN Gossip通信)
8302(WAN Gossip通信)
8500(HTTP API/UI)
4. 配置要求:每台服务器至少2核CPU、4 GB内存、20 GB存储。
访问 Consul 官网 下载适用于 Linux
的二进制文件。
选择版本
选择适用于 Linux
的版本(通常是 64
位 .zip
文件,如:consul_1.20.5_linux_amd64.zip
软件包)。
使用 XShell
客户端工具远程登录服务器,并上传软件包 consul_1.20.5_linux_amd64.zip
至目录 /usr/local/src
。
上传成功后查看软件包信息:
[root@localhost src]# pwd
/usr/local/src
[root@localhost src]# ll
总用量 393720
-rw-r--r--. 1 root root 66534209 3月 20 02:16 consul_1.20.5_linux_amd64.zip
[root@localhost src]# du -sh *
64M consul_1.20.5_linux_amd64.zip
温馨提示
客户端工具除了 XShell
也可以使用其他工具,安装包存放目录可自定义,如 /usr/local/src
。
[root@localhost src]# unzip consul_1.20.5_linux_amd64.zip
Archive: consul_1.20.5_linux_amd64.zip
inflating: LICENSE.txt
inflating: consul
Consul
移动到 /usr/local/bin
:mv consul /usr/local/bin/
执行命令 consul --version
查看版本信息:
[root@localhost src]# consul --version
Consul v1.20.5
Revision 74efe419
Build Date 2025-03-11T10:16:18Z
Protocol 2 spoken by default, understands 2 to 3 (agent will automatically use protocol >2 when speaking to compatible agents)
特别说明
需要在 3 台服务器S206、S207、S208 服务器上分别安装 Consul
服务。
在每台服务器上创建 Consul
配置文件。
mkdir /etc/consul.d
/etc/consul.d/consul.hcl
并输入以下内容:datacenter = "dc1"
data_dir = "/opt/consul"
client_addr = "0.0.0.0"
bind_addr = "192.168.10.206"
server = true
bootstrap_expect = 3
ui = true
retry_join = ["192.168.10.207", "192.168.10.208"]
datacenter = "dc1"
data_dir = "/opt/consul"
client_addr = "0.0.0.0"
bind_addr = "192.168.10.207"
server = true
bootstrap_expect = 3
ui = true
retry_join = ["192.168.10.206", "192.168.10.208"]
datacenter = "dc1"
data_dir = "/opt/consul"
client_addr = "0.0.0.0"
bind_addr = "192.168.10.208"
server = true
bootstrap_expect = 3
ui = true
retry_join = ["192.168.10.206", "192.168.10.207"]
配置说明:
在每台服务器上执行以下命令创建数据目录:
mkdir -p /opt/consul
chown -R consul:consul /opt/consul
chown -R consul:consul /etc/consul.d
在每台服务器上创建 Systemd
服务文件 /etc/systemd/system/consul.service
:
[Unit]
Description=Consul Service
Documentation=https://www.consul.io/
After=network.target
[Service]
ExecStart=/usr/local/bin/consul agent -config-dir=/etc/consul.d
ExecReload=/bin/kill -HUP $MAINPID
KillSignal=SIGINT
Restart=on-failure
User=consul
Group=consul
[Install]
WantedBy=multi-user.target
参数说明:
Consul
专用用户和组groupadd --system consul
useradd --system --home /etc/consul.d --shell /bin/false -g consul consul
chown -R consul:consul /etc/consul.d
chown -R consul:consul /opt/consul
重新加载 Systemd
配置以应用新服务文件:
systemctl daemon-reload
# 启动Consul服务
systemctl enable consul
# 设置Consul开机自启动
systemctl start consul
通过以上步骤,Consul
已成功配置为 Systemd
服务,并可以通过以下命令管理:
1. 启动服务:systemctl start consul
2. 停止服务:systemctl stop consul
3. 重启服务:systemctl restart consul
4. 查看状态:systemctl status consul
5. 查看日志:journalctl -u consul
在任意一台服务器上检查集群成员:
consul members
输出应显示三台服务器的信息,状态为 alive
。
http://<任意服务器IP>:8500
,确保UI中显示三台服务器。Consul
的 Web
界面,用于查看节点、服务和配置,说明安装成功。在每台服务器上开放 Consul
所需的端口:
8500
端口:firewall-cmd --permanent --add-port={8300,8301,8302,8500}/tcp
firewall-cmd --reload
通过以上步骤,您已在三台 CentOS Stream
服务器上成功部署了 Consul
集群服务。集群会自动选举 Leader
,并通过 Gossip
协议保持通信。您可以通过 Consul Web UI
或命令行工具管理集群。