Consul CLI 配置詳解

背景

通過在CentOS 7上部署Consul 0.6.4文章介紹制圈,我們已成功安裝了Consul,下面一起來看看 Consul CLI配置咽块。

配置參數(shù)

Consul Agent有各種各樣的配置項(xiàng)可以在命令行或者配置文件進(jìn)行定義棕诵,所有的配置項(xiàng)都是可選擇的,當(dāng)加載配置文件的時(shí)候衷恭,Consul從配置文件或者配置目錄加載配置。后面定義的配置會(huì)合并前面定義的配置纯续,但是大多數(shù)情況下随珠,合并的意思是后面定義的配置會(huì)覆蓋前面定義的配置,但是有些情況猬错,例如event句柄窗看,合并僅僅是添加到前面定義的句柄后面。Consul重新加載配置文件也支持以信號(hào)的方式接收update信號(hào)倦炒。

-advertise:通知展現(xiàn)地址用來改變我們給集群中的其他節(jié)點(diǎn)展現(xiàn)的地址烤芦,一般情況下-bind地址就是展現(xiàn)地址
-bootstrap:用來控制一個(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:該地址用來在集群內(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è)目錄用來存放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可以通過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,也就是無限次嘗試
-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忽略先前的離開掂摔,在再次啟動(dòng)后仍舊嘗試加入集群中术羔。
-server:定義agent運(yùn)行在server模式,每個(gè)集群至少有一個(gè)server乙漓,建議每個(gè)集群的server不要超過5個(gè)
-syslog:開啟系統(tǒng)日志功能级历,只在linux/osx上生效
-ui-dir:提供存放web ui資源的路徑,該目錄必須是可讀的
-pid-file:提供一個(gè)路徑來存放pid文件叭披,可以使用該文件進(jìn)行SIGINT/SIGHUP(關(guān)閉/更新)agent

除了命令行參數(shù)外寥殖,配置也可以寫入文件中,在某些情況下配置文件會(huì)更簡單一些,例如:Consul被用來管理系統(tǒng)嚼贡。配置文件是json格式的熏纯,很容易編寫。配置文件不僅被用來設(shè)置Agent的啟動(dòng)粤策,也可以用來提供健康檢測和服務(wù)發(fā)現(xiàn)的定義樟澜。配置文件的一般格式如下:

{
  "datacenter": "consul",
  "data_dir": "/opt/consul",
  "log_level": "INFO",
  "node_name": "consul",
  "server": true,
  "watches": [
    {
        "type": "checks",
        "handler": "/usr/bin/health-check-handler.sh"
    }
  ]
}

詳細(xì)的配置文件參數(shù):

acl_datacenter:只用于server,指定的datacenter的權(quán)威ACL信息掐场,所有的servers和datacenter必須同意ACL datacenter
acl_default_policy:默認(rèn)是allow
acl_down_policy:
acl_master_token:
acl_token:agent會(huì)使用這個(gè)token和consul server進(jìn)行請求
acl_ttl:控制TTL的cache往扔,默認(rèn)是30s
addresses:一個(gè)嵌套對(duì)象,可以設(shè)置以下key:dns熊户、http萍膛、rpc
advertise_addr:等同于-advertise
bootstrap:等同于-bootstrap
bootstrap_expect:等同于-bootstrap-expect
bind_addr:等同于-bind
ca_file:提供CA文件路徑,用來檢查客戶端或者服務(wù)端的鏈接
cert_file:必須和key_file一起
check_update_interval:
client_addr:等同于-client
datacenter:等同于-dc
data_dir:等同于-data-dir
disable_anonymous_signature:在進(jìn)行更新檢查時(shí)禁止匿名簽名
disable_remote_exec:禁止支持遠(yuǎn)程執(zhí)行嚷堡,設(shè)置為true蝗罗,agent會(huì)忽視所有進(jìn)入的遠(yuǎn)程執(zhí)行請求
disable_update_check:禁止自動(dòng)檢查安全公告和新版本信息
dns_config:是一個(gè)嵌套對(duì)象,可以設(shè)置以下參數(shù):allow_stale蝌戒、max_stale串塑、node_ttl 、service_ttl北苟、enable_truncate
domain:默認(rèn)情況下consul在進(jìn)行DNS查詢時(shí)桩匪,查詢的是consul域,可以通過該參數(shù)進(jìn)行修改
enable_debug:開啟debug模式
enable_syslog:等同于-syslog
encrypt:等同于-encrypt
key_file:提供私鑰的路徑
leave_on_terminate:默認(rèn)是false友鼻,如果為true傻昙,當(dāng)agent收到一個(gè)TERM信號(hào)的時(shí)候,它會(huì)發(fā)送leave信息到集群中的其他節(jié)點(diǎn)上彩扔。
log_level:等同于-log-level
node_name:等同于-node
ports:這是一個(gè)嵌套對(duì)象妆档,可以設(shè)置以下key:dns(dns地址:8600)、http(http api地址:8500)虫碉、rpc(rpc:8400)贾惦、serf_lan(lan port:8301)、serf_wan(wan port:8302)敦捧、server(server rpc:8300)
protocol:等同于-protocol
recursor:
rejoin_after_leave:等同于-rejoin
retry_join:等同于-retry-join
retry_interval:等同于-retry-interval 
server:等同于-server
server_name:會(huì)覆蓋TLS CA的node_name须板,可以用來確認(rèn)CA name和hostname相匹配
skip_leave_on_interrupt:和leave_on_terminate比較類似,不過只影響當(dāng)前句柄
start_join:一個(gè)字符數(shù)組提供的節(jié)點(diǎn)地址會(huì)在啟動(dòng)時(shí)被加入
statsd_addr:
statsite_addr:
syslog_facility:當(dāng)enable_syslog被提供后兢卵,該參數(shù)控制哪個(gè)級(jí)別的信息被發(fā)送逼纸,默認(rèn)Local0
ui_dir:等同于-ui-dir
verify_incoming:默認(rèn)false,如果為true济蝉,則所有進(jìn)入鏈接都需要使用TLS,需要客戶端使用ca_file提供ca文件,只用于consul server端王滤,因?yàn)閏lient從來沒有進(jìn)入的鏈接
verify_outgoing:默認(rèn)false贺嫂,如果為true,則所有出去鏈接都需要使用TLS雁乡,需要服務(wù)端使用ca_file提供ca文件第喳,consul server和client都需要使用,因?yàn)閮烧叨加谐鋈サ逆溄?watches:watch一個(gè)詳細(xì)名單

