日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

consul 命令行参数

發布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 consul 命令行参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Consul(https://www.consul.io/downloads.html)是HashiCorp公司推出的開源工具,用于實現分布式系統的服務發現與配置共享。與其他分布式服務注冊與發現的方案,Consul的方案更"一站式",內置了服務注冊與發現框 架、分布一致性協議實現(Raft算法)、健康檢查、Key/Value存儲、多數據中心方案,不再需要依賴其他工具(比如ZooKeeper等)。

?

Consul用Golang實現,因此具有天然可移植性(支持Linux、windows和Mac OS X);安裝包僅包含一個可執行文件,方便部署,與Docker等輕量級容器可無縫配合。

?

Consul的角色:

Agent - 運行在consul集群的每個node上的daemon,agent可以run在server或者是client上,每個agent都可以提供DNS或者是HTTP的接口,負責health check和service發現等。用consul agent命令可以啟動,具體可run "consul agent --help"查看參數。

?

Client - client把所有的RPCs轉發到server端,是相對無狀態的。唯一在后臺運行的時client端執行了LAN gossip pool,只消耗極少的資源和網絡帶寬。

?

server: 負責維護cluster state, RPC quiries, 和其他數據中心交換WAN gossip,轉發queries給leader或者其他數據中心。 每個數據中心的 server 數量推薦為 3 個或是 5 個.

?

Datacenter:指的是網絡環境是私有,低延遲,高帶寬的,排除和公網的通信。

?

Serf:consul是基于Serf上實現的,Serf是一個服務發現,編配(應用集群管理等)工具,它去中心化,高可用并且能故障恢復(容忍), Serf使用Gossip協議,采用Go語言編寫。Serf提供成員關系,糾錯檢查,廣播的功能。gossip包含的任意node-to-node間的通信,主要是基于UDP。

?

WAN Gossip:指 WAN gossip pool 包含哪些都在同一局域網或者是datacenter的node。

?

RPC:Remote Procedure Call. 客戶端和服務器端的請求/應答機制。

?

consul命令格式:

consul [--version] [--help] <command> [<args>]

Available commands are:

agent ? ? ? ? ?Runs a Consul agent

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

leave ? ? ? ? ?Gracefully leaves the Consul cluster and shuts down

members ? ? ? ?Lists the members of a Consul cluster

monitor ? ? ? ?Stream logs from a Consul agent

reload ? ? ? ? Triggers the agent to reload configuration files

version ? ? ? ?Prints the Consul version

?

命令行參數:

-advertise:通知展現地址用來改變我們給集群中的其他節點展現的地址,一般情況下-bind地址就是展現地址

-bootstrap:用來控制一個server是否在bootstrap模式,在一個datacenter中只能有一個server處于bootstrap模式,當一個server處于bootstrap模式時,可以自己選舉為raft leader。

-bootstrap-expect:在一個datacenter中期望提供的server節點數目,當該值提供的時候,consul一直等到達到指定sever數目的時候才會引導整個集群,該標記不能和bootstrap公用

-bind:該地址用來在集群內部的通訊,集群內的所有節點到地址都必須是可達的,默認是0.0.0.0

-client:consul綁定在哪個client地址上,這個地址提供HTTP、DNS、RPC等服務,默認是127.0.0.1

-config-file:明確的指定要加載哪個配置文件

-config-dir:配置文件目錄,里面所有以.json結尾的文件都會被加載

-data-dir:提供一個目錄用來存放agent的狀態,所有的agent允許都需要該目錄,該目錄必須是穩定的,系統重啟后都繼續存在

-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。

-node:節點在集群中的名稱,在一個集群中必須是唯一的,默認是該節點的主機名

-protocol:consul使用的協議版本

-rejoin:使consul忽略先前的離開,在再次啟動后仍舊嘗試加入集群中。

-server:定義agent運行在server模式,每個集群至少有一個server,建議每個集群的server不要超過5個

-syslog:開啟系統日志功能,只在linux/osx上生效

-ui-dir:提供存放web ui資源的路徑,該目錄必須是可讀的

-pid-file:提供一個路徑來存放pid文件,可以使用該文件進行SIGINT/SIGHUP(關閉/更新)agent

?

配置文件參數:

acl_datacenter:只用于server,指定的datacenter的權威ACL信息,所有的servers和datacenter必須同意ACL datacenter

acl_default_policy:默認是allow

acl_down_policy:

acl_master_token:

acl_token:agent會使用這個token和consul server進行請求

acl_ttl:控制TTL的cache,默認是30s

addresses:一個嵌套對象,可以設置以下key:dns、http、rpc

advertise_addr:等同于-advertise

bootstrap:等同于-bootstrap

bootstrap_expect:等同于-bootstrap-expect

bind_addr:等同于-bind

ca_file:提供CA文件路徑,用來檢查客戶端或者服務端的鏈接

cert_file:必須和key_file一起

check_update_interval:

client_addr:等同于-client

datacenter:等同于-dc

data_dir:等同于-data-dir

disable_anonymous_signature:在進行更新檢查時禁止匿名簽名

disable_remote_exec:禁止支持遠程執行,設置為true,agent會忽視所有進入的遠程執行請求

disable_update_check:禁止自動檢查安全公告和新版本信息

dns_config:是一個嵌套對象,可以設置以下參數:allow_stale、max_stale、node_ttl 、service_ttl、enable_truncate

domain:默認情況下consul在進行DNS查詢時,查詢的是consul域,可以通過該參數進行修改

enable_debug:開啟debug模式

enable_syslog:等同于-syslog

encrypt:等同于-encrypt

key_file:提供私鑰的路徑

leave_on_terminate:默認是false,如果為true,當agent收到一個TERM信號的時候,它會發送leave信息到集群中的其他節點上。

log_level:等同于-log-level

node_name:等同于-node

ports:這是一個嵌套對象,可以設置以下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:會覆蓋TLS CA的node_name,可以用來確認CA name和hostname相匹配

skip_leave_on_interrupt:和leave_on_terminate比較類似,不過只影響當前句柄

start_join:一個字符數組提供的節點地址會在啟動時被加入

statsd_addr:

statsite_addr:

syslog_facility:當enable_syslog被提供后,該參數控制哪個級別的信息被發送,默認Local0

ui_dir:等同于-ui-dir

verify_incoming:默認false,如果為true,則所有進入鏈接都需要使用TLS,需要客戶端使用ca_file提供ca文件,只用于consul server端,因為client從來沒有進入的鏈接

verify_outgoing:默認false,如果為true,則所有出去鏈接都需要使用TLS,需要服務端使用ca_file提供ca文件,consul server和client都需要使用,因為兩者都有出去的鏈接

watches:watch一個詳細名單

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的consul 命令行参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。