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'标志将导致错误。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于