1. 程式人生 > 實用技巧 >Centos 8 下 安裝配置Consul

Centos 8 下 安裝配置Consul

一、安裝Consul

1. 下載二進位制安裝檔案

下載地址:https://www.consul.io/downloads.html

#安裝wget
yum install wget

#下載Consul
wget https://releases.hashicorp.com/consul/1.8.0/consul_1.8.0_linux_amd64.zip

  

2.解壓縮安裝包

unzip consul_1.8.0_linux_amd64.zip

  

3.解壓之後將consul複製到我們的自定義檔案目錄中

#建立目錄
mkdir /usr/local/consul_1.8

#拷貝到新建立的目錄中
cp consul /usr/local/consul_1.8/consul

#刪除現在和解壓後文件
rm consul
rm consul_1.8.0_linux_amd64.zip

  

3.啟動服務和客戶端

參考資料:https://www.consul.io/docs/agent/basics.html

為agent機器和server機器 同為192.168.2.171 為例。

#建立data、log目錄
mkdir /usr/local/consul_1.8/data
mkdir /usr/local/consul_1.8/log


#啟動
/usr/local/consul_1.8/consul agent -server -bootstrap-expect 1 -data-dir=/usr/local/consul_1.8/data/ -node=n1 -bind=192.168.2.171 -client=192.168.2.171 -ui

  -server 表示是server模式
  -bootstrap-expect=3 表示是叢集中有3臺伺服器 bootstrap該模式node可以指定自己作為leader ,如果是非leader可不加該引數
  -data-dir=/tmp/consul 目錄
  -node=n2 該伺服器節點名
  -bind=127.0.0.1 節點繫結的ip
  -ui 非必須 webui的路徑 用web來管理consul

 

如下圖啟動成功。

開啟瀏覽器訪問http://192.168.2.171:8500/ 出現下圖,啟動成功。

如果不能訪問檢視一下是否防火牆影響,Ctrl + C 退出Consul,關閉防火牆,再重新執行啟動試試。

防火牆相關命令

#檢視狀態     
systemctl status firewalld.service

#開啟防火牆 
systemctl start firewalld.service

#關閉防火牆 
systemctl stop firewalld.service

#開啟防火牆 
systemctl enable firewalld.service

#禁用防火牆 
systemctl disable firewalld.service

  

二、配置Consul 開機自啟動

1.建立服務指令碼

路徑/usr/lib/systemd/system/,新建一個service命名為,consul.service

cd /usr/lib/systemd/system/
vi consul.service

  在vi編輯器,編寫如下寫指令碼:

[Unit]
Description=ConsulServer
After=network.target
    
[Service]
ExecStart=/usr/local/consul_1.8/consul.start.sh
KillSignal=SIGTERM
    
[Install]
WantedBy=multi-user.target

2.建立啟動指令碼

建立啟動指令碼檔案

cd /usr/local/consul_1.8/
vi consul.start.sh

  寫入啟動指令碼

#!/bin/bash

/usr/local/consul_1.8/consul agent -server -ui -bootstrap-expect=1 -node=192.168.2.171 -data-dir=/usr/local/consul_1.8/data/ -log-file=/usr/local/consul_1.8/log/consul_log-$(date +%Y-%m-%d--%H-%M) -client=192.168.2.171 -bind=192.168.2.171 -datacenter=dc1

echo "consul startup"

  

2. 嘗試服務啟動

重新載入配置

systemctl daemon-reload

 

Consul 啟動

systemctl start consul

檢視服務狀態

systemctl status consul

如果出現下圖,服務啟動成功。

如果失敗,這是因為使用者沒有許可權,而導致無法執行。

用命令chmod 修改一下.sh許可權就可以了,這裡的u 這裡指檔案所有者,+x 新增可執行許可權,*.sh表示所有的sh檔案。

chmod u+x *.sh

  

3.設定開機自啟動

systemctl enable consul.service