etcd配置文件詳解


etcd配置文件詳解

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
一 示例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 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"

 

ETCD的名稱

1
2
3
4
5
6
7
8
9
10
11
ETCD_NAME=ops-cuidehua001
#ETCD存儲目錄
ETCD_DATA_DIR= /usr/local/etcd/data
#本機IP地址
LOCAL_IP=10.59.87.121
#初始化名稱
INITIAL_CLUSTER_TOKEN=etcd_cluster_cuidehua
#初始化群集列表
INITIAL_CLUSTER= "ops-cuizhiliang001=http://10.59.87.121:2380,etcd-node-002=http://10.59.87.11:2380"
#初始化狀態
INITIAL_CLUSTER_STATE=new

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
二   配置項解析
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_TIMEOUT
2.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
環境變量:
作用:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM