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 : 返回当前集群中同事
  • 相关阅读:
    并发编程三要素:原子性,有序性,可见性
    【华为云技术分享】【Python成长之路】来聊聊多线程的几位“辅助”
    【华为云技术分享】根因分析
    【华为云技术分享】浅谈服务化和微服务化(下)
    【华为云技术分享】浅谈服务化和微服务化(上)
    【华为云技术分享】STM32 GPIO的原理、特性、选型和配置
    【华为云技术分享】快速理解spark-on-k8s中的external-shuffle-service
    【华为云技术分享】如何设计高质量软件-领域驱动设计DDD(Domain-Driven Design)学习心得
    【华为云技术分享】唐老师带你秒懂大数据,以及Spark和Flink在干啥咧
    【华为云技术分享】昇腾AI处理器软件栈--总览
  • 原文地址:https://www.cnblogs.com/soinve/p/9604069.html
Copyright © 2011-2022 走看看