主頁(yè) > 知識(shí)庫(kù) > 詳解consul的安裝和配置

詳解consul的安裝和配置

熱門標(biāo)簽:貴州全自動(dòng)外呼系統(tǒng)廠家 威海人工智能電銷機(jī)器人系統(tǒng) 百度地圖標(biāo)注備注 福州外呼系統(tǒng)中間件 地圖標(biāo)注員怎么去做 德州外呼系統(tǒng)排名 上海電銷卡外呼系統(tǒng)廠家 好看的地圖標(biāo)注圖標(biāo)下載 機(jī)器人電銷有什么用

Consul 簡(jiǎn)化了分布式環(huán)境中的服務(wù)的注冊(cè)和發(fā)現(xiàn)流程,通過(guò) HTTP 或者 DNS 接口發(fā)現(xiàn)。支持外部 SaaS 提供者等。

consul提供的一些關(guān)鍵特性:

service discovery:consul通過(guò)DNS或者HTTP接口使服務(wù)注冊(cè)和服務(wù)發(fā)現(xiàn)變的很容易,一些外部服務(wù),例如saas提供的也可以一樣注冊(cè)。

health checking:健康檢測(cè)使consul可以快速的告警在集群中的操作。和服務(wù)發(fā)現(xiàn)的集成,可以防止服務(wù)轉(zhuǎn)發(fā)到故障的服務(wù)上面。

key/value storage:一個(gè)用來(lái)存儲(chǔ)動(dòng)態(tài)配置的系統(tǒng)。提供簡(jiǎn)單的HTTP接口,可以在任何地方操作。

multi-datacenter:無(wú)需復(fù)雜的配置,即可支持任意數(shù)量的區(qū)域(數(shù)據(jù)中心)。

官方網(wǎng)站:https://www.consul.io/

系統(tǒng)環(huán)境:CentOS release 6.5 (Final) x64

consul最新版的下載地址

https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip

下載解壓,里面只有一個(gè)consul可執(zhí)行文件,執(zhí)行

[root@localhost consul-0.6.4]# consul 
usage: consul [--version] [--help] <command> [<args>] 
 
Available commands are: 
  agent     Runs a Consul agent 
  configtest   Validate config file 
  event     Fire a new event 
  exec      Executes a command on Consul nodes 
  force-leave  Forces a member of the cluster to enter the "left" state 
  info      Provides debugging information for operators 
  join      Tell Consul agent to join cluster 
  keygen     Generates a new encryption key 
  keyring    Manages gossip layer encryption keys 
  leave     Gracefully leaves the Consul cluster and shuts down 
  lock      Execute a command holding a lock 
  maint     Controls node or service maintenance mode 
  members    Lists the members of a Consul cluster 
  monitor    Stream logs from a Consul agent 
  reload     Triggers the agent to reload configuration files 
  rtt      Estimates network round trip time between nodes 
  version    Prints the Consul version 
  watch     Watch for changes in Consul 

其中,最常用到的命令是agent

輸入consul agent -h 可以查看幫助。其中常見(jiàn)的參數(shù)解釋如下:

-advertise:通知展現(xiàn)地址用來(lái)改變我們給集群中的其他節(jié)點(diǎn)展現(xiàn)的地址,一般情況下-bind地址就是展現(xiàn)地址 
-bootstrap:用來(lái)控制一個(gè)server是否在bootstrap模式,在一個(gè)datacenter中只能有一個(gè)server處于bootstrap模式,當(dāng)一個(gè)server處于bootstrap模式時(shí),可以自己選舉為raft leader。 
-bootstrap-expect:在一個(gè)datacenter中期望提供的server節(jié)點(diǎn)數(shù)目,當(dāng)該值提供的時(shí)候,consul一直等到達(dá)到指定sever數(shù)目的時(shí)候才會(huì)引導(dǎo)整個(gè)集群,該標(biāo)記不能和bootstrap公用 
-bind:該地址用來(lái)在集群內(nèi)部的通訊,集群內(nèi)的所有節(jié)點(diǎn)到地址都必須是可達(dá)的,默認(rèn)是0.0.0.0 
-client:consul綁定在哪個(gè)client地址上,這個(gè)地址提供HTTP、DNS、RPC等服務(wù),默認(rèn)是127.0.0.1 
-config-file:明確的指定要加載哪個(gè)配置文件 
-config-dir:配置文件目錄,里面所有以.json結(jié)尾的文件都會(huì)被加載 
-data-dir:提供一個(gè)目錄用來(lái)存放agent的狀態(tài),所有的agent允許都需要該目錄,該目錄必須是穩(wěn)定的,系統(tǒng)重啟后都繼續(xù)存在 
-dc:該標(biāo)記控制agent允許的datacenter的名稱,默認(rèn)是dc1 
-encrypt:指定secret key,使consul在通訊時(shí)進(jìn)行加密,key可以通過(guò)consul keygen生成,同一個(gè)集群中的節(jié)點(diǎn)必須使用相同的key 
-join:加入一個(gè)已經(jīng)啟動(dòng)的agent的ip地址,可以多次指定多個(gè)agent的地址。如果consul不能加入任何指定的地址中,則agent會(huì)啟動(dòng)失敗,默認(rèn)agent啟動(dòng)時(shí)不會(huì)加入任何節(jié)點(diǎn)。 
-retry-join:和join類似,但是允許你在第一次失敗后進(jìn)行嘗試。 
-retry-interval:兩次join之間的時(shí)間間隔,默認(rèn)是30s 
-retry-max:嘗試重復(fù)join的次數(shù),默認(rèn)是0,也就是無(wú)限次嘗試 
-log-level:consul agent啟動(dòng)后顯示的日志信息級(jí)別。默認(rèn)是info,可選:trace、debug、info、warn、err。 
-node:節(jié)點(diǎn)在集群中的名稱,在一個(gè)集群中必須是唯一的,默認(rèn)是該節(jié)點(diǎn)的主機(jī)名 
-protocol:consul使用的協(xié)議版本 
-rejoin:使consul忽略先前的離開(kāi),在再次啟動(dòng)后仍舊嘗試加入集群中。 
-server:定義agent運(yùn)行在server模式,每個(gè)集群至少有一個(gè)server,建議每個(gè)集群的server不要超過(guò)5個(gè) 
-syslog:開(kāi)啟系統(tǒng)日志功能,只在linux/osx上生效 
-ui-dir: 提供存放web ui資源的路徑,該目錄必須是可讀的 
-pid-file: 提供一個(gè)路徑來(lái)存放pid文件,可以使用該文件進(jìn)行SIGINT/SIGHUP(關(guān)閉/更新)agent 

