附d配置⽂件详解⼀⽰例yml配置⽂件
# This is the configuration file for the etcd server.
# Human-readable name for this member.
name: 'default'
# Path to the data directory.
data-dir:
# Path to the dedicated wal directory.
wal-dir:
# Number of committed transactions to trigger a snapshot to disk.
snapshot-count: 10000
# Time (in milliseconds) of a heartbeat interval.
heartbeat-interval: 100
# Time (in milliseconds) for an election to timeout.
election-timeout: 1000
# Raise alarms when backend size exceeds the given quota. 0 means use the
# default quota.
quota-backend-bytes: 0
# List of comma separated URLs to listen on for peer traffic.
listen-peer-urls: localhost:2380
# List of comma separated URLs to listen on for client traffic.
listen-client-urls: localhost:2379
# Maximum number of snapshot files to retain (0 is unlimited).
max-snapshots: 5
# Maximum number of wal files to retain (0 is unlimited).
max-wals: 5
# Comma-separated white list of origins for CORS (cross-origin resource sharing).
cors:
# List of this member's peer URLs to advertise to the rest of the cluster.
# The URLs needed to be a comma-separated list.
initial-advertise-peer-urls: localhost:2380
# List of this member's client URLs to advertise to the public.
# The URLs needed to be a comma-separated list.
advertise-client-urls: localhost:2379
# Discovery URL used to bootstrap the cluster.
discovery:
# Valid values include 'exit', 'proxy'
discovery-fallback: 'proxy'
# HTTP proxy to use for traffic to discovery service.
discovery-proxy:
# DNS domain used to bootstrap initial cluster.
discovery-srv:
# Initial cluster configuration for bootstrapping.
initial-cluster:
# Initial cluster token for the etcd cluster during bootstrap. initial-cluster-token: 'etcd-cluster'
# Initial cluster state ('new' or 'existing').
initial-cluster-state: 'new'
# Reject reconfiguration requests that would cause quorum loss. strict-reconfig-check: false
# Accept etcd V2 client requests
enable-v2: true
# Enable runtime profiling data via HTTP server
enable-pprof: true
# Valid values include 'on', 'readonly', 'off'
proxy: 'off'
# Time (in milliseconds) an endpoint will be held in a failed state. proxy-failure-wait: 5000
# Time (in milliseconds) of the endpoints refresh interval. proxy-refresh-interval: 30000
# Time (in milliseconds) for a dial to timeout.
proxy-dial-timeout: 1000
# Time (in milliseconds) for a write to timeout.
proxy-write-timeout: 5000
# Time (in milliseconds) for a read to timeout.
proxy-read-timeout: 0
client-transport-security:
# Path to the client server TLS cert file.
cert-file:
# Path to the client server TLS key file.
key-file:
# Enable client cert authentication.
client-cert-auth: false
# Path to the client server TLS trusted CA cert file.
trusted-ca-file:
# Client TLS using generated certificates
auto-tls: false
peer-transport-security:
# Path to the peer server TLS cert file.
cert-file:
# Path to the peer server TLS key file.
key-file:
# Enable peer client cert authentication.
client-cert-auth: false
# Path to the peer server TLS trusted CA cert file.
trusted-ca-file:
# Peer TLS using generated certificates.
auto-tls: false
# Enable debug-level logging for etcd.
debug: false
logger: zap
# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
log-outputs: [stderr]
# Force to create a new one member cluster.
force-new-cluster: false
auto-compaction-mode: periodic
auto-compaction-retention: "1"
⼆配置项解析
2.1 成员相关标识
--name
含义:此成员的名称。
默认值:default
环境变量:ETCD_NAME
作⽤:此配置值作为此节点在--initial-cluster标志中列出的条⽬(例如,default=localhost:2380)
引⽤。若使⽤静态引导,则需要匹配标志中使⽤的密钥。使⽤发现时,每个成员必须具有唯⼀的名称。建议使⽤Hostname或者machine-id。
注意:使⽤发现时,每个成员必须具有唯⼀的名称。
--data-dir
含义:服务运⾏数据保存的路径。
默认值:${name}.etcd
环境变量:ETCD_DATA_DIR
作⽤:设置数据保存的⽬录。
--wal-dir
含义:专⽤wal⽬录的路径。
默认值:--data-dir的路径下
环境变量:ETCD_WAL_DIR
作⽤:独⽴设置wal⽬录,etcd会将WAL⽂件写⼊--wal-dir⽽不是--data-dir。独⽴的wal路径,有助于避免⽇志记录和其他IO操作之间的竞争。
--snapshot-count
含义:触发快照到磁盘的已提交事务数。
默认值:100000
环境变量:ETCD_SNAPSHOT_COUNT
作⽤:指定有多少事务(transaction)被提交时,触发截取快照保存到磁盘。
--heartbeat-interval
含义:⼼跳间隔的时间(以毫秒为单位)
默认值:100
环境变量:ETCD_HEARTBEAT_INTERVAL
作⽤:leader 多久发送⼀次⼼跳到 followers。
--election-timeout
含义:选举超时的时间(以毫秒为单位)
默认值:1000
环境变量:ETCD_ELECTION_TIMEOUT
作⽤:重新投票的超时时间,如果 follow 在该时间间隔没有收到⼼跳包,会触发重新投票,默认为 1000 ms。
--listen-peer-urls
含义:和成员之间通信的地址。
默认值:localhost:2380
环境变量:ETCD_LISTEN_PEER_URLS
作⽤:⽤于监听其他etcd member的url
提⽰:域名为⽆效值,如example:2380为错误配置。
--listen-client-urls
含义:对外提供服务的地址
默认值:localhost:2379
环境变量:ETCD_LISTEN_CLIENT_URLS
作⽤:对外提供服务的地址。
提⽰:域名为⽆效值,如example: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
--max-txn-ops
全球娱乐明星人气榜
含义:事务中允许的最⼤操作数。
默认值:128
环境变量:ETCD_MAX_TXN_OPS
--max-request-bytes
含义:服务器将接受的最⼤客户端请求⼤⼩(字节)。
默认值:1572864
环境变量:ETCD_MAX_REQUEST_BYTES
--grpc-keepalive-min-time
含义:客户端在ping服务器之前应等待的最短持续时间间隔。
默认值:5s
环境变量:ETCD_GRPC_KEEPALIVE_MIN_TIME
--grpc-keepalive-interval读取配置文件失败
含义:服务器到客户端ping的频率持续时间,以检查连接是否处于活动状态(0表⽰禁⽤)。
默认值:2h
环境变量:ETCD_GRPC_KEEPALIVE_INTERVAL
--grpc-keepalive-timeout
含义:关闭⾮响应连接之前的额外持续等待时间(0表⽰禁⽤)。
默认值:20s
环境变量:ETCD_GRPC_KEEPALIVE_TIMEOUT
杨幂醉酒被下药2.2 集相关标识
提⽰:--initial-advertise-peer-urls, --initial-cluster, --initial-cluster-state, and --initial-cluster-token标识⽤于引导⼀个新成员,当重启⼀个已经存在的成员时将忽略。--initial-advertise-peer-urls
含义:该节点成员对等URL地址,且会通告集的其余成员节点。
默认值:localhost:2380
环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
作⽤:
--initial-cluster
含义:集中所有节点的信息。
默认值:default=localhost:2380
环境变量:ETCD_INITIAL_CLUSTER
作⽤:
注意:此处default为节点的--name指定的名字;localhost:2380为--initial-advertise-peer-urls指定的值。
--initial-cluster-state
含义:初始集状态
默认值:new
环境变量:ETCD_INITIAL_CLUSTER_STATE
作⽤:设置new为初始静态或DNS引导期间出现的所有成员。如果将此选项设置为existing,则etcd将尝试加⼊现有集。
--initial-cluster-token
含义:创建集的 token,这个值每个集保持唯⼀。
默认值:etcd-cluster
环境变量:ETCD_INITIAL_CLUSTER_TOKEN
作⽤:此配置可使重新创建集,即使配置和之前⼀样,也会再次⽣成新的集和节点 uuid;否则会导致多个集之间的冲突,造成未知的错误。--advertise-client-urls
含义:此成员的客户端URL列表,⽤于通告集的其余部分。这些URL可以包含域名。
默认值:localhost:2379
环境变量:ETCD_ADVERTISE_CLIENT_URLS
作⽤:对外公告的该节点客户端监听地址。
--discovery
含义:⽤于引导集的发现URL。
默认值:
环境变量:ETCD_DISCOVERY
作⽤:
--discovery-srv
含义:DNS srv域⽤于引导集。
默认值:
环境变量:ETCD_DISCOVERY_SRV
作⽤:
--discovery-srv-name
含义:使⽤DNS引导时查询的DNS srv名称的后缀。
默认值:
环境变量:ETCD_DISCOVERY_SRV_NAME
作⽤:
-
-discovery-fallback
含义:发现服务失败时的预期⾏为(“退出”或“代理”)。“proxy”仅⽀持v2 API。
默认值:proxy
环境变量:ETCD_DISCOVERY_FALLBACK
作⽤:
--discovery-proxy
含义:⽤于流量到发现服务的HTTP代理。
默认值:
环境变量:ETCD_DISCOVERY_PROXY
作⽤:
--strict-reconfig-check
含义:拒绝可能导致仲裁丢失的重新配置请求。守门员训练
默认值:false
环境变量:ETCD_STRICT_RECONFIG_CHECK
作⽤:
--auto-compaction-retention
含义:在⼀个⼩时内为mvcc键值存储的⾃动压实保留。0表⽰禁⽤⾃动压缩。
默认值:0
环境变量:ETCD_AUTO_COMPACTION_RETENTION
作⽤:
--auto-compaction-mode
含义:说明--auto-compaction-retention配置的基于时间保留的三种模式:periodic, revision. periodic
默认值:periodic
环境变量:ETCD_AUTO_COMPACTION_MODE
作⽤:
--enable-v2
含义:接受etcd V2客户端请求
默认值:true
环境变量:ETCD_ENABLE_V2
作⽤:
2.3 代理相关标识
提⽰:--proxy配置etcd以在代理模式下运⾏,“proxy”仅⽀持v2 API。
--proxy