本文转载自 https://www.cnblogs.com/linuxws/p/11194403.html
# 示例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: http://localhost:2380# List of comma separated URLs to listen on for client traffic.listen-client-urls: http://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: http://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: http://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 requestsenable-v2: true# Enable runtime profiling data via HTTP serverenable-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: 0client-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 certificatesauto-tls: falsepeer-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: falselogger: 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: falseauto-compaction-mode: periodicauto-compaction-retention: "1"
# ETCD的名称ETCD_NAME=node1#ETCD存储目录ETCD_DATA_DIR=/data/etcd#本机IP地址LOCAL_IP=192.168.5.137#初始化名称INITIAL_CLUSTER_TOKEN=etcd_cluster_ops#初始化群集列表INITIAL_CLUSTER="node1=http://192.168.5.137:2380,node2=http://192.168.5.138:2380"#初始化状态INITIAL_CLUSTER_STATE=new
二 配置项解析2.1 成员相关标识--name含义:此成员的名称。默认值:default环境变量:ETCD_NAME作用:此配置值作为此节点在--initial-cluster标志中列出的条目(例如,default=http://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含义:和成员之间通信的地址。默认值:http://localhost:2380环境变量:ETCD_LISTEN_PEER_URLS作用:用于监听其他etcd member的url提示:域名为无效值,如http://example.com:2380为错误配置。--listen-client-urls含义:对外提供服务的地址默认值:http://localhost:2379环境变量:ETCD_LISTEN_CLIENT_URLS作用:对外提供服务的地址。提示:域名为无效值,如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--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_TIMEOUT2.2 集群相关标识提示:--initial-advertise-peer-urls, --initial-cluster, --initial-cluster-state, and --initial-cluster-token标识用于引导一个新成员,当重启一个已经存在的成员时将忽略。--initial-advertise-peer-urls含义:该节点成员对等URL地址,且会通告群集的其余成员节点。默认值:http://localhost:2380环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS作用:--initial-cluster含义:集群中所有节点的信息。默认值:default=http://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可以包含域名。默认值:http://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含义:代理模式设置,("off", "readonly" or "on")默认值:off环境变量:ETCD_PROXY作用:--proxy-failure-wait含义:在重新考虑代理请求之前,endpoints 将处于失败状态的时间(以毫秒为单位)。默认值:5000环境变量:ETCD_PROXY_FAILURE_WAIT作用:--proxy-refresh-interval含义:endpoints 刷新间隔的时间(以毫秒为单位)。默认值: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作用:2.4 安全相关标识--ca-file提示:已弃用,可以替换为--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作用:--client-crl-file含义:客户端证书吊销列表文件的路径。默认值:环境变量:ETCD_CLIENT_CRL_FILE作用:--trusted-ca-file含义:客户端服务器的路径TLS可信CA证书文件。默认值:环境变量:ETCD_TRUSTED_CA_FILE作用:--auto-tls含义:客户端TLS使用生成的证书默认值:false环境变量:ETCD_AUTO_TLS作用:--peer-ca-file提示:已弃用,可以替换为--peer-trusted-ca-file ca.crt --peer-client-cert-auth,etcd将执行相同的操作。--peer-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含义:Peer TLS使用自动生成的证书默认值:false环境变量:ETCD_PEER_AUTO_TLS作用:--peer-cert-allowed-cn含义:允许CommonName进行对等体认证。默认值:none环境变量:ETCD_PEER_CERT_ALLOWED_CN作用:2.5 日志相关标识--logger含义:为结构化日志记录指定'zap'或'capnslog'。默认值:capnslog环境变量:ETCD_LOGGER作用:--log-outputs含义:指定'stdout'或'stderr'以跳过日志记录,即使在systemd或逗号分隔的输出目标列表下运行也是如此。默认值:default环境变量:ETCD_LOG_OUTPUT作用:--debug含义:将所有子包的默认日志级别设置为DEBUG。默认值:false(所有包的INFO)环境变量:ETCD_DEBUG作用:--log-package-levels含义:将单个etcd子包设置为特定的日志级别。一个例子是etcdserver=WARNING,security=DEBUG默认值:(所有包的INFO)环境变量:ETCD_LOG_PACKAGE_LEVELS作用:2.6 非安全相关标识--force-new-cluster含义:强制创建新的单成员群集。它提交配置更改,强制删除集群中的所有现有成员并添加自身。需要将其设置为还原备份。默认值:false环境变量:ETCD_FORCE_NEW_CLUSTER作用:2.7 配置文件相关标识--enable-pprof含义:通过HTTP服务器启用运行时分析数据。地址位于客户端URL +“/ debug / pprof /”默认值:false环境变量:作用:--metrics含义:设置导出的指标的详细程度,指定“扩展”以包括直方图指标。默认值:basic环境变量:作用:--listen-metrics-urls含义:要监听的其他URL列表将响应端点/metrics和/health端点默认值:环境变量:作用:2.8 其他相关标识--version含义:打印版本并退出。默认值:false环境变量:作用:--config-file含义:从文件加载服务器配置。默认值:环境变量:作用:从配置文件加载相关配置。2.9 认证相关标识--auth-token略--bcrypt-cost含义:为散列身份验证密码指定bcrypt算法的成本/强度。有效值介于4和31之间。默认值:10环境变量:作用:
