Etcd 配置詳解

配置標(biāo)記

etcd 可以通過(guò)命令行標(biāo)記和環(huán)境變量來(lái)配置。命令行上設(shè)置的選項(xiàng)優(yōu)先于環(huán)境變量。

對(duì)于標(biāo)記 --my-flag 環(huán)境變量的格式是 ETCD_MY_FLAG。 適用于所有標(biāo)記。

正式的ectd端口 是 2379 用于客戶(hù)端連接,而 2380 用于伙伴通訊。etcd 端口可以設(shè)置為接受 TLS 通訊,non-TLS 通訊,或者同時(shí)有 TLS 和 non-TLS 通訊。

為了在 linux 啟動(dòng)試使用自定義設(shè)置自動(dòng)啟動(dòng) etcd ,強(qiáng)烈推薦使用 systemd單元。

成員標(biāo)記

—name

  • 成員的可讀性的名字.
  • 默認(rèn): “default”
  • 環(huán)境變量: ETCD_NAME
  • 這個(gè)值被作為這個(gè)節(jié)點(diǎn)自己的入口中被引用, 在 --initial-cluster 標(biāo)記(例如, default=http://localhost:2380)中列出。如果使用 static bootstrapping,這需要匹配在標(biāo)記中使用的key。當(dāng)使用發(fā)現(xiàn)時(shí),每個(gè)成員必須有唯一名字。Hostnamemachine-id 可以是一個(gè)好選擇。

—data-dir

  • 到數(shù)據(jù)目錄的路徑.
  • 默認(rèn): “${name}.etcd”
  • 環(huán)境變量: ETCD_DATA_DIR

—wal-dir

  • 到專(zhuān)用的 wal 目錄的路徑。如果這個(gè)標(biāo)記被設(shè)置,etcd將寫(xiě) WAL 文件到 walDIR 而不是 dataDIR。這容許使用專(zhuān)門(mén)的硬盤(pán),并幫助避免日志和其他IO操作之間的IO競(jìng)爭(zhēng)。
  • 默認(rèn): “”
  • 環(huán)境變量: ETCD_WAL_DIR

—snapshot-count

  • 觸發(fā)快照到硬盤(pán)的已提交事務(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)聽(tīng)伙伴通訊的URL列表。這個(gè)標(biāo)記告訴 etcd 在特定的 scheme://IP:port 組合上從它的伙伴接收進(jìn)來(lái)的請(qǐng)求。scheme 可是 http 或者 https。如果IP被指定為0.0.0.0,etcd 在所有接口上監(jiān)聽(tīng)給定端口。如果給定IP地址和端口,etcd 將監(jiān)聽(tīng)在給定端口和接口上。多個(gè)URL可以用來(lái)指定多個(gè)地址和端口來(lái)監(jiān)聽(tīng)。etcd將從任何列出來(lái)的地址和端口上應(yīng)答請(qǐng)求。

—listen-client-urls

用于監(jiān)聽(tīng)客戶(hù)端通訊的URL列表。這個(gè)標(biāo)記告訴 etcd 在特定的 scheme://IP:port 組合上從客戶(hù)端接收進(jìn)來(lái)的請(qǐng)求。scheme 可是 http 或者 https。如果IP被指定為 0.0.0.0,etcd 在所有接口上監(jiān)聽(tīng)給定端口。如果給定IP地址和端口,etcd 將監(jiān)聽(tīng)在給定端口和接口上。多個(gè) URL 可以用來(lái)指定多個(gè)地址和端口來(lái)監(jiān)聽(tīng)。etcd 將從任何列出來(lái)的地址和端口上應(yīng)答請(qǐng)求。

—max-snapshots

  • 保持的快照文件的最大數(shù)量 (0 表示不限制)
  • 默認(rèn): 5
  • 環(huán)境變量: ETCD_MAX_SNAPSHOTS
  • 對(duì)于 windows 用戶(hù)默認(rèn)不限制,而且推薦手工降低到5(或者某些安全偏好)。

—max-wals

  • 保持的 wal 文件的最大數(shù)量 (0 表示不限制)
  • 默認(rèn): 5
  • 環(huán)境變量: ETCD_MAX_WALS
  • 對(duì)于windows用戶(hù)默認(rèn)不限制,而且推薦手工降低到5(或者某些安全偏好)。

—cors

  • 逗號(hào)分割的 origin 白名單,用于 CORS (cross-origin resource sharing/跨 origin 資源共享).
  • 默認(rèn): none
  • 環(huán)境變量: ETCD_CORS

集群標(biāo)記

--initial 前綴標(biāo)記用于啟動(dòng)(static bootstrap, [discovery-service bootstrap])(clustering.md#discovery) 或 runtime reconfiguration) 新成員, 然后當(dāng)重新啟動(dòng)一個(gè)已有的成員時(shí)被忽略。

--discovery 前綴標(biāo)記在使用發(fā)現(xiàn)服務(wù)需要設(shè)置.

—initial-advertise-peer-urls

列出這個(gè)成員的伙伴 URL 以便通告給集群的其他成員。這些地方用于在集群中通訊 etcd 數(shù)據(jù)。至少有一個(gè)必須對(duì)所有集群成員可以路由的。這些 URL 可以包含域名。

—initial-cluster

為啟動(dòng)初始化集群配置。

  • 默認(rèn): “default=http://localhost:2380
  • 環(huán)境變量: ETCD_INITIAL_CLUSTER
  • key是每個(gè)提供的節(jié)點(diǎn)的 --name 標(biāo)記的值. 默認(rèn)為這個(gè) key 使用 default 因?yàn)檫@是 --name 標(biāo)記的默認(rèn)值.

—initial-cluster-state

初始化集群狀態(tài)(“new” or “existing”)。在初始化靜態(tài)(initial static)或者 DNS 啟動(dòng) (DNS bootstrapping) 期間為所有成員設(shè)置為 new 。如果這個(gè)選項(xiàng)被設(shè)置為 existing , etcd 將試圖加入已有的集群。如果設(shè)置為錯(cuò)誤的值,etcd 將嘗試啟動(dòng)但安全失敗。

  • 默認(rèn): “new”
  • 環(huán)境變量: ETCD_INITIAL_CLUSTER_STATE

—initial-cluster-token

在啟動(dòng)期間用于 etcd 集群的初始化集群記號(hào)(cluster token)。

  • 默認(rèn): “etcd-cluster”
  • 環(huán)境變量: ETCD_INITIAL_CLUSTER_TOKEN

—advertise-client-urls

列出這個(gè)成員的客戶(hù)端URL,通告給集群中的其他成員。這些 URL 可以包含域名。

小心,如果來(lái)自集群成員的通告 URL 比如 http://localhost:2379 正在使用 etcd 的 proxy 特性。這將導(dǎo)致循環(huán),因?yàn)榇韺⑥D(zhuǎn)發(fā)請(qǐng)求給它自己直到它的資源(內(nèi)存,文件描述符)最終耗盡。

—discovery

用于啟動(dòng)集群的發(fā)現(xiàn)URL。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_DISCOVERY

—discovery-srv

用于啟動(dòng)集群的 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

用于請(qǐng)求到發(fā)現(xiàn)服務(wù)的 HTTP 代理。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_DISCOVERY_PROXY

—strict-reconfig-check

拒絕將導(dǎo)致法定人數(shù)丟失的重配置請(qǐng)求。

  • 默認(rèn): false
  • 環(huán)境變量: ETCD_STRICT_RECONFIG_CHECK

—auto-compaction-retention

自動(dòng)壓縮用于 mvcc 鍵值存儲(chǔ)的保持力(注:應(yīng)該指多版本保存),單位小時(shí)。 0 表示關(guān)閉自動(dòng)壓縮。

  • 默認(rèn): 0
  • 環(huán)境變量: ETCD_AUTO_COMPACTION_RETENTION

注: 對(duì)于服務(wù)注冊(cè)等只保存運(yùn)行時(shí)動(dòng)態(tài)信息的場(chǎng)合,建議開(kāi)啟。完全沒(méi)有理由損失存儲(chǔ)空間和效率來(lá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í)間(單位 毫秒),用于被代理的請(qǐng)求。

  • 默認(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

請(qǐng)求的撥號(hào)(dial)超時(shí)時(shí)間(單位 毫秒),或者 0 禁用超時(shí)。

  • 默認(rèn): 1000
  • 環(huán)境變量 ETCD_PROXY_DIAL_TIMEOUT

—proxy-write-timeout

寫(xiě)操作的超時(shí)時(shí)間(單位 毫秒),或者 0 禁用超時(shí)。

  • 默認(rèn): 5000
  • 環(huán)境變量: ETCD_PROXY_WRITE_TIMEOUT

—proxy-read-timeout

讀操作的超時(shí)時(shí)間(單位 毫秒),或者 0 禁用超時(shí)。

不要修改這個(gè)值,如果在使用 watch,因?yàn)?watch 將使用 long polling 請(qǐng)求。

  • 默認(rèn): 0
  • 環(huán)境變量: ETCD_PROXY_READ_TIMEOUT

安全標(biāo)記

安全標(biāo)記用于幫助 搭建安全 etcd 集群.

—ca-file [棄用]

客戶(hù)端服務(wù)器 TLS 證書(shū)文件的路徑。--ca-file ca.crt 可以被 --trusted-ca-file ca.crt --client-cert-auth 替代,而 etcd 同樣工作。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_CA_FILE

—cert-file

客戶(hù)端服務(wù)器 TLS 證書(shū)文件的路徑。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_CERT_FILE

—key-file

客戶(hù)端服務(wù)器 TLS key 文件的路徑。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_KEY_FILE

—client-cert-auth

開(kāi)啟客戶(hù)端證書(shū)認(rèn)證。

  • 默認(rèn): false
  • 環(huán)境變量: ETCD_CLIENT_CERT_AUTH

—trusted-ca-file

客戶(hù)端服務(wù)器 TLS 信任證書(shū)文件的路徑。

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_TRUSTED_CA_FILE

—auto-tls

使用生成證書(shū)的客戶(hù)端 TLS。

  • 默認(rèn): false
  • 環(huán)境變量: ETCD_AUTO_TLS

—peer-ca-file [棄用]

peer server TLS 證書(shū)文件的路徑. --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 證書(shū)文件的路徑.

  • 默認(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

開(kāi)啟 peer client 證書(shū)驗(yàn)證.

  • 默認(rèn): false
  • 環(huán)境變量: ETCD_PEER_CLIENT_CERT_AUTH

—peer-trusted-ca-file

peer server TLS 信任證書(shū)文件路徑.

  • 默認(rèn): none
  • 環(huán)境變量: ETCD_PEER_TRUSTED_CA_FILE

—peer-auto-tls

使用生成證書(shū)的peer TLS。

  • 默認(rèn): false
  • 環(huán)境變量: ETCD_PEER_AUTO_TLS

日志標(biāo)記

—debug

設(shè)置所有子包的默認(rèn)日志級(jí)別為 DEBUG

  • 默認(rèn): false (所有包為 INFO)
  • 環(huán)境變量: ETCD_DEBUG

—log-package-levels

設(shè)置個(gè)人 etcd 子包為指定日志級(jí)別。例如 etcdserver=WARNING,security=DEBUG

  • 默認(rèn): none (所有包為 INFO)
  • 環(huán)境變量: ETCD_LOG_PACKAGE_LEVELS

不安全的標(biāo)記

請(qǐng)謹(jǐn)慎使用不安全標(biāo)記,因?yàn)樗鼘⒋蚱埔恢滦詤f(xié)議提供的保證。

例如,它可能驚慌,如果集群中的其他成員還活著。

當(dāng)使用這些標(biāo)記時(shí),遵循操作指南。

—force-new-cluster

強(qiáng)制創(chuàng)建新的單一成員的集群。它提交配置修改來(lái)強(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

通過(guò) HTTP 服務(wù)器開(kāi)啟運(yùn)行時(shí)分析數(shù)據(jù)。地址是 client URL + “/debug/pprof/“

  • 默認(rèn): false

—metrics

  • 為導(dǎo)出的度量,設(shè)置詳情的等級(jí),指定 ‘extensive’ 來(lái)包含柱狀圖
  • 默認(rèn): basic
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容