【开发工具】Consul使用:2、LinuxCentos7上安装consul并部署集群

  1. 上传文件consul_1.4.0_linux_amd64.zip到/opt下
  2. Unzip consul_1.4.0_linux_amd64.zip #后出现一个文件consul

  1. sudo chown root:root consul #如果没有root权限,给与
  2. sudo mv consul /usr/local/bin/
  3. consul –version #检查是否成功
  4. consul -autocomplete-install #设置子命令自动安装
  5. complete -C /usr/local/bin/consul consul
  6. 创建非特权用户操作consl

         sudo useradd --system --home /etc/consul.d --shell /bin/false consul

         sudo mkdir --parents /opt/consul

         sudo chown --recursive consul:consul /opt/consul

  1. 配置

         sudo touch /etc/systemd/system/consul.service

         #在consul.service上创建consul服务

 

[Unit]

Description="HashiCorp Consul - A service mesh solution"

Documentation=https://www.consul.io/

Requires=network-online.target

After=network-online.target

ConditionFileNotEmpty=/etc/consul.d/consul.hcl

 

[Service]

User=consul

Group=consul

ExecStart=/usr/local/bin/consul agent -config-dir=/etc/consul.d/

ExecReload=/usr/local/bin/consul reload

KillMode=process

Restart=on-failure

LimitNOFILE=65536

 

[Install]

WantedBy=multi-user.target

 

为该[Unit]节设置以下参数:

  • Description - 描述领事服务的自由格式字符串
  • Documentation - 链接到领事文档
  • Requires - 配置对网络服务的需求依赖性
  • After - 在领事服务之前配置对正在启动的网络服务的排序依赖性
  • ConditionFileNotEmpty - 在启动consul之前检查非零大小的配置文件

为该[Service]节设置以下参数:

  • UserGroup - 作为领事用户运行领事
  • ExecStart- 使用agent参数和配置文件的路径 开始consul
  • ExecReload - 向consul发送重载信号以触发领事中的配置重新加载
  • KillMode - 将领事视为一个过程
  • Restart - 重新启动consul,除非它返回一个干净的退出代码
  • LimitNOFILE - 为文件描述符设置增加的限制

为该[Install]节设置以下参数:

  • WantedBy - 创建由多用户运行级别启动的consul的弱依赖性

 

  1. 配置consul服务器

创建配置文件

sudo mkdir --parents /etc/consul.d

sudo touch /etc/consul.d/consul.hcl

sudo chown --recursive consul:consul /etc/consul.d

sudo chmod 640 /etc/consul.d/consul.hcl

vim / etc/consul.d/consul.hcl

#用于部署Consul集群的数据中心的标识符

datacenter = "dc1"

data_dir = "/opt/consul"

#指定用于加密Consul网络流量的密钥

encrypt = "Luj2FZWwlt8475wD1WtwUQ=="

  1. 集群自动加入

retry_join参数添加到consul.hcl配置文件中:

Vim /etc/consul.d/consul.hcl

retry_join = ["172.16.0.11"]

  1. 性能参数配置

raft_multiplier - Consul服务器用于缩放关键Raft时序参数的整数乘数。将此值设置为1将将Raft配置为其最高性能模式,相当于0.7之前的Consul的默认时间,建议用于生产Consul服务器。

Vim /etc/consul.d/consul.hcl

performance {

  raft_multiplier = 1

}

  1. 可配置监控遥测配置参数
  2. 配置consul server的数量

sudo touch /etc/consul.d/server.hcl

sudo chmod 640 /etc/consul.d/server.hcl

vim /etc/consul.d/server.hcl

#此标志用于控制代理是处于服务器模式还是客户端模式

server = true

#提供数据中心中预期的服务器数。不应提供此值,或者该值必须与群集中的其他服务器一致。

bootstrap_expect = 3

 

  1. 制定机器可启动consul UI/

vim /etc/consul.d/server.hcl

#在选择某一台server上启动

ui=true

  1. 启动consul

sudo systemctl enable consul

sudo systemctl start consul

sudo systemctl status consul

每台机器都一样的操作即可,再依次在每台机器上选择加入主机集群

consul join 主机

首先在主机上172.20.10.1 (启动的是consul和consul_ui)
consul agent -ui-dir /usr/local/consul_ui/ -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=172.20.10.1 -node=consul_01 -client 0.0.0.0 &(&是后台启动,这样就不用再起shell)

然后在另外一台172.20.10.2 (启动的是consul)
 consul agent -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=172.20.10.2 -node=consul_02 &

最后一台一样的操作172.20.10.3 (启动的是consul)
consul agent -server -bootstrap-expect 3 -data-dir /usr/local/consul/ -bind=172.20.10.3 -node=consul_03 &
加入集群完成
在 172.20.10.1 中 : consul join 172.20.10.2 172.20.10.3 

问题:

启动之后通过本机访问失败,主要原因是由于服务器的防火墙策略挡住了8500端口

firewall-cmd --zone=public --add-port=8500/tcp --permanent

systemctl stop firewalld.service

systemctl start firewalld.service

以上操作步骤来自官网

集群搭建参考:https://blog.csdn.net/u010046908/article/details/61916389

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
部署 Consul 集群需要在多台服务器上安装 Consul 并配置集群信息。以下是部署 Consul 集群的基本步骤: 1. 在每台服务器上安装 Consul 可以使用类似于上面提到的 wget 和 unzip 命令下载和安装 Consul 的二进制文件。 2. 创建一个用于存储 Consul 数据的目录 在每台服务器上创建一个目录用于存储 Consul 的数据和配置文件。例如: ``` sudo mkdir /etc/consul.d ``` 3. 创建一个 Consul 配置文件 在其中一台服务器上创建一个 Consul 配置文件,例如: ``` sudo vi /etc/consul.d/config.json ``` 在配置文件中设置以下参数: ``` { "datacenter": "dc1", "data_dir": "/etc/consul.d", "log_level": "INFO", "server": true, "bootstrap_expect": 3, "bind_addr": "192.168.1.100", "retry_join": ["192.168.1.100", "192.168.1.101", "192.168.1.102"] } ``` 其中,bootstrap_expect 表示期望的服务器数量,bind_addr 表示 Consul 绑定的 IP 地址,retry_join 表示可以加入集群的服务器列表。 4. 复制配置文件到其他服务器上 将配置文件复制到其他服务器上,例如: ``` scp /etc/consul.d/config.json user@server2:/etc/consul.d/config.json scp /etc/consul.d/config.json user@server3:/etc/consul.d/config.json ``` 5. 启动 Consul 在每台服务器上启动 Consul,例如: ``` sudo consul agent -config-file=/etc/consul.d/config.json & ``` 6. 验证 Consul 集群 可以使用 Consul 命令行工具或者 Web 界面验证 Consul 集群的状态。 通过以上步骤,就可以在多台服务器上部署 Consul 集群。需要注意的是,Consul 集群部署需要考虑网络连通性和安全性等因素,具体的部署方法需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值