1. 程式人生 > 實用技巧 >Consul 啟動命令,Web UI

Consul 啟動命令,Web UI

一、服務端:

nohup consul agent -server -bootstrap-expect 1 -config-dir /etc/consul.d/ -data-dir /var/opt/consul -bind=125.72.214.83 >> /var/opt/consul/consul.log 2>&1 

註冊服務:

curl -X PUT -d '{"type":"localService","outPort":8085,"outPath":"/websocket", "forwardAddress":"125.72.2·4.83", "forwardPort":"8085"}' http://localhost:8500/v1/kv/websocket/my

webui新增:http://localhost:8500/ui

-client 0.0.0.0 -ui

二、客戶端:

nohup consul agent -config-dir /etc/consul.d/ -data-dir /var/opt/consul -bind=121.42.204.73 -join=121.42.204.73 >consul.log 2>&1 &
  1. 配置生效順序:
    命令列>環境變數>配置檔案

  2. 重載入:
    SIGHUP訊號觸發。

  3. 命令列配置:
    -bootstrap:啟動模式,此模式下,節點可以選舉自己為leader,一個數據中心只能有一個此模式啟動的節點。機群啟動後,新啟動的節點不建議使用這種模式。
    -bootstrap-expect:設定一個數據中心需要的服務節點數,可以不設定,設定的數字必須和實際的服務節點數匹配。consul會等待直到資料中心下的服務節點滿足設定才會啟動叢集服務。初始化leader選舉,不能和bootstrap混用。必須配合-server配置。
    -bind:繫結的內部通訊地址,預設0.0.0.0,即,所有的本地地址,會將第一個可用的ip地址散播到叢集中,如果有多個可用的ipv4,則consul啟動報錯。[::]ipv6,TCP UDP協議,相同的埠。防火牆配置。
    -client:客戶端模式,http dns,預設127.0.0.1,迴環令牌網址
    -config-file:配置檔案位置
    -config-dir:配置檔案所在資料夾,會載入其下所有配置檔案,.json或者.hcl檔案,載入順序為字母表順序;可用配置多個此配置,從而載入多個資料夾,子資料夾的配置不會被載入。
    -config-format:配置檔案格式,配置了,則載入相應個是的檔案。不配置,則consul自動識別。
    -data-dir:狀態資料儲存資料夾,所有的節點都需要。資料夾位置需要不收consul節點重啟影響,必須能夠使用作業系統檔案鎖,unix-based系統下,資料夾檔案許可權為0600,注意做好賬戶許可權控制,
    -datacenter:資料中心名稱,預設dc1,一個數據中心的所有節點都必須在一個LAN中。
    -dev:開發模式,去掉所有持久化選項,記憶體伺服器模式。
    -disable-host-node-id:不使用host資訊生成node ID,適用於同一臺伺服器部署多個例項用於測試的情況。隨機生成nodeID
    -dns-port:v7.0以後,自定義dns 埠,覆蓋預設8600
    -enable-script-checks:是否允許使用指令碼進行健康檢查,預設false,最好配置enable acl
    -encrypt:consul網路通訊加密key,base64加密,16位元;consul keygen產生。叢集中的每個例項必須提供相同的,只需提供一次,然後會儲存到資料檔案。重啟自動載入。consul節點啟動後提供,會被忽略。
    -hcl:新增hcl格式配置,和已有的配置合併。可以使用多個此配置。
    -http-port:http api埠,覆蓋預設的8500。適用於雲環境指定。
    -log-file:日誌記錄檔案,如果沒有提供檔名,則預設Consul-時間戳.log
    -log-level:日誌級別,預設info,包含:trace,debug,info,warn,err;consul monitor監控
    -log-rotate-bytes:新日誌檔案生成大小閾值。
    -log-rotate-rotation:新日誌生成時間閾值
    -join:需要加入的其它節點地址,可以多次使用,加入多個節點。
    -retry-join:會進行加入重試,適用於認定加入節點最終會正常的情況。ipv4,ipv6,dns
    -retry-interval:上述,重試間隔,預設30s
    -retry-max:重試次數,預設0,無限次重試
    -join-wan, -retry-join-wan, -retry-interval-wan, -retry-max-wan
    -node:節點名稱,預設主機名
    -node-id:節點ID,
    -pid-file:consul 儲存 pid 的檔案位置,用於主動發訊號。如停止節點,過載配置等。
    -protocol:使用的協議,升級時使用。consul -v檢視協議版本
    -raft-protocol:使用raft協議版本,預設3
    -raft-snapshot-threshold:raft執行快照,提交次數閾值。一般不需要設定,io密集型應用可以調高。避免所有的節點同一時間快照。此值過大,會造成相應日誌檔案變大,節點重啟恢復會耗費更長時間。1.1.0後,預設16384,之前8192.
    -raft-snapshot-interval:執行快照間隔,影響類似上個配置,1.1.0後預設30s,之前5s。
    -rejoin:節點會嘗試重新加入叢集。
    -server:服務端節點模式。
    -server-port:服務端RPC埠,v1.2.2後提供。
    -non-voting-server:服務節點不參與選舉,接受日誌複製,用於橫向擴充套件,服務查詢請求。(類比zookeeper 觀察者節點)
    -syslog:linux OSX系統,配置日誌輸出到系統日誌。
    -ui:內建web ui介面。
    -ui-dir:web ui 資原始檔夾,使用此配置,則不需也不能使用再-ui配置。

  4. 預設使用埠:
    服務端RPC:預設8300,TCP。
    Serl LAN:處理LAN gossip,預設8301,TCP UDP。
    Serl WAN:處理LAN gossip,預設8302,TCP UDP。
    HTTP API:8500,TCP.
    DNS:8600,TCP,UDP.

  5. 可過載配置:
    Log level
    Checks
    Services
    Watches
    HTTP Client Address
    Node Metadata
    Metric Prefix Filter
    Discard Check Output
    RPC rate limiting