一、安装
https://developer.hashicorp.com/consul/downloads
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
注意如果是python3,但yum是运行在python2上,需要改一下
启动
consul agent -dev -ui -node=consul-dev -client=0.0.0.0
访问 ip:8500
二、部署
1. 环境准备
IP | 节点名称 | Consul角色 |
---|---|---|
49.232.x.x | s1 | bootstrap Server |
81.70.x.x | s2 | Server |
116.205.x.x | s3 | Server |
49.232.x.x | c1 | Client(UI) |
2. consul 端口说明
端口 | 说明 |
---|---|
TCP/8300 | 8300 端口用于服务器节点。客户端通过该端口 RPC 协议调用服务端节点。服务器节点之间相互调用 |
TCP/UDP/8301 | 8301 端口用于单个数据中心所有节点之间的互相通信,即对 LAN 池信息的同步。它使得整个数据中心能够自动发现服务器地址,分布式检测节点故障,事件广播(如领导选举事件)。 |
TCP/UDP/8302 | 8302 端口用于单个或多个数据中心之间的服务器节点的信息同步,即对 WAN 池信息的同步。它针对互联网的高延迟进行了优化,能够实现跨数据中心请求。 |
8500 | 8500 端口基于 HTTP 协议,用于 API 接口或 WEB UI 访问。 |
8600 | 8600 端口作为 DNS 服务器,它使得我们可以通过节点名查询节点信息。 |
所以主机节点的防火墙开放如下端口:
firewall-cmd --zone=public --add-port=8300/tcp --permanent;
firewall-cmd --zone=public --add-port=8301/tcp --permanent;
firewall-cmd --zone=public --add-port=8302/tcp --permanent;
firewall-cmd --zone=public --add-port=8500/tcp --permanent;
firewall-cmd --zone=public --add-port=8600/tcp --permanent;
firewall-cmd --reload