zoukankan      html  css  js  c++  java
  • Consul集群搭建

    一、集群搭建

    准备三台机器

    需要开启的端口,8300, 8301, 8500, 8600

    机器1:

    172.16.106.201

    ./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 &

    机器2:

    172.16.106.202

    ./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 &

    机器3:

    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上,构成集群。

    二、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 : 返回当前集群中同事
  • 相关阅读:
    【已解决】github中git push origin master出错:error: failed to push some refs to
    好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
    THINKPHP 5.0目录结构
    thinkphp5.0入口文件
    thinkphp5.0 生命周期
    thinkphp5.0 架构
    Django template
    Django queryset
    Django model
    Python unittest
  • 原文地址:https://www.cnblogs.com/soinve/p/9604069.html
Copyright © 2011-2022 走看看