Consul Agent支持所有的網(wǎng)絡(luò)通訊進(jìn)行加密踱稍,關(guān)于加密的具體信息可以參考 官方描述 曲饱,有兩個(gè)分開的系統(tǒng),一個(gè)是gossip流量珠月,一個(gè)是RPC扩淀。
  開啟gossip加密,只需要你在啟動(dòng)Consul Agent的時(shí)候設(shè)置encryption key啤挎,可以在配置文件中通過encrypt參數(shù)進(jìn)行設(shè)置驻谆,key必須是16bytes長度的base64加密,也可以通過consul keygen直接產(chǎn)生一個(gè)庆聘。注意胜臊,在同一個(gè)集群中的所有節(jié)點(diǎn)必須使用同一個(gè)key。
  使用TLS為RPC加密伙判,主要是上面介紹的verify_incoming和verify_outgoing參數(shù)來設(shè)置象对。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市宴抚,隨后出現(xiàn)的幾起案子勒魔,更是在濱河造成了極大的恐慌,老刑警劉巖酱塔,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沥邻,死亡現(xiàn)場離奇詭異,居然都是意外死亡羊娃,警方通過查閱死者的電腦和手機(jī)唐全,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蕊玷,“玉大人邮利,你說我怎么就攤上這事±В” “怎么了延届?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長贸诚。 經(jīng)常有香客問我方庭,道長厕吉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任械念,我火速辦了婚禮头朱,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘龄减。我一直安慰自己项钮,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布希停。 她就那樣靜靜地躺著烁巫,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宠能。 梳的紋絲不亂的頭發(fā)上亚隙,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音棍潘,去河邊找鬼恃鞋。 笑死,一個(gè)胖子當(dāng)著我的面吹牛亦歉,可吹牛的內(nèi)容都是我干的恤浪。 我是一名探鬼主播,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼肴楷,長吁一口氣:“原來是場噩夢啊……” “哼水由!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起赛蔫,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤砂客,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后呵恢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鞠值,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年渗钉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彤恶。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳄橘,死狀恐怖声离,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情瘫怜,我是刑警寧澤术徊,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鲸湃,受9級(jí)特大地震影響赠涮,放射性物質(zhì)發(fā)生泄漏子寓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一世囊、第九天 我趴在偏房一處隱蔽的房頂上張望别瞭。 院中可真熱鬧,春花似錦株憾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至听系,卻和暖如春贝奇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靠胜。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國打工掉瞳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人浪漠。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓陕习,卻偏偏與公主長得像,于是被迫代替她去往敵國和親址愿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子该镣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容