• consul命令行参数


    微服务管理--微服务定义

    consul常用命令及选项

    1、常用命令:command

    consul命令的使用形式为:

    consul command [option]
    
    • agent:consul的节点分为client和server两类,这两类节点统称为agent节点。
    • join:该命令的作用是将agent加入到consul的集群当中。当新启动一个agent节点后,往往需要指定节点需要加入到特定的consul集群中,此时使用join命令进行指定。
    • members:列出consul集群中的所有的成员节点信息,包括ip,端口,状态,类型等信息。
    2、常用选项:option

    除command命令外,还有option选项供开发者使用,常见的和常使用的option有:

    • -data-dir:该选项用于指定agent储存状态的数据目录,这是所有agent都必须的,对于server尤其重要,因为他们必须持久化集群的状态。
    • -config-dir:该选项用于指定service的配置文件和检查定义所在的位置。通常会指定为"某一个路径/consul.d"(通常情况下,.d表示一系列配置文件存放的目录)
    • -config-file:指定一个要装载的配置文件。该选项可以配置多次,进而配置多个配置文件。
    • -dev:该选项用于创建一个开发环境下的server节点,该参数配置下,不会有任何持久化操作,即不会有任何数据写入到磁盘。dev模式仅仅是在开发和测试环境中使用,不能用于生产环境。
    • -bootstrap-expect:该选项用于通知consul server类型节点,指定集群的server节点个数,该参数是为了延迟选举启动,直到全部的节点启动完毕以后再进行启动。
    • -node:该node选项用于指定节点在集群中的名称,该名称在集群中需要是唯一的,推荐直接使用机器的IP。
    • -bind:该选项用于指定节点所在的IP地址。
    • -server:该选项用于指明consul节点类型为server类型。每个数据中心(DC)的server数量推荐3到5个。所有的server节点加入到集群后要经过选举,采用raft一致性算法来确保数据操作的一致性。
    • -client:该参数用于指定consul界定为client节点类型。
    • -join:英文为加入的意思,join选项用于指定要将节点添加到具体哪个集群中。
    • -dc:dc是datacenter的简称,该选项用于指定节点加入的dc实例。

    微服务定义标准及选项

    除了命令行选项,微服务的定义和配置也可以放入文件中。在某些情况下,这可能更容易,比如当使用配置管理系统配置时。配置文件是JSON格式的,使得它们易于被人和计算机读取和编辑。配置被格式化为单个JSON对象,其中包含配置。

    配置文件不仅用于设置代理,还用于提供检查和服务定义。这些配置文件同样可以被其他软件和功能所识别。它们分别记录在检查配置和服务配置下。服务和检查定义支持在重新加载期间更新。

    例如,如下的JSON格式配置文件:

    {
      "datacenter": "east-aws",
      "data_dir": "/opt/consul",
      "log_level": "INFO",
      "node_name": "foobar",
      "server": true,
      "watches": [
        {
            "type": "checks",
            "handler": "/usr/bin/health-check-handler.sh"
        }
      ],
      "telemetry": {
         "statsite_address": "127.0.0.1:2180"
      }
    }
    

    上述的json文件格式是一个案例,consul的json文件配置可选项有很多,比如:

    • addresses:该配置选项用于设置绑定地址。在Consul 1.0和更高版本中,可以将这些设置为要绑定到的地址列表。支持绑定设置多种类型的地址,包括:dns、http、https、grpc等共四种类型。
    • bootstrap:该配置相当于在命令行中添加了-bootstrap命令行标志。
    • bootstrap_expect:该配置相当于在命令行中添加了-bootstrap_expect命令行标志。
    • bind_addr:该配置相当于在命令行中添加-bind指令操作。
    • ca_file:该配置用于指定ca证书文件的目录。
    • ca_path:该配置用于指定ca证书的整体目录。
    • client_addr:该配置与命令行中-client指令功能相同。
    • config_entries:在该配置项下,通过配置二级配置项来进行,二级配置项可以配置bootstrap选项。
    • connect:关于连接的一些配置项通过该配置进行设置,同样是通过二级配置项来完成,可支持的二级配置项有:enabled、ca_provider、ca_config。
    • datacenter:该配置项与命令行中-datacenter指令作用相同。
    • data_dir:该配置项与命令行中-data-dir指令作用相同,用于指定微服务json定义文件所在的目录。
    • dns_config:该选项用于配置dns相关参数。
    • domain:该配置项与命令行中的-domain指令作用相同。
    • node_id:该配置项与命令行中的-node-id指令作用相同,用于自定义设定node-id。
    • node_name:该配置项与命令行中的-node指令作用相同,用于为node指定名称。
    • ports:该配置项用于配置节点的端口号,通过二级配置选项可以配置:dns、http、https、grpc、serf_lan、serf_wan、server等不同类型的端口。
    • protocol:该配置选项与命令行中的-protocol指令功能相同。

    如上,只是列出了部分json配置文件的配置项,全部的配置选项在consul的官方网站有相关的说明,可以访问如下链接进行查看:https://www.consul.io/docs/agent/options.html

    欢迎大家学习,交流
  • 相关阅读:
    1300多万条数据30G论坛大数据优化实战经验小结(转)
    spring 攻略第二版文摘
    关于extjs中动态添加TabPanel的tab项并以iframe显示的整理(转)
    effective_java_2nd_endition文摘
    软件开发中常见的十大系统瓶颈(转)
    浅谈JAVA集合框架(转)
    java EE设计模式spring企业级开发最佳实践文摘
    layout 布局(转)
    COM高手总结的八个经验和教训
    IShellLink应用(创建快捷方式)
  • 原文地址:https://www.cnblogs.com/lijintao1025/p/14529740.html
Copyright © 2020-2023  润新知