Consul client端安装

Consul client端安装

1、创建相应的目录

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

2、下载安装包

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/

3、编写启动脚本

cd /opt/server/consul

vim start.sh

#!/bin/bash
consul agent \
-log-file=/data/logs/consul/consul.log \
-log-rotate-bytes=104857600 \
-log-rotate-max-files=10 \
-data-dir=/data/consul/data \
-config-dir=/data/consul/config \
-datacenter=shenzhen \
-join 10.0.0.11

命令参数说明

  • -log-file : 将所有Consul代理日志消息重定向到一个文件。这可以用完整路径和日志名指定。如果路径没有文件名,则文件名默认为“consul-{timestamp}.log”。可以与[-log rotate bytes]和[-log rotate duration]结合使用,以获得细粒度的日志旋转体验。
  • -log-rotate-bytes - 指定在日志需要旋转之前应写入日志的字节数。除非指定,否则可以写入日志文件的字节数没有限制.
  • -log-rotate-duration - 要指定日志在需要旋转之前应写入的最长持续时间。必须是持续时间值,如30秒。默认值为24小时.
  • -log-rotate-max-files - 指定要保留的旧日志文件存档的最大数目。默认为0(不删除任何文件)。设置为-1以在创建新日志文件时丢弃旧日志文件.
  • -data-dir:提供一个目录用来存放agent的状态,所有的agent允许都需要该目录,该目录必须是稳定的,系统重启后都继续存在
  • -node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名(代表一个机器)
  • -datacenter:该标记控制agent运行的datacenter的名称,默认是dc1
  • -node: 节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名(代表一个机器)
  • -datacenter:数据中心名称,例如shenzhen,hangzhou,hk;同一个数据中心保持一致
  • -join:加入一个已经启动的agent的ip地址,可以多次指定多个agent的地址。如果consul不能加入任何指定的地址中,则agent会启动失败,默认agent启动时不会加入任何节点。

赋予可执行权限

chmod +x start.sh

4、将consul注册为Systemd服务

  • 创建一个用于启动Consul的专有用户
useradd -M -s /sbin/nologin consul

chown -R consul.consul /opt/server/consul
chown -R consul.consul /data/logs/consul
chown -R consul.consul /data/consul/data
chown -R consul.consul /data/consul/config
  • 创建Systemd配置文件

cd /usr/lib/systemd/system/

vim consul.service

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

这时Kill用的SIGTERM信号,因为SIGTERM信号在集群环境下可以避免leader重选。SIGINT和SIGTERM的区别:

  1. SIGINT与字符ctrl+c关联,SIGTERM没有任何控制字符关联。

  2. SIGINT只能结束前台进程,SIGTERM则不是。

  3. SIGTERM可以被阻塞、处理和忽略。KILL命令的默认不带参数发送的信号就是SIGTERM,SIGTERM可以让程序优雅的退出。

  • 启动consul
systemctl start consul
  • 查询服务状态
systemctl status consul
  • 查询日志
tailf /data/logs/consul/consul.log

5、查询集群成员

consul members

你可能感兴趣的:(consul,consul,consul客户端安装,consul,client,consul,client端安装)