consul 命令行

本贴最后更新于 2139 天前,其中的信息可能已经时移世易

consul 命令行

  • advertise:广告地址用于将我们通告的地址更改为群集中的其他节点。默认情况下,-bind 通告地址。但是,在某些情况下,可能存在无法绑定的可路由地址。此标志允许闲聊不同的地址以支持此功能。如果此地址不可路由,则该节点将处于恒定的振荡状态,因为其他节点将不可路由性视为故障。在 Consul 1.0 及更高版本中,可以将其设置为 go-sockaddr 模板。

  • -advertise-wan:广告 WAN 地址用于将我们通告的地址更改为通过 WAN 加入的服务器节点。当与 translate_wan_addrs 配置选项结合使用时,也可以在客户端代理上设置此选项。默认情况下,-advertise 通告地址。但是,在某些情况下,所有数据中心的所有成员都不能位于同一物理或虚拟网络上,尤其是混合云和私有数据中心的混合设置。此标志使服务器节点通过公共网络为 WAN 进行闲聊,同时使用专用 VLAN 互相闲聊及其客户端代理,并且如果远程数据中心是远程数据中心,则允许从远程数据中心访问此地址时访问客户端代理。配置了 translate_wan_addrs。在 Consul 1.0 及更高版本中,这可以设置为 go-sockaddr 模板

  • -bootstrap: 此标志用于控制服务器是否处于“引导”模式。重要的是,在此模式下,每个数据中心只能运行一台服务器。从技术上讲,允许自举模式的服务器作为 Raft 领导者自行选举。重要的是只有一个节点处于这种模式; 否则,无法保证一致性,因为多个节点能够自我选择。在引导群集后,建议不要使用此标志。

  • -bootstrap-expect:此标志提供数据中心中预期的服务器数。不应提供此值,或者该值必须与群集中的其他服务器一致。提供后,Consul 将等待指定数量的服务器可用,然后引导群集。这允许自动选择初始领导者。这不能与传统-bootstrap 标志一起使用。此标志需要-server 模式。

  • -bind:应绑定到内部群集通信的地址。这是群集中所有其他节点都应该可以访问的 IP 地址。默认情况下,这是“0.0.0.0”,这意味着 Consul 将绑定到本地计算机上的所有地址,并将 第一个可用的私有 IPv4 地址通告给群集的其余部分。如果有多个私有 IPv4 地址可用,Consul 将在启动时退出并显示错误。如果指定“[::]”,Consul 将 通告第一个可用的公共 IPv6 地址。如果有多个可用的公共 IPv6 地址,Consul 将在启动时退出并显示错误。Consul 同时使用 TCP 和 UDP 以及相同的端口。如果您有防火墙,请务必同时允许这两种协议。在 Consul 1.0 及更高版本中,可以将其设置为需要解析为单个地址的 go-sockaddr 模板。

  • -serf-wan-bind :应该绑定到 Serf WAN 八卦通信的地址。默认情况下,该值遵循与-bind 命令行标志相同的规则,如果未指定,-bind 则使用该选项。这可以在 Consul 0.7.1 及更高版本中找到。在 Consul 1.0 及更高版本中,可以将其设置为 go-sockaddr 模板

  • -serf-lan-bind:应该绑定到 Serf LAN 八卦通信的地址。这是群集中所有其他 LAN 节点都应该可以访问的 IP 地址。默认情况下,该值遵循与-bind 命令行标志相同的规则,如果未指定,-bind 则使用该选项。这可以在 Consul 0.7.1 及更高版本中找到。在 Consul 1.0 及更高版本中,可以将其设置为 go-sockaddr 模板

  • -client:Consul 将绑定客户端接口的地址,包括 HTTP 和 DNS 服务器。默认情况下,这是“127.0.0.1”,仅允许环回连接。在 Consul 1.0 及更高版本中,可以将其设置为以空格分隔的要绑定的地址列表,或者设置为 可以解析为多个地址的 go-sockaddr 模板。

  • -config-file:要加载的配置文件。有关此文件格式的更多信息,请阅读“ 配置文件”部分。可以多次指定此选项以加载多个配置文件。如果多次指定,则稍后加载的配置文件将与先前加载的配置文件合并。在配置合并期间,单值键(string,int,bool)将简单地替换它们的值,而列表类型将被附加在一起。

  • -config-dir:要加载的配置文件的目录。Consul 将使用后缀“.json”或“.hcl”加载此目录中的所有文件。加载顺序是按字母顺序排列的,并且使用与上述 config-file 选项相同的合并例程 。可以多次指定此选项以加载多个目录。未加载 config 目录的子目录。有关配置文件格式的详细信息,请参阅“ 配置文件”部分。

  • config-format:要加载的配置文件的格式。通常,Consul 会从“.json”或“.hcl”扩展名中检测配置文件的格式。将此选项设置为“json”或“hcl”会强制 Consul 解释具有或不具有扩展名的任何文件,以便以该格式进行解释。

  • data-dir:此标志为代理程序存储状态提供数据目录。这是所有代理商都需要的。该目录在重新启动后应该是持久的。这对于在服务器模式下运行的代理尤其重要,因为它们必须能够持久化群集状态。此外,该目录必须支持使用文件系统锁定,这意味着某些类型的已安装文件夹(例如 VirtualBox 共享文件夹)可能不适合。注意:服务器代理和非服务器代理都可以在此目录中的状态中存储 ACL 令牌,因此读访问可以授予对服务器上的任何令牌以及非服务器上的服务注册期间使用的任何令牌的访问权限。在基于 Unix 的平台上,文件使用 0600 权限编写,因此您应确保只有受信任的进程才能与 Consul 作为同一用户执行。在 Windows 上,您应确保该目录具有适当的权限,因为这些权限将被继承。

  • datacenter:此标志控制代理程序运行的数据中心。如果未提供,则默认为“dc1”。Consul 拥有对多个数据中心的一流支持,但它依赖于正确的配置。同一数据中心中的节点应位于单个 LAN 上。

  • dev:启用开发服务器模式。这对于快速启动 Consul 代理并关闭所有持久性选项非常有用,可以启用内存服务器,该服务器可用于快速原型设计或针对 API 进行开发。在此模式下, Connect 已启用,默认情况下将在启动时创建新的根 CA 证书。此模式不适用于生产用途,因为它不会将任何数据写入磁盘。

  • disable-host-node-id:将此设置为 true 将阻止 Consul 使用来自主机的信息生成确定性节点 ID,而是生成将保留在数据目录中的随机节点 ID。在同一主机上运行多个 Consul 代理进行测试时,这非常有用。在版本 0.8.5 之前的 Consul 中默认为 false,在 0.8.5 及更高版本中默认为 true,因此您必须选择加入基于主机的 ID。使用 https://github.com/shirou/gopsutil/tree/master/host 生成基于主机的 ID ,这是与 HashiCorp 的 Nomad 共享的 ,因此如果您选择使用基于主机的 ID,那么 Consul 和 Nomad 将使用信息在主机上自动在两个系统中分配相同的 ID。

  • disable-keyring-file:如果设置,密钥环将不会持久保存到文件中。关机时任何已安装的密钥都将丢失,-encrypt 启动时只有给定的 密钥可用。默认为 false。

  • dns-port:要侦听的 DNS 端口。这将覆盖默认端口 8600.这在 Consul 0.7 及更高版本中可用。

  • domain:默认情况下,Consul 在“consul”中响应 DNS 查询。域。此标志可用于更改该域。假定此域中的所有查询都由 Consul 处理,不会以递归方式解析。

  • enable-script-checks:这可以控制是否在此代理上启用了执行脚本的运行状况检查,默认为 false 运营商必须选择允许这些检查。如果启用,建议还启用 ACL 以控制允许哪些用户注册新检查以执行脚本。这是在 Consul 0.9.0 中添加的。

  • encrypt:指定用于加密 Consul 网络流量的密钥。该密钥必须是 16 字节的 Base64 编码。创建加密密钥的最简单方法是使用 consul keygen。群集中的所有节点必须共享相同的加密密钥才能进行通信。提供的密钥将自动持久保存到数据目录,并在重新启动代理时自动加载。这意味着要加密 Consul 的八卦协议,只需在每个代理的初始启动序列上提供一次该选项。如果在使用加密密钥初始化 Consul 之后提供,则忽略提供的密钥并显示警告。

  • hcl:HCL 配置片段。此 HCL 配置片段将附加到配置中,并允许在命令行上指定配置文件的所有选项。可以多次指定此选项。这是在 Consul 1.0 中添加的。

  • http-port:要监听的 HTTP API 端口。这将覆盖默认端口 8500.将 Consul 部署到通过环境传输 HTTP 端口的环境(例如 CloudFoundry 等 PaaS)时,此选项非常有用,允许您通过 Procfile 直接设置端口。

  • join:启动时加入的另一个代理的地址。可以多次指定,以指定要加入的多个代理。如果 Consul 无法加入任何指定的地址,则代理启动将失败。默认情况下,代理在启动时不会加入任何节点。请注意,retry_join 在自动执行 Consul 群集部署时,使用 可能更适合帮助缓解节点启动竞争条件。

    在 Consul 1.1.0 及更高版本中,可以将其设置为 go-sockaddr 模板

  • -retry-join:类似-join 但允许在第一次尝试失败时重试连接。这对于您知道地址最终可用的情况很有用。该列表可以包含 IPv4,IPv6 或 DNS 地址。在 Consul 1.1.0 及更高版本中,可以将其设置为 go-sockaddr 模板。如果 Consul 在非默认的 Serf LAN 端口上运行,则必须同时指定。IPv6 必须使用“括号”语法。如果给出了多个值,则会按列出的顺序尝试和重试它们,直到第一个成功为止。这里有些例子:

    # Using a DNS entry
    $ consul agent -retry-join "consul.domain.internal"
    
    # Using IPv4
    $ consul agent -retry-join "10.0.4.67"
    
    # Using IPv6
    $ consul agent -retry-join "[::1]:8301"
    
  • -retry-interval:加入尝试之间等待的时间。默认为 30 秒。

  • -retry-max- -join:退出返回代码之前尝试的最大尝试次数 1.默认情况下,将其设置为 0,将其解释为无限次重试。

  • -join-wan:启动时加入另一个万人代理的地址。可以多次指定此选项以指定要加入的多个 WAN 代理。如果 Consul 无法加入任何指定的地址,则代理启动将失败。默认情况下,代理-join-wan 在启动时不会显示任何节点。

  • -retry-join-wan:类似 retry-join 但允许在第一次尝试失败时重试 wan 连接。这对于我们知道地址最终可用的情况很有用。从 Consul 0.9.3 开始,云支持自动加入也是如此。

  • -retry-interval-wan- -join-wan:尝试之间等待的时间。默认为 30 秒。

  • -retry-max-wan- -join-wan:退出返回代码之前尝试的最大尝试次数 1.默认情况下,将其设置为 0,将其解释为无限次重试。

  • -log-level:Consul 代理启动后显示的日志记录级别。默认为“info”。可用的日志级别是“trace”,“debug”,“info”,“warn”和“err”。您始终可以通过 consul monitor 并使用任何日志级别连接到代理。此外,可以在配置重新加载期间更改日志级别。

  • -node:群集中此节点的名称。这在群集中必须是唯一的。默认情况下,这是计算机的主机名。

  • -node-id:在 Consul 0.7.3 及更高版本中可用,即使节点或地址的名称发生更改,这也是该节点的唯一标识符。这必须是十六进制字符串的形式,长度为 36 个字符,例如 adf4238a-882b-9ddc-4a9d-5b6758e4159e。如果未提供(这是最常见的情况),则代理将在启动时生成标识符并将其保留在数据目录中, 以便在代理重新启动时保持相同。如果可能,来自主机的信息将用于生成确定性节点 ID,除非-disable-host-node-id 设置为 true。

  • -node-meta:在 Consul 0.7.3 及更高版本中可用,它指定与表单节点关联的任意元数据键/值对 key:value。这可以多次指定。节点元数据对具有以下限制:

    • 每个节点最多可以注册 64 个键/值对。
    • 元数据键的长度必须介于 1 到 128 个字符(包括 1 和 128 个字符)之间
    • 元数据键必须仅包含字母数字-和_字符。
    • 元数据键不能以 consul-前缀开头; 保留供 Consul 内部使用。
    • 元数据值的长度必须介于 0 到 512(含)之间。
    • 开头的密钥的元数据值 rfc1035-在 DNS TXT 请求中逐字编码,否则元数据 kv 对根据 RFC1464 编码。
  • -pid-file:此标志提供代理程序存储其 PID 的文件路径。这对于发送信号很有用(例如,SIGINT 关闭代理或 SIGHUP 更新检查确定

  • -protocol:要使用的 Consul 协议版本。默认为最新版本。这应该仅在升级时设置。您可以通过运行查看 Consul 支持的协议版本 consul -v。

  • -raft-protocol:这控制用于服务器通信的 Raft 共识协议的内部版本。必须将其设置为 3 才能访问自动驾驶仪功能,但会有例外 cleanup_dead_servers。Consul 1.0.0 及更高版本默认为 3(默认为 2 之前)。有关 详细信息,请参阅 Raft 协议版本兼容性。

  • -raft-snapshot-threshold:这可以控制保存到磁盘的快照之间的最小筏提交条目数。这是一个很少需要更改的低级参数。经历过多磁盘 IO 的非常繁忙的群集可能会增加此值以减少磁盘 IO,并最大限度地减少所有服务器同时拍摄快照的机会。由于日志将变得更大并且 raft.db 文件中的空间在下一个快照之前无法回收,因此增加此值将替换磁盘空间的磁盘空间。如果需要重播更多日志,服务器可能需要更长的时间才能从崩溃或故障转移中恢复。在 Consul 1.1.0 及更高版本中,默认为 16384,在先前版本中,它设置为 8192。

  • -raft-snapshot-interval:它控制服务器检查是否需要将快照保存到磁盘的频率。他是一个很少需要改变的低级参数。经历过多磁盘 IO 的非常繁忙的群集可能会增加此值以减少磁盘 IO,并最大限度地减少所有服务器同时拍摄快照的机会。由于日志将变得更大并且 raft.db 文件中的空间在下一个快照之前无法回收,因此增加此值将替换磁盘空间的磁盘空间。如果需要重播更多日志,服务器可能需要更长的时间才能从崩溃或故障转移中恢复。在 Consul 1.1.0 及更高版本中,此默认设置为 30s,并且在之前的版本中设置为 5s。

  • -recursor:指定上游 DNS 服务器的地址。可以多次提供此选项,并且功能上与 recursors 配置选项等效。

  • -rejoin:提供时,Consul 将忽略之前的休假并在启动时尝试重新加入群集。默认情况下,Consul 将离开视为永久意图,并且在启动时不会尝试再次加入群集。此标志允许使用先前的状态重新加入群集。

  • -segment:(仅限企业)此标志用于设置代理所属的网段名称。代理只能加入其网段中的其他代理并与之通信。有关详细信息,请参阅网络细分指南。默认情况下,这是一个空字符串,这是默认网段。

  • -serf-lan-port:收听的 Serf LAN 端口。这将覆盖默认的 Serf LAN 端口 8301.这在 Consul 1.2.2 及更高版本中可用。

  • -serf-wan-port:收听的 Serf WAN 端口。这将覆盖默认的 Serf WAN 端口 8302.这在 Consul 1.2.2 及更高版本中可用。

  • -server:此标志用于控制代理是处于服务器模式还是客户端模式。提供时,代理将充当 Consul 服务器。每个 Consul 集群必须至少有一个服务器,理想情况下每个数据中心不得超过 5 个。所有服务器都参与 Raft 一致性算法,以确保事务以一致,可线性化的方式发生。事务修改集群状态,该状态在所有服务器节点上维护,以确保节点故障时的可用性。服务器节点还与其他数据中心中的服务器节点一起参与 WAN 八卦池。服务器充当其他数据中心的网关,并根据需要转发流量。

  • -server-port:要侦听的服务器 RPC 端口。这将覆盖默认服务器 RPC 端口 8300.这在 Consul 1.2.2 及更高版本中可用。

  • -non-voting-server:(仅限企业)此标志用于使服务器不参与 Raft 仲裁,并使其仅接收数据复制流。在需要大量读取服务器的情况下,这可用于向集群添加读取可伸缩性。

  • -syslog1:此标志允许记录到 syslog。这仅在 Linux 和 OSX 上受支持。如果在 Windows 上提供,将导致错误。

  • -ui:启用内置 Web UI 服务器和所需的 HTTP 路由。这消除了将 Consul Web UI 文件与二进制文件分开维护的需要。

  • -ui-dir:此标志提供包含 Consul 的 Web UI 资源的目录。这将自动启用 Web UI。该目录必须对代理可读。从 Consul 0.7.0 及更高版本开始,Web UI 资产包含在二进制文件中,因此不再需要此标志; 仅指定-ui 标志就足以启用 Web UI。指定'-ui'和'-ui-dir'标志将导致错误。

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3453 回帖 • 201 关注
  • Consul
    6 引用
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    942 引用 • 1459 回帖 • 31 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    36 引用 • 37 回帖 • 535 关注
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    75 引用 • 1737 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    55 引用 • 85 回帖 • 2 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 2 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 45 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 461 关注
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 584 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 402 关注
  • CongSec

    本标签主要用于分享网络空间安全专业的学习笔记

    1 引用 • 1 回帖 • 10 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 383 关注
  • 倾城之链
    23 引用 • 66 回帖 • 138 关注
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 1 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 74 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 70 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 85 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 3 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖
  • SVN

    SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,它的设计目标就是取代 CVS。

    29 引用 • 98 回帖 • 684 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 153 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 2 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    148 引用 • 257 回帖 • 1 关注
  • 分享

    有什么新发现就分享给大家吧!

    247 引用 • 1792 回帖 • 7 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    25 引用 • 83 回帖