consul 命令行

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

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

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

    948 引用 • 1460 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

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

推荐标签 标签

  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 648 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 117 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    42 引用 • 130 回帖 • 250 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 574 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 675 关注
  • 倾城之链
    23 引用 • 66 回帖 • 168 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    21 引用 • 245 回帖 • 226 关注
  • 自由行
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 654 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 54 回帖 • 8 关注
  • 大疆创新

    深圳市大疆创新科技有限公司(DJI-Innovations,简称 DJI),成立于 2006 年,是全球领先的无人飞行器控制系统及无人机解决方案的研发和生产商,客户遍布全球 100 多个国家。通过持续的创新,大疆致力于为无人机工业、行业用户以及专业航拍应用提供性能最强、体验最佳的革命性智能飞控产品和解决方案。

    2 引用 • 14 回帖
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    8 引用 • 26 回帖 • 4 关注
  • 音乐

    你听到信仰的声音了么?

    62 引用 • 512 回帖 • 2 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 289 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 561 关注
  • SOHO

    为成为自由职业者在家办公而努力吧!

    7 引用 • 55 回帖 • 3 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 5 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 3 关注
  • Netty

    Netty 是一个基于 NIO 的客户端-服务器编程框架,使用 Netty 可以让你快速、简单地开发出一个可维护、高性能的网络应用,例如实现了某种协议的客户、服务端应用。

    49 引用 • 33 回帖 • 35 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 29 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 158 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    63 引用 • 289 回帖
  • Anytype
    3 引用 • 31 回帖 • 16 关注
  • 电影

    这是一个不能说的秘密。

    122 引用 • 608 回帖 • 1 关注
  • 996
    13 引用 • 200 回帖 • 6 关注