本文转载自 https://www.cnblogs.com/linuxws/p/11194403.html

    1. # 示例yml配置文件
    2. # This is the configuration file for the etcd server.
    3. # Human-readable name for this member.
    4. name: 'default'
    5. # Path to the data directory.
    6. data-dir:
    7. # Path to the dedicated wal directory.
    8. wal-dir:
    9. # Number of committed transactions to trigger a snapshot to disk.
    10. snapshot-count: 10000
    11. # Time (in milliseconds) of a heartbeat interval.
    12. heartbeat-interval: 100
    13. # Time (in milliseconds) for an election to timeout.
    14. election-timeout: 1000
    15. # Raise alarms when backend size exceeds the given quota. 0 means use the
    16. # default quota.
    17. quota-backend-bytes: 0
    18. # List of comma separated URLs to listen on for peer traffic.
    19. listen-peer-urls: http://localhost:2380
    20. # List of comma separated URLs to listen on for client traffic.
    21. listen-client-urls: http://localhost:2379
    22. # Maximum number of snapshot files to retain (0 is unlimited).
    23. max-snapshots: 5
    24. # Maximum number of wal files to retain (0 is unlimited).
    25. max-wals: 5
    26. # Comma-separated white list of origins for CORS (cross-origin resource sharing).
    27. cors:
    28. # List of this member's peer URLs to advertise to the rest of the cluster.
    29. # The URLs needed to be a comma-separated list.
    30. initial-advertise-peer-urls: http://localhost:2380
    31. # List of this member's client URLs to advertise to the public.
    32. # The URLs needed to be a comma-separated list.
    33. advertise-client-urls: http://localhost:2379
    34. # Discovery URL used to bootstrap the cluster.
    35. discovery:
    36. # Valid values include 'exit', 'proxy'
    37. discovery-fallback: 'proxy'
    38. # HTTP proxy to use for traffic to discovery service.
    39. discovery-proxy:
    40. # DNS domain used to bootstrap initial cluster.
    41. discovery-srv:
    42. # Initial cluster configuration for bootstrapping.
    43. initial-cluster:
    44. # Initial cluster token for the etcd cluster during bootstrap.
    45. initial-cluster-token: 'etcd-cluster'
    46. # Initial cluster state ('new' or 'existing').
    47. initial-cluster-state: 'new'
    48. # Reject reconfiguration requests that would cause quorum loss.
    49. strict-reconfig-check: false
    50. # Accept etcd V2 client requests
    51. enable-v2: true
    52. # Enable runtime profiling data via HTTP server
    53. enable-pprof: true
    54. # Valid values include 'on', 'readonly', 'off'
    55. proxy: 'off'
    56. # Time (in milliseconds) an endpoint will be held in a failed state.
    57. proxy-failure-wait: 5000
    58. # Time (in milliseconds) of the endpoints refresh interval.
    59. proxy-refresh-interval: 30000
    60. # Time (in milliseconds) for a dial to timeout.
    61. proxy-dial-timeout: 1000
    62. # Time (in milliseconds) for a write to timeout.
    63. proxy-write-timeout: 5000
    64. # Time (in milliseconds) for a read to timeout.
    65. proxy-read-timeout: 0
    66. client-transport-security:
    67. # Path to the client server TLS cert file.
    68. cert-file:
    69. # Path to the client server TLS key file.
    70. key-file:
    71. # Enable client cert authentication.
    72. client-cert-auth: false
    73. # Path to the client server TLS trusted CA cert file.
    74. trusted-ca-file:
    75. # Client TLS using generated certificates
    76. auto-tls: false
    77. peer-transport-security:
    78. # Path to the peer server TLS cert file.
    79. cert-file:
    80. # Path to the peer server TLS key file.
    81. key-file:
    82. # Enable peer client cert authentication.
    83. client-cert-auth: false
    84. # Path to the peer server TLS trusted CA cert file.
    85. trusted-ca-file:
    86. # Peer TLS using generated certificates.
    87. auto-tls: false
    88. # Enable debug-level logging for etcd.
    89. debug: false
    90. logger: zap
    91. # Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
    92. log-outputs: [stderr]
    93. # Force to create a new one member cluster.
    94. force-new-cluster: false
    95. auto-compaction-mode: periodic
    96. auto-compaction-retention: "1"
    1. # ETCD的名称
    2. ETCD_NAME=node1
    3. #ETCD存储目录
    4. ETCD_DATA_DIR=/data/etcd
    5. #本机IP地址
    6. LOCAL_IP=192.168.5.137
    7. #初始化名称
    8. INITIAL_CLUSTER_TOKEN=etcd_cluster_ops
    9. #初始化群集列表
    10. INITIAL_CLUSTER="node1=http://192.168.5.137:2380,node2=http://192.168.5.138:2380"
    11. #初始化状态
    12. INITIAL_CLUSTER_STATE=new
    1. 配置项解析
    2. 2.1 成员相关标识
    3. --name
    4. 含义:此成员的名称。
    5. 默认值:default
    6. 环境变量:ETCD_NAME
    7. 作用:此配置值作为此节点在--initial-cluster标志中列出的条目(例如,default=http://localhost:2380)引用。若使用静态引导,则需要匹配标志中使用的密钥。使用发现时,每个成员必须具有唯一的名称。建议使用Hostname或者machine-id。
    8. 注意:使用发现时,每个成员必须具有唯一的名称。
    9. --data-dir
    10. 含义:服务运行数据保存的路径。
    11. 默认值:${name}.etcd
    12. 环境变量:ETCD_DATA_DIR
    13. 作用:设置数据保存的目录。
    14. --wal-dir
    15. 含义:专用wal目录的路径。
    16. 默认值:--data-dir的路径下
    17. 环境变量:ETCD_WAL_DIR
    18. 作用:独立设置wal目录,etcd会将WAL文件写入--wal-dir而不是--data-dir。独立的wal路径,有助于避免日志记录和其他IO操作之间的竞争。
    19. --snapshot-count
    20. 含义:触发快照到磁盘的已提交事务数。
    21. 默认值:100000
    22. 环境变量:ETCD_SNAPSHOT_COUNT
    23. 作用:指定有多少事务(transaction)被提交时,触发截取快照保存到磁盘。
    24. --heartbeat-interval
    25. 含义:心跳间隔的时间(以毫秒为单位)
    26. 默认值:100
    27. 环境变量:ETCD_HEARTBEAT_INTERVAL
    28. 作用:leader 多久发送一次心跳到 followers
    29. --election-timeout
    30. 含义:选举超时的时间(以毫秒为单位)
    31. 默认值:1000
    32. 环境变量:ETCD_ELECTION_TIMEOUT
    33. 作用:重新投票的超时时间,如果 follow 在该时间间隔没有收到心跳包,会触发重新投票,默认为 1000 ms
    34. --listen-peer-urls
    35. 含义:和成员之间通信的地址。
    36. 默认值:http://localhost:2380
    37. 环境变量:ETCD_LISTEN_PEER_URLS
    38. 作用:用于监听其他etcd memberurl
    39. 提示:域名为无效值,如http://example.com:2380为错误配置。
    40. --listen-client-urls
    41. 含义:对外提供服务的地址
    42. 默认值:http://localhost:2379
    43. 环境变量:ETCD_LISTEN_CLIENT_URLS
    44. 作用:对外提供服务的地址。
    45. 提示:域名为无效值,如http://example.com:2379为错误配置。
    46. --max-snapshots
    47. 含义:要保留的最大快照文件数(0表示不受限制)。
    48. 默认值:5
    49. 环境变量:ETCD_MAX_SNAPSHOTS
    50. 作用:
    51. 提示:Windows上的用户默认值不受限制,建议手动清除至5
    52. --max-wals
    53. 含义:要保留的最大wal文件数(0表示不受限制)。
    54. 默认值:5
    55. 环境变量:ETCD_MAX_WALS
    56. 作用:
    57. 提示:Windows上的用户默认值不受限制,建议手动清除至5
    58. --cors
    59. 含义:逗号分隔的CORS原始白名单(跨源资源共享)
    60. 默认值:
    61. 环境变量:ETCD_CORS
    62. --quota-backend-bytes
    63. 含义:当后端大小超过给定配额时(0默认为低空间配额),引发警报。
    64. 默认值:0
    65. 环境变量:ETCD_QUOTA_BACKEND_BYTES
    66. --max-txn-ops
    67. 含义:事务中允许的最大操作数。
    68. 默认值:128
    69. 环境变量:ETCD_MAX_TXN_OPS
    70. --max-request-bytes
    71. 含义:服务器将接受的最大客户端请求大小(字节)。
    72. 默认值:1572864
    73. 环境变量:ETCD_MAX_REQUEST_BYTES
    74. --grpc-keepalive-min-time
    75. 含义:客户端在ping服务器之前应等待的最短持续时间间隔。
    76. 默认值:5s
    77. 环境变量:ETCD_GRPC_KEEPALIVE_MIN_TIME
    78. --grpc-keepalive-interval
    79. 含义:服务器到客户端ping的频率持续时间,以检查连接是否处于活动状态(0表示禁用)。
    80. 默认值:2h
    81. 环境变量:ETCD_GRPC_KEEPALIVE_INTERVAL
    82. --grpc-keepalive-timeout
    83. 含义:关闭非响应连接之前的额外持续等待时间(0表示禁用)。
    84. 默认值:20s
    85. 环境变量:ETCD_GRPC_KEEPALIVE_TIMEOUT
    86. 2.2 集群相关标识
    87. 提示:--initial-advertise-peer-urls, --initial-cluster, --initial-cluster-state, and --initial-cluster-token标识用于引导一个新成员,当重启一个已经存在的成员时将忽略。
    88. --initial-advertise-peer-urls
    89. 含义:该节点成员对等URL地址,且会通告群集的其余成员节点。
    90. 默认值:http://localhost:2380
    91. 环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
    92. 作用:
    93. --initial-cluster
    94. 含义:集群中所有节点的信息。
    95. 默认值:default=http://localhost:2380
    96. 环境变量:ETCD_INITIAL_CLUSTER
    97. 作用:
    98. 注意:此处default为节点的--name指定的名字;localhost:2380为--initial-advertise-peer-urls指定的值。
    99. --initial-cluster-state
    100. 含义:初始集群状态
    101. 默认值:new
    102. 环境变量:ETCD_INITIAL_CLUSTER_STATE
    103. 作用:设置new为初始静态或DNS引导期间出现的所有成员。如果将此选项设置为existing,则etcd将尝试加入现有群集。
    104. --initial-cluster-token
    105. 含义:创建集群的 token,这个值每个集群保持唯一。
    106. 默认值:etcd-cluster
    107. 环境变量:ETCD_INITIAL_CLUSTER_TOKEN
    108. 作用:此配置可使重新创建集群,即使配置和之前一样,也会再次生成新的集群和节点 uuid;否则会导致多个集群之间的冲突,造成未知的错误。
    109. --advertise-client-urls
    110. 含义:此成员的客户端URL列表,用于通告群集的其余部分。这些URL可以包含域名。
    111. 默认值:http://localhost:2379
    112. 环境变量:ETCD_ADVERTISE_CLIENT_URLS
    113. 作用:对外公告的该节点客户端监听地址。
    114. --discovery
    115. 含义:用于引导群集的发现URL
    116. 默认值:
    117. 环境变量:ETCD_DISCOVERY
    118. 作用:
    119. --discovery-srv
    120. 含义:DNS srv域用于引导群集。
    121. 默认值:
    122. 环境变量:ETCD_DISCOVERY_SRV
    123. 作用:
    124. --discovery-srv-name
    125. 含义:使用DNS引导时查询的DNS srv名称的后缀。
    126. 默认值:
    127. 环境变量:ETCD_DISCOVERY_SRV_NAME
    128. 作用:
    129. --discovery-fallback
    130. 含义:发现服务失败时的预期行为(“退出”或“代理”)。“proxy”仅支持v2 API
    131. 默认值:proxy
    132. 环境变量:ETCD_DISCOVERY_FALLBACK
    133. 作用:
    134. --discovery-proxy
    135. 含义:用于流量到发现服务的HTTP代理。
    136. 默认值:
    137. 环境变量:ETCD_DISCOVERY_PROXY
    138. 作用:
    139. --strict-reconfig-check
    140. 含义:拒绝可能导致仲裁丢失的重新配置请求。
    141. 默认值:false
    142. 环境变量:ETCD_STRICT_RECONFIG_CHECK
    143. 作用:
    144. --auto-compaction-retention
    145. 含义:在一个小时内为mvcc键值存储的自动压实保留。0表示禁用自动压缩。
    146. 默认值:0
    147. 环境变量:ETCD_AUTO_COMPACTION_RETENTION
    148. 作用:
    149. --auto-compaction-mode
    150. 含义:说明--auto-compaction-retention配置的基于时间保留的三种模式:periodic, revision. periodic
    151. 默认值:periodic
    152. 环境变量:ETCD_AUTO_COMPACTION_MODE
    153. 作用:
    154. --enable-v2
    155. 含义:接受etcd V2客户端请求
    156. 默认值:true
    157. 环境变量:ETCD_ENABLE_V2
    158. 作用:
    159. 2.3 代理相关标识
    160. 提示:--proxy配置etcd以在代理模式下运行,“proxy”仅支持v2 API
    161. --proxy
    162. 含义:代理模式设置,("off", "readonly" or "on"
    163. 默认值:off
    164. 环境变量:ETCD_PROXY
    165. 作用:
    166. --proxy-failure-wait
    167. 含义:在重新考虑代理请求之前,endpoints 将处于失败状态的时间(以毫秒为单位)。
    168. 默认值:5000
    169. 环境变量:ETCD_PROXY_FAILURE_WAIT
    170. 作用:
    171. --proxy-refresh-interval
    172. 含义:endpoints 刷新间隔的时间(以毫秒为单位)。
    173. 默认值:30000
    174. 环境变量:ETCD_PROXY_REFRESH_INTERVAL
    175. 作用:
    176. --proxy-dial-timeout
    177. 含义:拨号超时的时间(以毫秒为单位)或0表示禁用超时
    178. 默认值:1000
    179. 环境变量:ETCD_PROXY_DIAL_TIMEOUT
    180. 作用:
    181. --proxy-write-timeout
    182. 含义:写入超时的时间(以毫秒为单位)或0以禁用超时。
    183. 默认值:5000
    184. 环境变量:ETCD_PROXY_WRITE_TIMEOUT
    185. 作用:
    186. --proxy-read-timeout
    187. 含义:读取超时的时间(以毫秒为单位)或0以禁用超时。
    188. 默认值:0
    189. 环境变量:ETCD_PROXY_READ_TIMEOUT
    190. 作用:
    191. 2.4 安全相关标识
    192. --ca-file
    193. 提示:已弃用,可以替换为--trusted-ca-file ca.crt、--client-cert-authetcd将执行相同的操作。
    194. --cert-file
    195. 含义:客户端服务器TLS证书文件的路径。
    196. 默认值:
    197. 环境变量:ETCD_CERT_FILE
    198. 作用:
    199. --key-file
    200. 含义:客户端服务器TLS密钥文件的路径。
    201. 默认值:
    202. 环境变量:ETCD_KEY_FILE
    203. 作用:
    204. --client-cert-auth
    205. 含义:启用客户端证书验证。
    206. 默认值:false
    207. 环境变量:ETCD_CLIENT_CERT_AUTH
    208. 作用:
    209. --client-crl-file
    210. 含义:客户端证书吊销列表文件的路径。
    211. 默认值:
    212. 环境变量:ETCD_CLIENT_CRL_FILE
    213. 作用:
    214. --trusted-ca-file
    215. 含义:客户端服务器的路径TLS可信CA证书文件。
    216. 默认值:
    217. 环境变量:ETCD_TRUSTED_CA_FILE
    218. 作用:
    219. --auto-tls
    220. 含义:客户端TLS使用生成的证书
    221. 默认值:false
    222. 环境变量:ETCD_AUTO_TLS
    223. 作用:
    224. --peer-ca-file
    225. 提示:已弃用,可以替换为--peer-trusted-ca-file ca.crt --peer-client-cert-authetcd将执行相同的操作。
    226. --peer-cert-file
    227. 含义:对等服务器TLS证书文件的路径。这是对等流量的证书,用于服务器和客户端。
    228. 默认值:
    229. 环境变量:ETCD_PEER_CERT_FILE
    230. 作用:
    231. --peer-key-file
    232. 含义:对等服务器TLS密钥文件的路径。这是对等流量的关键,用于服务器和客户端。
    233. 默认值:
    234. 环境变量:ETCD_PEER_KEY_FILE
    235. 作用:
    236. --peer-client-cert-auth
    237. 含义:启用对等客户端证书验证。
    238. 默认值:false
    239. 环境变量:ETCD_PEER_CLIENT_CERT_AUTH
    240. 作用:
    241. --peer-crl-file
    242. 含义:对等证书吊销列表文件的路径。
    243. 默认值:
    244. 环境变量:ETCD_PEER_CRL_FILE
    245. 作用:
    246. --peer-trusted-ca-file
    247. 含义:对等服务器TLS可信CA文件的路径。
    248. 默认值:
    249. 环境变量:ETCD_PEER_TRUSTED_CA_FILE
    250. 作用:
    251. --peer-auto-tls
    252. 含义:Peer TLS使用自动生成的证书
    253. 默认值:false
    254. 环境变量:ETCD_PEER_AUTO_TLS
    255. 作用:
    256. --peer-cert-allowed-cn
    257. 含义:允许CommonName进行对等体认证。
    258. 默认值:none
    259. 环境变量:ETCD_PEER_CERT_ALLOWED_CN
    260. 作用:
    261. 2.5 日志相关标识
    262. --logger
    263. 含义:为结构化日志记录指定'zap''capnslog'
    264. 默认值:capnslog
    265. 环境变量:ETCD_LOGGER
    266. 作用:
    267. --log-outputs
    268. 含义:指定'stdout''stderr'以跳过日志记录,即使在systemd或逗号分隔的输出目标列表下运行也是如此。
    269. 默认值:default
    270. 环境变量:ETCD_LOG_OUTPUT
    271. 作用:
    272. --debug
    273. 含义:将所有子包的默认日志级别设置为DEBUG
    274. 默认值:false(所有包的INFO
    275. 环境变量:ETCD_DEBUG
    276. 作用:
    277. --log-package-levels
    278. 含义:将单个etcd子包设置为特定的日志级别。一个例子是etcdserver=WARNING,security=DEBUG
    279. 默认值:(所有包的INFO
    280. 环境变量:ETCD_LOG_PACKAGE_LEVELS
    281. 作用:
    282. 2.6 非安全相关标识
    283. --force-new-cluster
    284. 含义:强制创建新的单成员群集。它提交配置更改,强制删除集群中的所有现有成员并添加自身。需要将其设置为还原备份。
    285. 默认值:false
    286. 环境变量:ETCD_FORCE_NEW_CLUSTER
    287. 作用:
    288. 2.7 配置文件相关标识
    289. --enable-pprof
    290. 含义:通过HTTP服务器启用运行时分析数据。地址位于客户端URL +“/ debug / pprof /”
    291. 默认值:false
    292. 环境变量:
    293. 作用:
    294. --metrics
    295. 含义:设置导出的指标的详细程度,指定“扩展”以包括直方图指标。
    296. 默认值:basic
    297. 环境变量:
    298. 作用:
    299. --listen-metrics-urls
    300. 含义:要监听的其他URL列表将响应端点/metrics和/health端点
    301. 默认值:
    302. 环境变量:
    303. 作用:
    304. 2.8 其他相关标识
    305. --version
    306. 含义:打印版本并退出。
    307. 默认值:false
    308. 环境变量:
    309. 作用:
    310. --config-file
    311. 含义:从文件加载服务器配置。
    312. 默认值:
    313. 环境变量:
    314. 作用:从配置文件加载相关配置。
    315. 2.9 认证相关标识
    316. --auth-token
    317. --bcrypt-cost
    318. 含义:为散列身份验证密码指定bcrypt算法的成本/强度。有效值介于431之间。
    319. 默认值:10
    320. 环境变量:
    321. 作用: