etcdv3.4-configuration flags-配置标签

etcd配置:文件、标签、环境变量

etcd可以通过配置文件、各种命令行标志和环境变量进行配置。

要在Linux中启动时使用自定义设置自动启动etcd,强烈建议使用systemd单元。

可多次使用的配置文件

可重用的配置文件是由一个或多个命令行标志的名称和值组成的YAML文件,如下所述。要使用此文件,请将文件路径指定为--config-file标签,或者ETCD_CONFIG_FILE环境变量值。示例配置文件可以用作根据需要创建新配置文件的初始文件。

示例配置文件:https://raw.githubusercontent.com/etcd-io/etcd/release-3.4/etcd.conf.yml.sample

配置文件、命令行标签、环境变量生效优先级

命令行上设置的选项优先于环境中设置的选项。如果提供了配置文件,则会忽略其他命令行标志和环境变量。

例如:etcd --config-file etcd.conf.yml.sample --data-dir/tmp 将忽略--data-dir标志。

环境变量的格式和标签的格式的关系

标签:--my-flag

对应环境变量:ETCD_MY_FLAG

对于所有的标签都是这样的格式。

标签详解

Member flags-成员标志

flag

说明

默认值

对应环境变量格式

备注

--name

成员的可读名称

default

ETCD_NAME

