mkdir -p /data/consul cd /data/consul wget https://releases.hashicorp.com/consul/1.6.2/consul_1.6.2_linux_amd64.zip unzip consul_1.6.2_linux_amd64.zip 複製consul:cp consul /usr/local/bin/,能夠直接使用訪問consul命令。
自定義端口node
consul agent -dev -http-port 8080
指定配置文件linux
consul agent -dev -config-dir /etc/consul.d/ 就是指定加載置文件的目錄,該目錄下全部的以.json結尾配置文件加載進去,它的加載順序是根據26個字母的順序加進行加載配置文件的。目錄必需爲consul.d,文件內容都是json格式的數據。默認後面文件定義配置會覆蓋前面文件定義的配置 /etc/consul.d/test.json { "ports": { "http": 8088 } }
公網能夠訪問web
-client 0.0.0.0 consul agent -dev -http-port 8080 -client 0.0.0.0
查看節點信息json
consul members
-data-dir 做用:指定agent儲存狀態的數據目錄,這是全部agent都必須的,對server尤爲重要,由於他們必須持久化集羣的狀態 -config-dir 做用:指定service的配置文件和檢查定義所在的位置。目錄必需爲consul.d,文件內容都是json格式的數據。配置詳解見官方 -config-file 做用:指定一個要裝載的配置文件 -dev 做用:開發服務器模式,雖然是server模式,但不用於生產環境,由於不會有任何持久化操做,即不會有任何數據寫入到磁盤 -bootstrap-expect 做用: 參數代表該服務運行時最低開始進行選舉的節點數,當設置爲1時,則意味容許節點爲一個時也進行選舉;當設置爲3時,則等到3臺節點同時運行consul並加入到server才能參與選舉,選舉完集羣纔可以正常工做。 通常建議服務器結點3-5個。 -node 做用:指定節點在集羣中的名稱,該名稱在集羣中必須是惟一的(默認這是機器的主機名),直接採用機器的IP -bind 做用:指明節點的IP地址,通常是0.0.0.0或者雲服務器內網地址,不能寫阿里雲外網地址。這是Consul偵聽的地址,它必須能夠被集羣中的全部其餘節點訪問。雖然綁定地址不是絕對必要的,但最好提供一個。 -server 做用:指定節點爲server,每一個數據中心(DC)的server數推薦3-5個。 -client 做用:指定節點爲client,指定客戶端接口的綁定地址,包括:HTTP、DNS、RPC 默認是127.0.0.1,只容許迴環接口訪問 10.-datacenter 做用:指定機器加入到哪個數據中心中。老版本叫-dc,-dc已經失效
consul agent -server -ui -bootstrap-expect=1 -data-dir=/data/consul -node=agent-one -advertise=192.168.83.40 -bind=0.0.0.0 -client=0.0.0.0 -server:服務器模式 -ui:能webui展現 -bootstrap-expect:server爲1時即選擇server集羣leader -data-dir:consul狀態存儲文件地址 -node:指定結點名 advertise:本地ip地址 -client:指定可訪問這個服務結點的ip
server1bootstrap
consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-one -advertise=192.168.83.40 -bind=0.0.0.0 -client=0.0.0.0
server2安全
consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -node=agent-two -advertise=192.168.83.20 -bind=0.0.0.0 -client=0.0.0.0
server2加入集羣節點server1服務器
ssh server1 consul join 192.168.83.20
提示:若是剔除節點,consul leavessh
Agent: Consul集羣中長時間運行的守護進程,以consul agent 命令開始啓動. 在客戶端和服務端模式下均可以運行,能夠運行DNS或者HTTP接口, 它的主要做用是運行時檢查和保持服務同步。 Client: 客戶端, 無狀態, 以一個極小的消耗將接口請求轉發給局域網內的服務端集羣. Server: 服務端, 保存配置信息, 高可用集羣, 在局域網內與本地客戶端通信, 經過廣域網與其餘數據中心通信. 每一個數據中心的 server 數量推薦爲 3 個或是 5 個. Datacenter: 數據中心,多數據中心聯合工做保證數據存儲安全快捷 Consensus: 一致性協議使用的是Raft Protocol RPC: 遠程程序通訊 Gossip: 基於 Serf 實現的 gossip 協議,負責成員、失敗探測、事件廣播等。經過 UDP 實現各個節點之間的消息。分爲 LAN 上的和 WAN 上的兩種情形。