Consul server集群安装

Consul server集群安装

1、机器准备

  • 准备三台机器:2CPU 4G内存

  • 修改三台机器的hostname分别为consul1、consul2、consul3

  • 配置host

vim /etc/hosts

10.0.0.11 consul1
10.0.0.12 consul2
10.0.0.13 consul3

2. 创建相应的目录

mkdir -p /opt/server/consul
mkdir -p /data/logs
mkdir -p /data/consul_data

3. 下载安装包

wget https://releases.hashicorp.com/consul/1.6.1/consul_1.6.1_linux_amd64.zip
unzip consul_1.6.1_linux_amd64.zip
cp consul /usr/local/bin/

4、编写启动脚本

cd /opt/server/consul

vim start.sh

  • consul1(注意node、bind参数)
#!/bin/bash
nohup consul agent -server -bootstrap-expect=3 -data-dir=/data/consul_data -bind=10.0.0.11 -client=0.0.0.0 -datacenter=shenzhen -ui >> /data/logs/consul.log 2>&1
  • consul2(注意node、bind、join参数)
#!/bin/bash
nohup consul agent -server -bootstrap-expect=3 -data-dir=/data/consul_data -bind=10.0.0.12 -client=0.0.0.0 -datacenter=shenzhen -join=10.0.0.11 -ui >> /data/logs/consul.log 2>&1
  • consul3(注意node、bind、join参数)
#!/bin/bash
nohup consul agent -server -bootstrap-expect=3 -data-dir=/data/consul_data -bind=10.0.0.13 -client=0.0.0.0 -datacenter=shenzhen -join=10.0.0.11 -ui >> /data/logs/consul.log 2>&1 &

命令参数说明

  • -server:定义agent运行在server模式还是Client模式,提供时即为Server端,每个集群至少有一个server并且每台机器上不要超过5个dataceter.所有服务器采用一致性算法Raft保证数据一致,确保在故障的情况下的可用性。

  • -bootstrap-expect:在一个datacenter中期望提供的server节点数目,当该值提供的时候,consul一直等到达到指定sever数目的时候才会引导整个集群,该标记不能和bootstrap共用(推荐使用的方式)

  • -data-dir:提供一个目录用来存放agent的状态,所有的agent允许都需要该目录,该目录必须是稳定的,系统重启后都继续存在

  • -node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名(代表一个机器)

    扫描二维码关注公众号,回复: 9780776 查看本文章
  • -datacenter:该标记控制agent运行的datacenter的名称,默认是dc1

赋予可执行权限

chmod +x start.sh

5、将consul注册为Systemd服务

cd /usr/lib/systemd/system/

vim consul.service

[Unit]
Description=consul
After=network.target
    
[Service]
ExecStart=/opt/server/consul/start.sh
KillSignal=SIGTERM
    
[Install]
WantedBy=multi-user.target

6、 启动consul

systemctl start consul

6、查询服务状态

systemctl status consul

8、查询日志

tailf /data/logs/consul.log

9、 集群状态查看

[root@dev004 tmp]# consul operator raft list-peers

Node   ID                  Address       State   Voter RaftProtocol

consul1 ca182aa4-2e1e-b7d3-91b4-fa1e4cfb332a 10.0.0.11:8300 leader  true  3

consul2 62534895-35a4-5204-aca8-d7c89118c747 10.0.0.12:8300 follower true  3

consul3 c333280d-d9e0-1f51-9249-637aedc19c7e 10.0.0.13:8300 follower true  3

10、 查看members状态

[root@dev004 tmp]# consul members

Node   Address       Status Type  Build Protocol DC    Segment

consul1 10.0.0.11:8301 alive  server 1.6.1 2     shenzhen <all>

consul2 10.0.0.12:8301 alive  server 1.6.1 2     shenzhen <all>

consul3 10.0.0.13:8301 alive  server 1.6.1 2     shenzhen <all>

11、访问UI

打开浏览器访问 http://10.0.0.11:8500

12、删除注册的服务

去client节点执行

curl http://127.0.0.1:8500/v1/agent/service/deregister/service2-8080

或者

consul services deregister -id=service2-8080
发布了30 篇原创文章 · 获赞 7 · 访问量 3912

猜你喜欢

转载自blog.csdn.net/huchao_lingo/article/details/103495261
今日推荐