该值被引用为该节点自己在--initial-cluster标记中列出的条目(例如,default=http://localhost:2380)。如果使用静态引导,这需要匹配标志中使用的键。使用发现时,每个成员必须具有唯一的名称。Hostname或者machine-id可以是一个不错的选择。

--data-dir

数据目录

${name}.etcd

ETCD_DATA_DIR

--wal-dir

专用 wal 目录的路径。

ETCD_WAL_DIR

如果设置了这个标志,etcd 会将 WAL 文件写入 walDir 而不是 dataDir。这允许使用专用磁盘,并有助于避免日志记录和其他 IO 操作之间的 io 竞争。

--snapshot-count

要触发磁盘快照的已提交事务数。

100000

ETCD_SNAPSHOT_COUNT

--hearbeat-interval

心跳检查间隔的时间(单位:毫秒)。

100

ETCD_HEARTBEAT_INTERVAL

--election-timeout

选择超时的时间(毫秒)。

1000

ETCD_ELECTION_TIMEOUT

有关详细信息,请参阅Documentation/tuning.md

--listen-peer-urls

用于侦听对等流量的 URL 列表。

http://localhost:2380

ETCD_LISTEN_PEER_URLS

该标志告诉 etcd 接受来自指定 scheme://IP:port 组合上的对等方的传入请求。方案可以是 http 或 https。或者,使用unix://<file-path>或unixs://<file-path>用于 unix 套接字。如果将 0.0.0.0 指定为 IP,则 etcd 将侦听所有接口上的给定端口。如果给出了 IP 地址和端口,etcd 将侦听给定的端口和接口。多个 URL 可用于指定要侦听的多个地址和端口。etcd 将响应来自任何列出的地址和端口的请求。

无效示例:“http://example.com:2380“(域名绑定无效)

--listen-client-urls

用于侦听客户端流量的 URL 列表。

http://localhost:2379

ETCD_LISTEN_CLIENT_URLS

该标志告诉 etcd 接受来自客户端的指定 scheme://IP:port 组合的传入请求。Scheme 可以是 http 或 https。或者,使用unix://<file-path>或unixs://<file-path>用于 unix 套接字。如果将 0.0.0.0 指定为 IP,则 etcd 将侦听所有接口上的给定端口。如果给出了 IP 地址和端口,etcd 将侦听给定的端口和接口。多个 URL 可用于指定要侦听的多个地址和端口。etcd 将响应来自任何列出的地址和端口的请求。

无效示例:“http://example.com:2379“(域名绑定无效)

--max-snapshots

要保留的最大快照文件数(0 为无限制)

5

ETCD_MAX_SNAPSHOTS

Windows 上的用户默认设置为无限制,建议手动清除到 5。

--max-wals

要保留的最大wal文件数量(0为无限制)

5

ETCD_MAX_WALS

Windows 上的用户默认设置为无限制,建议手动清除到 5。

--cors

逗号分隔的 CORS(跨源资源共享)来源白名单。

ETCD_CORS

--quota-backend-bytes

当后端大小超过给定的配额时发出警报(0 默认为低空间配额)。

0

ETCD_QUOTA_BACKEND_BYTES

--backend-batch-limit

BackendBatchLimit 是提交后端事务之前的最大操作数。

0

ETCD_BACKEND_BATCH_LIMIT

--backend-bbolt-freelist-type

etcd 后端(bboltdb)使用的空闲列表类型。

0

ETCD_BACKEND_BBOLT_FREELIST_TYPE

支持类型array 和 map

--backend-batch-interval

BackendBatchInterval 是提交后端事务之前的最长时间。

0

ETCD_BACKEND_BATCH_INTERVAL

--max-txn-ops

事务中允许的最大操作数。

128

ETCD_MAX_TXN_OPS

--max-request-bytes

服务器将接受的最大客户端请求大小(以字节为单位)。

1572864(1.5MB)

ETCD_MAX_REQUEST_BYTES

--grpc-keepalive-min-time

客户端在 ping 服务器之前应等待的最小持续时间间隔。

5s

ETCD_GRPC_KEEPALIVE_MIN_TIME

--grpc-keepalive-interval

服务器到客户端 ping 检查连接是否处于活动状态的频率持续时间(0 表示禁用)。

2小时

ETCD_GRPC_KEEPALIVE_INTERVAL

-grpc-keepalve-timeout

关闭无响应连接之前的额外等待时间(0 表示禁用)。

20s

ETCD_GRPC_KEEPALIVE_TIMEOUT

Clusetr flags-集群标志

--initial-advertise-peer-urls、--initial-cluster、--initial-cluster-state和--initial-cluster-token标志用于引导(静态引导发现服务引导运行时重新配置)新成员,并在重新启动现有成员时被忽略。

--discovery使用发现服务时需要设置前缀标志。

flag

说明

默认值

对应环境变量格式

备注

--initial-advertise-peer-urls

此成员的对等 URL 列表,用于向集群的其余部分做广播。

http://localhost:2380

ETCD_INITIAL_ADVERTISE_PEER_URLS

这些地址用于在集群周围通信 etcd 数据。至少一个必须可路由到所有集群成员。这些 URL 可以包含域名。

示例:“ http://example.com:2380 , http://10.0.0.1:2380”

--initial-cluster

用于引导的初始集群配置。

default=http://localhost:2380

ETCD_INITIAL_CLUSTER

这个标志的key是每个节点--name的值。默认key是default,是因为--name的默认值是default

--init-cluster-state

初始集群状态(new 或 existing)

new

ETCD_INITIAL_CLUSTER_STATE

new为初始化静态或 DNS 引导期间出现的所有成员设置为。如果此选项设置为existing,etcd 将尝试加入现有集群。如果设置了错误的值,etcd 将尝试启动但会安全失败。

--initial-cluster-token

引导期间 etcd 集群的初始集群令牌。

etcd-cluster

ETCD_INITIAL_CLUSTER_TOKEN

--advertise-client-urls

此成员的客户端 URL 列表,用于向集群的其余部分做广播。这些 URL 可以包含域名。

http://localhost:2379

ETCD_ADVERTISE_CLIENT_URLS

示例:“ http://example.com:2379 , http://10.0.0.1:2379”

如果从集群成员发布诸如 http://localhost:2379 之类的 URL 并且正在使用 etcd 的代理功能,请小心。这将导致循环,因为代理将向自身转发请求,直到其资源(内存、文件描述符)最终耗尽。

--discovery

用于引导集群的发现 URL。

ETCD_DISCOVERY

--discovery-srv

用于引导集群的 DNS srv 域。

ETCD_DISCOVERY_SRV

--discovery-srv-name

使用 DNS 引导时查询的 DNS srv 名称的后缀。

ETCD_DISCOVERY_SRV_NAME

--discovery-fallback

发现服务失败时的预期行为(“exit” or “proxy”) 。“代理”仅支持 v2 API。

proxy

ETCD_DISCOVERY_FALLBACK

--discovery-proxy

用于发现服务的流量的 HTTP 代理。

ETCD_DISCOVERY_PROXY

--strict-reconfig-check

拒绝会导致仲裁丢失的重新配置请求。

true

ETCD_STRICT_RECONFIG_CHECK

--auto-compaction-retention

以小时为单位的 mvcc 键值存储的自动压缩保留。0 表示禁用自动压缩。

0

ETCD_AUTO_COMPACTION_RETENTION

--auto-compaction-mode

将“auto-compaction-retention”解释为: ‘periodic’、‘revision’之一。

periodic

ETCD_AUTO_COMPACTION_MODE

'periodic' 用于基于持续时间的保留,如果没有提供时间单位(例如 '5m'),则默认为小时。'revision' 用于基于修订号的保留。

--enable-v2

接受 etcd V2 客户端请求

false

ETCD_ENABLE_V2

Proxy flags-代理标识

--proxy 前缀标志将 etcd 配置为在代理模式下运行。“proxy”仅支持 v2 API。

proxy mode:https://etcd.io/docs/v2.3/proxy/

flag

说明

默认值

对应环境变量格式

备注

--proxy

代理模式设置(off、readonly、on)

off

ETCD_PROXY

--proxy-failure-wait

在重新考虑代理请求之前,端点将保持失败状态的时间(以毫秒为单位)。

5000

ETCD_PROXY_FAILURE_WAIT

--proxy-refresh-interval

端点刷新间隔的时间(以毫秒为单位)。

30000

ETCD_PROXY_REFRESH_INTERVAL

--proxy-dial-timeout

拨号超时的时间(以毫秒为单位)或 0 禁用超时

1000

ETCD_PROXY_DIAL_TIMEOUT

--proxy-write-timeout

写入超时的时间(以毫秒为单位)或 0 禁用超时。

5000

ETCD_PROXY_WRITE_TIMEOUT

--proxy-read-timeout

读取超时的时间(以毫秒为单位)或 0 禁用超时。

0

ETCD_PROXY_READ_TIMEOUT

如果使用监视,请不要更改此值,因为使用长轮询请求。

Security flags-安全标志

安全标志帮助构建安全的etcd集群。

flag

说明

默认值

对应环境变量格式

备注

--ca-file(弃用)

客户端服务器 TLS CA 文件的路径。

ETCD_CA_FILE

--ca-file ca.crt可以被替换为--trusted-ca-file ca.crt --client-cert-auth,并且 etcd 将执行相同的操作。

--cert-file

客户端服务器 TLS 证书文件的路径

ETCD_CERT_FILE

--key-file

客户端服务器 TLS 密钥文件的路径。

ETCD_KEY_FILE

--client-cert-auth

启用客户端证书身份验证。

false

ETCD_CLIENT_CERT_AUTH

gRPC 网关不支持 CN 身份验证。

--client-crl-file

客户端证书吊销列表文件的路径。

ETCD_CLIENT_CRL_FILE

--client-cert-allowed-hostname

Allowed 用于客户端证书身份验证的允许的TLS 名称。

ETCD_CLIENT_CERT_ALLOWED_HOSTNAME

--trusted-ca-file

客户端服务器 TLS 可信 CA 证书文件的路径。

ETCD_TRUSTED_CA_FILE

--auto-tls

使用生成的证书的客户端 TLS

false

ETCD_AUTO_TLS

--peer-ca-file(弃用)

对等服务器 TLS CA 文件的路径。

ETCD_PEER_CA_FILE

--peer-ca-file ca.crt可以被替换为--peer-trusted-ca-file ca.crt --peer-client-cert-auth,并且 etcd 将执行相同的操作。

--pree-cert-file

对等服务器 TLS 证书文件的路径。这是点对点流量的证书,用于服务器和客户端。

ETCD_PEER_CERT_FILE

--peer-key-file

对等服务器 TLS 密钥文件的路径。这是对等通信的关键,用于服务器和客户端。

ETCD_PEER_KEY_FILE

--peer-client-cert-auth

启用对等客户端证书身份验证。

false

ETCD_PEER_CLIENT_CERT_AUTH

--peer-crl-file

对等证书吊销列表文件的路径。

ETCD_PEER_CRL_FILE

--peer-trusted-ca-file

对等服务器 TLS 可信 CA 文件的路径。

ETCD_PEER_TRUSTED_CA_FILE

--peer-auto-tls

使用生成的证书的对等 TLS

false

ETCD_PEER_AUTO_TLS

--peer-cert-allowed-cn

允许 CommonName 用于对等身份验证。

ETCD_PEER_CERT_ALLOWED_CN

--peer-cert-allowed-hostname

允许的 TLS 证书名称用于对等身份验证。

ETCD_PEER_CERT_ALLOWED_HOSTNAME

--cipher-suites

服务器/客户端和对等方之间支持的 TLS 密码套件的逗号分隔列表。

ETCD_CIPHER_SUITES

logging flags-日志标志

flag

说明

默认值

对应环境变量格式

备注

--logger

指定zap结构化日志或者capnslog

3.5版本将弃用capnslog

capnslog

ETCD_LOGGER

--log-outputs

指定 'stdout' 或 'stderr' 以跳过日志记录,即使在 systemd 或逗号分隔的输出目标列表下运行时也是如此。

default

ETCD_LOG_OUTPUTS

在v3.4版本,zip logger迁移期间。default使用stderr配置

--log-level

配置日志级别(supports debug, info, warn, error, panic, or fatal

3.4版本可用

info

ETCD_LOG_LEVEL

--debug

将所有子包的默认日志级别删除,设置为 DEBUG。

3.5版本弃用

false(所有子包的信息)

ETCD_DEBUG

--log-package-levels

将各个 etcd 子包设置为特定的日志级别。

3.5版本弃用

空(所有包的信息)

ETCD_LOG_PACKAGE_LEVELS

Unsafe flags-不安全的标志

使用不安全标志时请小心,因为它会破坏共识协议给出的保证。例如,如果集群中的其他成员还活着,它可能会发生恐慌。使用这些标志时请按照说明进行操作。

flag

说明

默认值

对应环境变量格式

备注

--force-new-cluster

强制创建一个新的单成员集群。

false

ETCD_FORCE_NEW_CLUSTER

它提交配置更改,强制删除集群中的所有现有成员并添加自己,但强烈建议不要这样做。请查看灾难恢复文档以了解首选的 v3 恢复程序。

Miscellaneous flags-其他标志

flag

说明

默认值

对应环境变量格式

备注

--version

输出版本信息并且退出

false

--config-file

从配置文件载入服务配置。

ETCD_CONFIG_FILE

请注意,如果提供了配置文件,则会忽略其他命令行标志和环境变量。

Profiling flags-性能分析标志

flag

说明

默认值

对应环境变量格式

备注

--enable-pprof

通过 HTTP 服务器启用运行时分析数据。地址在客户端 URL + “/debug/pprof/”

false

ETCD_ENABLE_PPROF

--metrics

设置导出指标的详细程度,指定“extensive”以包含服务器端 grpc 直方图指标。

basic

ETCD_METRICS

--listen-metrics-urls

展示/metrics和/health的监听URL列表

ETCD_LISTEN_METRICS_URLS

Auth flags-认证标志

flag

说明

默认值

对应环境变量格式

备注

--auth-token

指定令牌类型和令牌特定选项,尤其是对于 JWT。

simple

ETCD_AUTH_TOKEN

其格式为“type,var1=val1,var2=val2,...”。可能的类型是“simple”或“jwt”。

可能的变量是 :

'sign-method',用于指定 jwt 的符号方法(其可能的值为 'ES256'、'ES384'、'ES512'、'HS256'、'HS384'、'HS512'、'RS256'、'RS384 ', 'RS512', 'PS256', 'PS384', or 'PS512'),

'pub-key' 指定公钥路径以验证 jwt,

'priv-key' 指定私钥路径用于签署 jwt,

'ttl' 用于指定 jwt 令牌的 TTL。

对于非对称算法(“RS”、“PS”、“ES”),公钥是可选的,因为私钥包含足够的信息来签署和验证令牌。

JWT 的示例选项:'–auth-token jwt,pub-key=app.rsa.pub,priv-key=app.rsa,sign-method=RS512,ttl=10m'

--bcrypt-cost

指定用于散列身份验证密码的 bcrypt 算法的成本/强度。有效值介于 4 和 31 之间。

10

不支持

Experimental flags-实验性的标志

flag

说明

默认值

对应环境变量格式

备注

--experimental-corrupt-check-time

集群损坏检查通过的时间间隔

0s

ETCD_EXPERIMENTAL_CORRUPT_CHECK_TIME

--experimental-compaction-batch-limit

设置每个压缩批次中删除的最大修订

1000

ETCD_EXPERIMENTAL_COMPACTION_BATCH_LIMIT

--experimental-peer-skip-client-san-verification

跳过客户端证书中对等连接的 SAN 字段的验证。

false

ETCD_EXPERIMENTAL_PEER_SKIP_CLIENT_SAN_VERIFICATION

这会很有帮助,例如,如果集群成员在 NAT 后面的不同网络中运行。

在这种情况下,请确保使用基于私有证书颁发机构的对等证书,使用--peer-cert-file, --peer-key-file,--peer-trusted-ca-file

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值