CentOS7.X系統安裝部署Consul1.4.2

本文介紹使用docker方式安裝consul和傳統方式部署:
1、基於docker安裝部署consul:
一、直接docker run運行consul,下載consul1.4.2鏡像node


#docker run -d --name consul consul:1.4.2linux


二、將consul鏡像內的/consul目錄拷貝至本地保存,數據信息持久化docker


#export CONSULE_CONTANER_ID=docker ps -aq
#docker cp ${containerId}:/consul /software/consul
#docker rm -f consuljson


三、啓動consul服務bootstrap


docker run -d --name=consul -v /software/consul:/consul --net=host consul:1.4.2 agent --bind=192.168.8.129 --server=true --node=consul --bootstrap-expect=1 --client=0.0.0.0 -ui瀏覽器


四、配置開戶8500防火牆端口,瀏覽器便可訪問了
#firewall-cmd --zone=public --add-port=8500/tcp --permanent
#firewall-cmd --reload
http:192.168.8.129:8500
CentOS7.X系統安裝部署Consul1.4.2
2、傳統方式安裝部署
一、安裝依賴,下載安裝包bash


#yum -y install wget unzip zip
#wget -c https://releases.hashicorp.com/consul/1.4.2/consul_1.4.2_linux_amd64.zip
#unzip consul_1.4.2_linux_amd64.zip -d /usr/bintcp


二、建立配置文件目錄ide


#mkaid /software/consul/logs
#mkdir /etc/consul.d/
#vi /etc/consul.d/basic.json
{
"ports": {
"http": 8500 ,
"dns": 8600,
"grpc": 8400,
"serf_lan": 8301,
"serf_wan": 8302,
"server": 8300
}
}ui


備註:consul的默認使用的端口有8500 8600 8400 8301 8302 8300
三、配置consul系統服務


#vi /etc/init.d/consul
#!/bin/bash
#chkconfig: 2345 89 10
#description: consul Start Stop Restart
#processname: consul
EXCMD=consul
StartDir=/usr/bin/${EXCMD}
pid=ps -ef|grep -v grep| grep consul |awk '{print $2}'
case $1 in
start)
nohup ${StartDir} agent -server -ui -advertise=192.168.8.129 -bind=192.168.8.129 -client=0.0.0.0 -data-dir /software/consul/data -bootstrap-expect 1 -log-file /software/consul/logs/ -config-dir /etc/consul.d > /dev/null 2>&1 &
;;
stop)
kill -9 $pid
;;
restart)
kill -9 $pid
nohup ${StartDir} agent -server -ui -advertise=192.168.8.129 -bind=192.168.8.129 -client=0.0.0.0 -data-dir /software/consul/data -bootstrap-expect 1 -log-file /software/consul/logs/ -config-dir /etc/consul.d > /dev/null 2>&1 &
;;
esac
exit 0


四、對consul系統服務受權添加自啓動


#chmod +x /etc/init.d/consul
#chkconfig --add consul
#chkconfig --level 2345 consul on
#chkconfig --list consul


五、防火牆端口開放
#firewall-cmd --permanent --zone=public --add-port=8500/tcp
#firewall-cmd --reload
#firewall-cmd --zone=public --add-port=8500/tcp --permanent
#firewall-cmd --reload
http:192.168.8.129:8500
六、Consul啓動參數說明:
Consul的啓動能夠添加以下參數,有些參數是相沖突的,不能同時使用


-advertise:通知展示地址用來改變咱們給集羣中的其餘節點展示的地址,通常狀況下-bind地址就是展示地址-bootstrap:用來控制一個server是否在bootstrap模式,在一個datacenter中只能有一個server處於bootstrap模式,當一個server處於bootstrap模式時,能夠本身選舉爲raft leader。-bootstrap-expect:在一個datacenter中指望提供的server節點數目,當該值提供的時候,consul一直等到達到指定sever數目的時候纔會引導整個集羣,該標記不能和bootstrap公用-bind:該地址用來在集羣內部的通信,集羣內的全部節點到地址都必須是可達的,默認是0.0.0.0-dc:該標記控制agent容許的datacenter的名稱,默認是dc1-encrypt:指定secret key,使consul在通信時進行加密,key能夠經過consul keygen生成,同一個集羣中的節點必須使用相同的key-join:加入一個已經啓動的agent的ip地址,能夠屢次指定多個agent的地址。若是consul不能加入任何指定的地址中,則agent會啓動失敗,默認agent啓動時不會加入任何節點。-retry-join:和join相似,可是容許你在第一次失敗後進行嘗試。-retry-interval:兩次join之間的時間間隔,默認是30s-retry-max:嘗試重複join的次數,默認是0,也就是無限次嘗試-log-level:consul agent啓動後顯示的日誌信息級別。默認是info,可選:trace、debug、info、warn、err。-protocol:consul使用的協議版本-rejoin:使consul忽略先前的離開,在再次啓動後仍舊嘗試加入集羣中。-syslog:開啓系統日誌功能,只在linux/osx上生效-pid-file:提供一個路徑來存放pid文件,可使用該文件進行SIGINT/SIGHUP(關閉/更新)agent

相關文章
相關標籤/搜索