要想利用consul提供的服務(wù)實(shí)現(xiàn)服務(wù)的注冊(cè)與發(fā)現(xiàn),我們需要建立consul cluster。

在consul方案中,每個(gè)提供服務(wù)的節(jié)點(diǎn)上都要部署和運(yùn)行consul的agent,所有運(yùn)行consul agent節(jié)點(diǎn)的集合構(gòu)成consul cluster。

consul agent有兩種運(yùn)行模式:server和client。這里的server和client只是consul集群層面的區(qū)分,與搭建在cluster之上的應(yīng)用服務(wù)無(wú)關(guān)。

以server模式運(yùn)行的consul agent節(jié)點(diǎn)用于維護(hù)consul集群的狀態(tài),

官方建議每個(gè)consul cluster至少有3個(gè)或以上的運(yùn)行在server mode的agent,client節(jié)點(diǎn)不限。

我們這里以安裝三個(gè)節(jié)點(diǎn)為例,環(huán)境配置如下

192.168.1.100 以server模式運(yùn)行

192.168.1.101,192.168.1.102 以client模式運(yùn)行

一:配置consul

把上面下載的文件解壓,并把consul拷貝到/opt/consul目錄,然后把/opt/consul目錄加入到環(huán)境變量(三個(gè)節(jié)點(diǎn)依次配置)

二:運(yùn)行

1:在192.168.1.100節(jié)點(diǎn)上面進(jìn)行

cd /opt/consul

mkdir data

consul agent -server -bootstrap -bind=0.0.0.0 -client=192.168.1.100 -data-dir=data -ui -node=192.168.1.100

這樣,就啟動(dòng)了一個(gè)節(jié)點(diǎn)

2:在192.168.1.101節(jié)點(diǎn)上面進(jìn)行

cd /opt/consul

mkdir data

consul agent -bind=0.0.0.0 -client=192.168.1.101 -data-dir=data -node=192.168.1.101 -join=192.168.1.100

3:在192.168.1.102節(jié)點(diǎn)上面進(jìn)行

cd /opt/consul

mkdir data

consul agent -bind=0.0.0.0 -client=192.168.1.102 -data-dir=data -node=192.168.1.102 -join=192.168.1.100

全部節(jié)點(diǎn)啟動(dòng)完之后

訪問(wèn)http://192.168.1.100:8500/  即可查看consul集群的管理頁(yè)面

在任意節(jié)點(diǎn)執(zhí)行consul members 即可查看集群節(jié)點(diǎn)信息

這里在192.168.1.100節(jié)點(diǎn)執(zhí)行

[root@localhost consul-0.6.4]# consul members -rpc-addr=192.168.1.100:8400 
Node      Address       Status Type  Build Protocol DC 
192.168.1.101 192.168.1.101:8301 alive  client 0.6.4 2     dc1 
192.168.1.102 192.168.1.102:8301 alive  client 0.6.4 2     dc1 
192.168.1.100 192.168.1.100:8301 alive  server 0.6.4 2     dc1 

關(guān)閉節(jié)點(diǎn)

consul leave -rpc-addr=192.168.1.100:8400

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:邵陽(yáng) 泉州 岳陽(yáng) 白城 撫州 葫蘆島 南陽(yáng) 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解consul的安裝和配置》,本文關(guān)鍵詞  詳解,consul,的,安裝,和,配置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解consul的安裝和配置》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于詳解consul的安裝和配置的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章