etcd配置文件詳解


一 示例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的名稱

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

 

二	配置項解析
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