- 配置標(biāo)記
配置標(biāo)記
etcd 可以通過命令行標(biāo)記和環(huán)境變量來配置潭枣。命令行上設(shè)置的選項(xiàng)優(yōu)先于環(huán)境變量。
對于標(biāo)記 --my-flag
環(huán)境變量的格式是 ETCD_MY_FLAG
。 適用于所有標(biāo)記硝清。
正式的ectd端口 是 2379 用于客戶端連接侨把,而 2380 用于伙伴通訊谆焊。etcd 端口可以設(shè)置為接受 TLS 通訊厚掷,non-TLS 通訊绿聘,或者同時(shí)有 TLS 和 non-TLS 通訊室埋。
為了在 linux 啟動試使用自定義設(shè)置自動啟動 etcd 办绝,強(qiáng)烈推薦使用 systemd單元。
成員標(biāo)記
—name
- 成員的可讀性的名字.
- 默認(rèn): “default”
- 環(huán)境變量: ETCD_NAME
- 這個值被作為這個節(jié)點(diǎn)自己的入口中被引用姚淆, 在
--initial-cluster
標(biāo)記(例如,default=http://localhost:2380
)中列出孕蝉。如果使用 static bootstrapping,這需要匹配在標(biāo)記中使用的key。當(dāng)使用發(fā)現(xiàn)時(shí)腌逢,每個成員必須有唯一名字降淮。Hostname
或machine-id
可以是一個好選擇。
—data-dir
- 到數(shù)據(jù)目錄的路徑.
- 默認(rèn): “${name}.etcd”
- 環(huán)境變量: ETCD_DATA_DIR
—wal-dir
- 到專用的 wal 目錄的路徑搏讶。如果這個標(biāo)記被設(shè)置佳鳖,etcd將寫 WAL 文件到 walDIR 而不是 dataDIR。這容許使用專門的硬盤窍蓝,并幫助避免日志和其他IO操作之間的IO競爭腋颠。
- 默認(rèn): “”
- 環(huán)境變量: ETCD_WAL_DIR
—snapshot-count
- 觸發(fā)快照到硬盤的已提交事務(wù)的數(shù)量.
- 默認(rèn): “10000”
- 環(huán)境變量: ETCD_SNAPSHOT_COUNT
—heartbeat-interval
- 心跳間隔時(shí)間 (單位 毫秒).
- 默認(rèn): “100”
- 環(huán)境變量: ETCD_HEARTBEAT_INTERVAL
—election-timeout
- 選舉的超時(shí)時(shí)間(單位 毫秒). 閱讀 Documentation/tuning.md 得到更多詳情.
- 默認(rèn): “1000”
- 環(huán)境變量: ETCD_ELECTION_TIMEOUT
—listen-peer-urls
用于監(jiān)聽伙伴通訊的URL列表。這個標(biāo)記告訴 etcd 在特定的 scheme://IP:port 組合上從它的伙伴接收進(jìn)來的請求吓笙。scheme 可是 http 或者 https淑玫。如果IP被指定為0.0.0.0,etcd 在所有接口上監(jiān)聽給定端口。如果給定IP地址和端口面睛,etcd 將監(jiān)聽在給定端口和接口上絮蒿。多個URL可以用來指定多個地址和端口來監(jiān)聽。etcd將從任何列出來的地址和端口上應(yīng)答請求叁鉴。
- 默認(rèn): “http://localhost:2380“
- 環(huán)境變量: ETCD_LISTEN_PEER_URLS
- 例子: “http://10.0.0.1:2380“
- 無效例子: “http://example.com:2380“ (對于綁定域名無效)
—listen-client-urls
用于監(jiān)聽客戶端通訊的URL列表土涝。這個標(biāo)記告訴 etcd 在特定的 scheme://IP:port 組合上從客戶端接收進(jìn)來的請求。scheme 可是 http 或者 https幌墓。如果IP被指定為 0.0.0.0,etcd 在所有接口上監(jiān)聽給定端口但壮。如果給定IP地址和端口,etcd 將監(jiān)聽在給定端口和接口上常侣。多個 URL 可以用來指定多個地址和端口來監(jiān)聽蜡饵。etcd 將從任何列出來的地址和端口上應(yīng)答請求。
- 默認(rèn): “http://localhost:2379“
- 環(huán)境變量: ETCD_LISTEN_CLIENT_URLS
- 例子: “http://10.0.0.1:2379“
- 無效例子: “http://example.com:2379“ (對于綁定域名無效)
—max-snapshots
- 保持的快照文件的最大數(shù)量 (0 表示不限制)
- 默認(rèn): 5
- 環(huán)境變量: ETCD_MAX_SNAPSHOTS
- 對于 windows 用戶默認(rèn)不限制胳施,而且推薦手工降低到5(或者某些安全偏好)溯祸。
—max-wals
- 保持的 wal 文件的最大數(shù)量 (0 表示不限制)
- 默認(rèn): 5
- 環(huán)境變量: ETCD_MAX_WALS
- 對于windows用戶默認(rèn)不限制,而且推薦手工降低到5(或者某些安全偏好)。
—cors
- 逗號分割的 origin 白名單焦辅,用于 CORS (cross-origin resource sharing/跨 origin 資源共享).
- 默認(rèn): none
- 環(huán)境變量: ETCD_CORS
集群標(biāo)記
--initial
前綴標(biāo)記用于啟動(static bootstrap, [discovery-service bootstrap])(clustering.md#discovery) 或 runtime reconfiguration) 新成員, 然后當(dāng)重新啟動一個已有的成員時(shí)被忽略博杖。
--discovery
前綴標(biāo)記在使用發(fā)現(xiàn)服務(wù)需要設(shè)置.
—initial-advertise-peer-urls
列出這個成員的伙伴 URL 以便通告給集群的其他成員。這些地方用于在集群中通訊 etcd 數(shù)據(jù)筷登。至少有一個必須對所有集群成員可以路由的剃根。這些 URL 可以包含域名。
- 默認(rèn): “http://localhost:2380“
- 環(huán)境變量: ETCD_INITIAL_ADVERTISE_PEER_URLS
- 例子: “http://example.com:2380, http://10.0.0.1:2380“
—initial-cluster
為啟動初始化集群配置仆抵。
- 默認(rèn): “default=http://localhost:2380“
- 環(huán)境變量: ETCD_INITIAL_CLUSTER
- key是每個提供的節(jié)點(diǎn)的
--name
標(biāo)記的值. 默認(rèn)為這個 key 使用default
因?yàn)檫@是--name
標(biāo)記的默認(rèn)值.
—initial-cluster-state
初始化集群狀態(tài)(“new” or “existing”)跟继。在初始化靜態(tài)(initial static)或者 DNS 啟動 (DNS bootstrapping) 期間為所有成員設(shè)置為 new
。如果這個選項(xiàng)被設(shè)置為 existing
, etcd 將試圖加入已有的集群镣丑。如果設(shè)置為錯誤的值舔糖,etcd 將嘗試啟動但安全失敗。
- 默認(rèn): “new”
- 環(huán)境變量: ETCD_INITIAL_CLUSTER_STATE
—initial-cluster-token
在啟動期間用于 etcd 集群的初始化集群記號(cluster token)莺匠。
- 默認(rèn): “etcd-cluster”
- 環(huán)境變量: ETCD_INITIAL_CLUSTER_TOKEN
—advertise-client-urls
列出這個成員的客戶端URL金吗,通告給集群中的其他成員。這些 URL 可以包含域名趣竣。
- 默認(rèn): “http://localhost:2379“
- 環(huán)境變量: ETCD_ADVERTISE_CLIENT_URLS
- 例子: “http://example.com:2379, http://10.0.0.1:2379“
小心摇庙,如果來自集群成員的通告 URL 比如 http://localhost:2379 正在使用 etcd 的 proxy 特性。這將導(dǎo)致循環(huán)遥缕,因?yàn)榇韺⑥D(zhuǎn)發(fā)請求給它自己直到它的資源(內(nèi)存卫袒,文件描述符)最終耗盡。
—discovery
用于啟動集群的發(fā)現(xiàn)URL单匣。
- 默認(rèn): none
- 環(huán)境變量: ETCD_DISCOVERY
—discovery-srv
用于啟動集群的 DNS srv 域名夕凝。
- 默認(rèn): none
- 環(huán)境變量: ETCD_DISCOVERY_SRV
—discovery-fallback
當(dāng)發(fā)現(xiàn)服務(wù)失敗時(shí)的期待行為(“exit” 或 “proxy”). “proxy” 僅支持 v2 API.
- 默認(rèn): “proxy”
- 環(huán)境變量: ETCD_DISCOVERY_FALLBACK
—discovery-proxy
用于請求到發(fā)現(xiàn)服務(wù)的 HTTP 代理。
- 默認(rèn): none
- 環(huán)境變量: ETCD_DISCOVERY_PROXY
—strict-reconfig-check
拒絕將導(dǎo)致法定人數(shù)丟失的重配置請求户秤。
- 默認(rèn): false
- 環(huán)境變量: ETCD_STRICT_RECONFIG_CHECK
—auto-compaction-retention
自動壓縮用于 mvcc 鍵值存儲的保持力(注:應(yīng)該指多版本保存)码秉,單位小時(shí)。 0 表示關(guān)閉自動壓縮鸡号。
- 默認(rèn): 0
- 環(huán)境變量: ETCD_AUTO_COMPACTION_RETENTION
注: 對于服務(wù)注冊等只保存運(yùn)行時(shí)動態(tài)信息的場合转砖,建議開啟。完全沒有理由損失存儲空間和效率來保存之前的版本信息鲸伴。推薦設(shè)置為1,每小時(shí)壓縮一次府蔗。
Proxy flags
--proxy
前綴標(biāo)記配置 etcd 以 代理模式 運(yùn)行. “proxy” 僅支持 v2 API.
—proxy
代理模式設(shè)置(“off”, “readonly” or “on”).
- 默認(rèn): “off”
- 環(huán)境變量: ETCD_PROXY
—proxy-failure-wait
在被重新考慮之前,終端將被視為失敗狀態(tài)的時(shí)間(單位 毫秒)汞窗,用于被代理的請求姓赤。
- 默認(rèn): 5000
- 環(huán)境變量: ETCD_PROXY_FAILURE_WAIT
—proxy-refresh-interval
終端刷新間隔時(shí)間(單位 毫秒)
- 默認(rèn): 30000
- 環(huán)境變量: ETCD_PROXY_REFRESH_INTERVAL
—proxy-dial-timeout
請求的撥號(dial)超時(shí)時(shí)間(單位 毫秒),或者 0 禁用超時(shí)杉辙。
- 默認(rèn): 1000
- 環(huán)境變量 ETCD_PROXY_DIAL_TIMEOUT
—proxy-write-timeout
寫操作的超時(shí)時(shí)間(單位 毫秒)模捂,或者 0 禁用超時(shí)。
- 默認(rèn): 5000
- 環(huán)境變量: ETCD_PROXY_WRITE_TIMEOUT
—proxy-read-timeout
讀操作的超時(shí)時(shí)間(單位 毫秒)蜘矢,或者 0 禁用超時(shí)狂男。
不要修改這個值,如果在使用 watch品腹,因?yàn)?watch 將使用 long polling 請求岖食。
- 默認(rèn): 0
- 環(huán)境變量: ETCD_PROXY_READ_TIMEOUT
安全標(biāo)記
安全標(biāo)記用于幫助 搭建安全 etcd 集群.
—ca-file [棄用]
客戶端服務(wù)器 TLS 證書文件的路徑。--ca-file ca.crt
可以被 --trusted-ca-file ca.crt --client-cert-auth
替代舞吭,而 etcd 同樣工作泡垃。
- 默認(rèn): none
- 環(huán)境變量: ETCD_CA_FILE
—cert-file
客戶端服務(wù)器 TLS 證書文件的路徑。
- 默認(rèn): none
- 環(huán)境變量: ETCD_CERT_FILE
—key-file
客戶端服務(wù)器 TLS key 文件的路徑羡鸥。
- 默認(rèn): none
- 環(huán)境變量: ETCD_KEY_FILE
—client-cert-auth
開啟客戶端證書認(rèn)證蔑穴。
- 默認(rèn): false
- 環(huán)境變量: ETCD_CLIENT_CERT_AUTH
—trusted-ca-file
客戶端服務(wù)器 TLS 信任證書文件的路徑。
- 默認(rèn): none
- 環(huán)境變量: ETCD_TRUSTED_CA_FILE
—auto-tls
使用生成證書的客戶端 TLS惧浴。
- 默認(rèn): false
- 環(huán)境變量: ETCD_AUTO_TLS
—peer-ca-file [棄用]
peer server TLS 證書文件的路徑. --peer-ca-file ca.crt
可以被 --peer-trusted-ca-file ca.crt --peer-client-cert-auth
替代存和,而 etcd 同樣工作.
- 默認(rèn): none
- 環(huán)境變量: ETCD_PEER_CA_FILE
—peer-cert-file
peer server TLS 證書文件的路徑.
- 默認(rèn): none
- 環(huán)境變量: ETCD_PEER_CERT_FILE
—peer-key-file
peer server TLS key 文件的路徑.
- 默認(rèn): none
- 環(huán)境變量: ETCD_PEER_KEY_FILE
—peer-client-cert-auth
開啟 peer client 證書驗(yàn)證.
- 默認(rèn): false
- 環(huán)境變量: ETCD_PEER_CLIENT_CERT_AUTH
—peer-trusted-ca-file
peer server TLS 信任證書文件路徑.
- 默認(rèn): none
- 環(huán)境變量: ETCD_PEER_TRUSTED_CA_FILE
—peer-auto-tls
使用生成證書的peer TLS。
- 默認(rèn): false
- 環(huán)境變量: ETCD_PEER_AUTO_TLS
日志標(biāo)記
—debug
設(shè)置所有子包的默認(rèn)日志級別為 DEBUG
- 默認(rèn): false (所有包為 INFO)
- 環(huán)境變量: ETCD_DEBUG
—log-package-levels
設(shè)置個人 etcd 子包為指定日志級別衷旅。例如 etcdserver=WARNING,security=DEBUG
- 默認(rèn): none (所有包為 INFO)
- 環(huán)境變量: ETCD_LOG_PACKAGE_LEVELS
不安全的標(biāo)記
請謹(jǐn)慎使用不安全標(biāo)記捐腿,因?yàn)樗鼘⒋蚱埔恢滦詤f(xié)議提供的保證。
例如柿顶,它可能驚慌茄袖,如果集群中的其他成員還活著。
當(dāng)使用這些標(biāo)記時(shí)嘁锯,遵循操作指南宪祥。
—force-new-cluster
強(qiáng)制創(chuàng)建新的單一成員的集群。它提交配置修改來強(qiáng)制移除集群中的所有現(xiàn)有成員然后添加自身猪钮。當(dāng) restore a backup 時(shí)需要設(shè)置品山。
- 默認(rèn): false
- 環(huán)境變量: ETCD_FORCE_NEW_CLUSTER
其他標(biāo)記
—version
打印版本并退出.
- 默認(rèn): false
—config-file
從文件中裝載服務(wù)器配置.
- 默認(rèn): none
分析標(biāo)記
—enable-pprof
通過 HTTP 服務(wù)器開啟運(yùn)行時(shí)分析數(shù)據(jù)。地址是 client URL + “/debug/pprof/“
- 默認(rèn): false
—metrics
- 為導(dǎo)出的度量烤低,設(shè)置詳情的等級肘交,指定 ‘extensive’ 來包含柱狀圖
- 默認(rèn): basic