consul 命令行

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

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 引用 • 3455 回帖 • 153 关注
  • Consul
    6 引用
  • Spring

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

    947 引用 • 1460 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Follow
    4 引用 • 12 回帖 • 3 关注
  • OneNote
    1 引用 • 3 回帖 • 1 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4601 回帖 • 710 关注
  • Vditor

    Vditor 是一款浏览器端的 Markdown 编辑器,支持所见即所得、即时渲染(类似 Typora)和分屏预览模式。它使用 TypeScript 实现,支持原生 JavaScript、Vue、React 和 Angular。

    371 引用 • 1856 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    91 引用 • 59 回帖 • 5 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    499 引用 • 1395 回帖 • 244 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • ZooKeeper

    ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现,是 Hadoop 和 HBase 的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

    59 引用 • 29 回帖 • 7 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    98 引用 • 367 回帖
  • Visio
    1 引用 • 2 回帖
  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 653 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 11 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖 • 4 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 58 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    412 引用 • 3588 回帖
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 2 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 642 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 384 回帖 • 4 关注
  • Google

    Google(Google Inc.,NASDAQ:GOOG)是一家美国上市公司(公有股份公司),于 1998 年 9 月 7 日以私有股份公司的形式创立,设计并管理一个互联网搜索引擎。Google 公司的总部称作“Googleplex”,它位于加利福尼亚山景城。Google 目前被公认为是全球规模最大的搜索引擎,它提供了简单易用的免费服务。不作恶(Don't be evil)是谷歌公司的一项非正式的公司口号。

    49 引用 • 192 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    54 引用 • 37 回帖 • 1 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 560 关注
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    188 引用 • 319 回帖 • 242 关注
  • 印象笔记
    3 引用 • 16 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 241 关注