Consul集羣搭建

1、集羣搭建node

準備三臺機器json

須要開啓的端口,8300, 8301, 8500, 8600bootstrap

機器1:服務器

172.16.106.201session

./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-1 -bind=172.16.106.201 -client=0.0.0.0 &ide

機器2:ui

172.16.106.202spa

./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-2 -bind=172.16.106.202 -client=0.0.0.0 &code

機器3:server

172.16.106.203

./consul agent -server -bootstrap-expect 2 -data-dir=/data/consul/data -node=consul-server-3 -bind=172.16.106.203 -client=0.0.0.0 -ui &

參數說明:
i.  server: 以server身份啓動。默認是client

ii.  bootstrap-expect:集羣要求的最少server數量,當低於這個數量,集羣即失效。

iii.  data-dir:data存放的目錄,更多信息請參閱consul數據同步機制

iv.  node:節點id,在同一集羣不能重複。

v.   bind:監聽的ip地址。默認綁定0.0.0.0,能夠不指定

vi.  client: 客戶端的ip地址,0.0.0.0是指誰均可以訪問

vii.  ui: 能夠訪問UI界面

 

三臺服務器啓動完以後,要把兩臺加到一臺主的上,這樣構成集羣

在機器172.16.106.202和172.16.106.203上執行./consul join 172.16.106.201,這樣將這兩臺機器加到172.16.106.201上,構成集羣。

 

2、API訪問

1.kv - Key/Value存儲

2.agent - Agent控制

  • /v1/agent/checks : 返回本地agent註冊的全部檢查(包括配置文件和HTTP接口)
  • /v1/agent/services : 返回本地agent註冊的全部 服務
  • /v1/agent/members : 返回agent在集羣的gossip pool中看到的成員
  • /v1/agent/self : 返回本地agent的配置和成員信息
  • /v1/agent/join/<address> : 觸發本地agent加入node
  • /v1/agent/force-leave/<node>>: 強制刪除node
  • /v1/agent/check/register : 在本地agent增長一個檢查項,使用PUT方法傳輸一個json格式的數據
  • /v1/agent/check/deregister/<checkID> : 註銷一個本地agent的檢查項
  • /v1/agent/check/pass/<checkID> : 設置一個本地檢查項的狀態爲passing
  • /v1/agent/check/warn/<checkID> : 設置一個本地檢查項的狀態爲warning
  • /v1/agent/check/fail/<checkID> : 設置一個本地檢查項的狀態爲critical
  • /v1/agent/service/register : 在本地agent增長一個新的服務項,使用PUT方法傳輸一個json格式的數據
  • /v1/agent/service/deregister/<serviceID> : 註銷一個本地agent的服務項

3.catalog - 管理nodesservices

  • /v1/catalog/register : Registers a new node, service, or check
  • /v1/catalog/deregister : Deregisters a node, service, or check
  • /v1/catalog/datacenters : Lists known datacenters
  • /v1/catalog/nodes : Lists nodes in a given DC
  • /v1/catalog/services : Lists services in a given DC
  • /v1/catalog/service/<service> : Lists the nodes in a given service
  • /v1/catalog/node/<node> : Lists the services provided by a node

4.health - 管理健康監測

  • /v1/healt/node/<node>: 返回node所定義的檢查,可用參數?dc=
  • /v1/health/checks/<service>: 返回和服務相關聯的檢查,可用參數?dc=
  • /v1/health/service/<service>: 返回給定datacenter中給定nodeservice
  • /v1/health/state/<state>: 返回給定datacenter中指定狀態的服務,state能夠是"any", "unknown", "passing", "warning", or "critical",可用參數?dc=

5.session - Session操做

  • /v1/session/create: Creates a new session
  • /v1/session/destroy/<session>: Destroys a given session
  • /v1/session/info/<session>: Queries a given session
  • /v1/session/node/<node>: Lists sessions belonging to a node
  • /v1/session/list: Lists all the active sessions

6.acl - ACL建立和管理

  • /v1/acl/create: Creates a new token with policy
  • /v1/acl/update: Update the policy of a token
  • /v1/acl/destroy/<id>: Destroys a given token
  • /v1/acl/info/<id>: Queries the policy of a given token
  • /v1/acl/clone/<id>: Creates a new token by cloning an existing token
  • /v1/acl/list: Lists all the active tokens

7.event - 用戶Events

  • /v1/event/fire/<name>: 觸發一個新的event,用戶event須要name和其餘可選的參數,使用PUT方法
  • /v1/event/list: 返回agent知道的events

8.status - Consul系統狀態

  • /v1/status/leader : 返回當前集羣的Raft leader
  • /v1/status/peers : 返回當前集羣中同事
相關文章
相關標籤/搜索