ETCD配置文件详解

etcd可通过配置文件、各种命令行标志和环境变量进行配置。

一个可复用的配置文件是一个YAML文件,其中包含下面描述的一个或多个命令行标志的名称和值。为了使用这个文件,需要将文件路径作为值指定给--config-file标志。示例配置文件可以用作创建新配置文件的起点,根据需要进行调整。

命令行上设置的选项会覆盖环境变量中的设置。如果提供了配置文件,则其他命令行标志和环境变量将被忽略。例如,etcd --config-file etcd.conf.yml.sample --data-dir /tmp会忽略--data-dir标志。

标志对应的环境变量格式为ETCD_MY_FLAG,这适用于所有标志。

etcd的官方端口是2379用于客户端请求2380用于集群成员(peers)通信。etcd端口可以设置为接受TLS流量、非TLS流量或同时接受TLS和非TLS流量。

要在Linux上使用自定义设置在启动时自动启动etcd,强烈建议使用systemd单元。

成员标志

--name


此成员的易读名称。
默认值:“default”
环境变量:ETCD_NAME
此值被引用为在--initial-cluster标志中列出的此节点自己的条目(例如,default=http://localhost:2380)。如果使用静态引导,则需要与标志中使用的键匹配。在使用发现时,每个成员都必须有唯一的名称。主机名或机器ID可以是不错的选择。

--data-dir


数据目录的路径。
默认值:“${name}.etcd”
环境变量:ETCD_DATA_DIR

--wal-dir


专用WAL目录的路径。如果设置了此标志,etcd会将WAL文件写入walDir而不是dataDir。这允许使用专用磁盘,并有助于避免日志记录和其他IO操作之间的IO竞争。
默认值:""
环境变量:ETCD_WAL_DIR

--snapshot-count


触发磁盘快照的已提交事务数量。
默认值:“100000”
环境变量:ETCD_SNAPSHOT_COUNT

--heartbeat-interval


心跳间隔的时间(以毫秒为单位)。
默认值:“100”
环境变量:ETCD_HEARTBEAT_INTERVAL

--election-timeout


选举超时的时间(以毫秒为单位)。详细信息请参阅Documentation/tuning.md。
默认值:“1000”
环境变量:ETCD_ELECTION_TIMEOUT

--initial-election-tick-advance


是否在启动时快速前进初始选举滴答以加快选举。当它为true时,本地成员会快速前进选举滴答以加速“初始”领导者选举触发。这有利于较大的选举滴答的情况。禁用此功能会减慢跨数据中心部署的初始引导过程。通过以初始引导速度变慢为代价配置此标志来做出自己的权衡。
默认值:true
环境变量:ETCD_INITIAL_ELECTION_TICK_ADVANCE

--listen-peer-urls


用于集群成员流量的监听URL列表。此标志告诉etcd在指定的scheme://IP:port组合上接受来自其对等方的传入请求。方案可以是http或https。另外,对于unix套接字,可以使用unix://<file-path>或unixs://<file-path>。如果指定0.0.0.0作为IP,etcd将在所有接口上的给定端口上监听。如果同时提供了IP地址和端口,etcd将在给定的端口和接口上监听。可以使用多个URL来指定要监听的多个地址和端口。etcd将响应来自任何列出地址和端口的请求。


默认值:“http://localhost:2380”

环境变量:ETCD_LISTEN_PEER_URLS
示例:“http://10.0.0.1:2380”
无效示例:“http://example.com:2380”(域名对于绑定无效)

--listen-client-urls


用于客户端流量的监听URL列表。此标志告诉etcd在指定的scheme://IP:port组合上接受来自客户端的传入请求。 Scheme可以是http或https。另外,对于unix套接字,可以使用unix://<file-path>或unixs://<file-path>。如果指定0.0.0.0作为IP,etcd将在所有接口上的给定端口上监听。如果同时提供了IP地址和端口,etcd将在给定的端口和接口上监听。可以使用多个URL来指定要监听的多个地址和端口。etcd将响应来自任何列出地址和端口的请求。
默认值:“http://localhost:2379”
环境变量:ETCD_LISTEN_CLIENT_URLS
示例:“http://10.0.0.1:2379”
无效示例:“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

--backend-batch-limit


BackendBatchLimit是在提交后端事务之前的最大操作数。
默认值:0
环境变量:ETCD_BACKEND_BATCH_LIMIT

--backend-batch-interval


BackendBatchInterval是在提交后端事务之前的最大时间。
默认值:0
环境变量:ETCD_BACKEND_BATCH_INTERVAL

--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

集群标志(Flags)说明

--initial-advertise-peer-urls--initial-cluster--initial-cluster-state--initial-cluster-token标志用于引导(静态引导、发现服务引导或运行时重新配置)新成员,并在重启现有成员时被忽略。

--discovery 前缀标志:在使用发现服务时,需要设置--discovery前缀标志。

--initial-advertise-peer-urls


此成员要向集群其余部分通告的对等URL列表。这些地址用于在集群中传递etcd数据。至少有一个地址必须对所有集群成员可路由。这些URL可以包含域名。
默认值:“http://localhost:2380”
环境变量:ETCD_INITIAL_ADVERTISE_PEER_URLS
示例:“http://example.com:2380, http://10.0.0.1:2380”

--initial-cluster

  • 引导时的初始集群配置。
  • 默认值:“default=http://localhost:2380”
  • 环境变量:ETCD_INITIAL_CLUSTER
  • 键是每个提供的节点的--name标志的值。默认使用default作为键,因为这是--name标志的默认值。

--initial-cluster-state


初始集群状态(“new”或“existing”)。在初始静态或DNS引导期间,为所有在场成员设置为“new”。如果此选项设置为“existing”,etcd将尝试加入现有集群。如果设置了错误的值,etcd将尝试启动但会安全失败。
默认值:“new”
环境变量:ETCD_INITIAL_CLUSTER_STATE

--initial-cluster-token


引导时etcd集群的初始集群令牌。
默认值:“etcd-cluster”
环境变量:ETCD_INITIAL_CLUSTER_TOKEN

--advertise-client-urls


此成员要向集群其余部分通告的客户端URL列表。这些URL可以包含域名。
默认值:“http://localhost:2379”
环境变量:ETCD_ADVERTISE_CLIENT_URLS
示例:“http://example.com:2379, http://10.0.0.1:2379”
注意:如果从集群成员通告如http://localhost:2379这样的URL,并且正在使用etcd的代理功能,请小心。这会导致循环,因为代理会将请求转发给自己,直到其资源(内存、文件描述符)最终被耗尽。

--discovery


用于引导集群的发现URL。
默认值:""
环境变量:ETCD_DISCOVERY

--discovery-srv


用于引导集群的DNS srv域。
默认值:""
环境变量:ETCD_DISCOVERY_SRV

--discovery-fallback


发现服务失败时的预期行为(“exit”或“proxy”)。“proxy”仅支持v2 API。
默认值:“proxy”
环境变量:ETCD_DISCOVERY_FALLBACK

--discovery-proxy


用于发现服务流量的HTTP代理。
默认值:""
环境变量:ETCD_DISCOVERY_PROXY

--strict-reconfig-check


拒绝会导致失去法定人数的重新配置请求。
默认值:true
环境变量:ETCD_STRICT_RECONFIG_CHECK

--auto-compaction-retention


mvcc键值存储的自动压缩保留时间(小时)。0表示禁用自动压缩。
默认值:0
环境变量:ETCD_AUTO_COMPACTION_RETENTION

--auto-compaction-mode


解释“auto-compaction-retention”之一:“periodic”、“revision”。“periodic”表示基于持续时间的保留,如果未提供时间单位,则默认为小时(例如“5m”)。“revision”表示基于修订号的保留。
默认值:periodic
环境变量:ETCD_AUTO_COMPACTION_MODE

--enable-v2


接受etcd V2客户端请求。
默认值:true
环境变量:ETCD_ENABLE_V2

代理标志(Proxy Flags)

--proxy prefix 标志配置etcd以代理模式运行。“proxy”仅支持v2 API。

--proxy


代理模式设置(“off”、“readonly”或“on”)。
默认:“off”
环境变量:ETCD_PROXY

--proxy-failure-wait


在重新考虑代理请求之前,端点将在失败状态下保持的时间(以毫秒为单位)。
默认:5000
环境变量:ETCD_PROXY_FAILURE_WAIT

--proxy-refresh-interval


端点刷新间隔的时间(以毫秒为单位)。
默认: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

安全标志(Security Flags)

这些安全标志有助于构建安全的etcd集群。

(注意:部分安全标志已被弃用,如--ca-file和--peer-ca-file,建议使用--trusted-ca-file和--peer-trusted-ca-file等替代选项。)

日志标志(Logging Flags)

--logger


从v3.4版本开始可用
指定使用结构化日志的“zap”或“capnslog”。
默认:capnslog
环境变量:ETCD_LOGGER

--log-outputs


指定“stdout”或“stderr”以跳过systemd下的journald日志记录,或列出逗号分隔的输出目标。
默认:default(在zap日志迁移期间,v3.4版本默认使用“stderr”配置)
环境变量:ETCD_LOG_OUTPUTS

--debug


将所有子包的默认日志级别降低为DEBUG。
默认:false(所有包为INFO)
环境变量:ETCD_DEBUG

--log-package-levels


将etcd的各个子包设置为特定的日志级别。例如:etcdserver=WARNING,security=DEBUG
默认:""(所有包为INFO)
环境变量:ETCD_LOG_PACKAGE_LEVELS

不安全标志(Unsafe Flags)

在使用不安全标志时请务必小心,因为它会破坏共识协议所提供的保证。例如,如果集群中的其他成员仍然存活,它可能会导致panic。在使用这些标志时,请遵循相关说明。

--force-new-cluster


强制创建一个新的单成员集群。它通过提交配置更改来强制删除集群中的所有现有成员并添加自己,但强烈不建议这样做。请查阅灾难恢复文档以了解首选的v3恢复程序。
默认:false
环境变量:ETCD_FORCE_NEW_CLUSTER

其他标志(Miscellaneous Flags)

--version


打印版本并退出。
默认:false

--config-file


从文件中加载服务器配置。
默认:""
示例:示例配置文件
环境变量:ETCD_CONFIG_FILE

性能分析标志(Profiling Flags)

--enable-pprof


通过HTTP服务器启用运行时性能分析数据。地址位于客户端URL + “/debug/pprof/”。
默认:false
环境变量:ETCD_ENABLE_PPROF

--metrics


设置导出指标的详细程度,指定’extensive’以包含直方图指标。
默认:basic
环境变量:ETCD_METRICS

--listen-metrics-urls


要监听的额外URL列表,这些URL将对/metrics和/health端点做出响应。
默认:""
环境变量:ETCD_LISTEN_METRICS_URLS

认证标志(Auth Flags)

--auth-token


指定令牌类型和令牌特定选项,特别是针对JWT。其格式为“type,var1=val1,var2=val2,…”。可能的类型为“simple”或“jwt”。可能的变量包括用于指定jwt签名方法的“sign-method”(其可能值为“ES256”、“ES384”、“ES512”、“HS256”、“HS384”、“HS512”、“RS256”、“RS384”、“RS512”、“PS256”、“PS384”或“PS512”)、用于指定验证jwt的公钥路径的“pub-key”、用于指定签名jwt的私钥路径的“priv-key”以及用于指定jwt令牌TTL的“ttl”。
对于非对称算法(“RS”、“PS”、“ES”),公钥是可选的,因为私钥包含足够的信息来签名和验证令牌。
JWT的示例选项:“--auth-token jwt,pub-key=app.rsa.pub,priv-key=app.rsa,sign-method=RS512,ttl=10m”
默认:“simple”
环境变量:ETCD_AUTH_TOKEN

--bcrypt-cost


指定用于哈希认证密码的bcrypt算法的成本/强度。有效值在4到31之间。
默认:10
(注意:环境变量不支持此标志)

实验性标志(Experimental Flags)

--experimental-backend-bbolt-freelist-type


etcd后端(bboltdb)使用的freelist类型(支持array和map类型)。
默认:array
环境变量:ETCD_EXPERIMENTAL_BACKEND_BBOLT_FREELIST_TYPE

--experimental-corrupt-check-time


集群腐败检查通过之间的时间间隔。
默认:0s
环境变量:ETCD_EXPERIMENTAL_CORRUPT_CHECK_TIME

参考 

Configuration flags | etcd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13614.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【金融风控】特征评估与筛选详解

内容介绍 掌握单特征分析的衡量指标 知道 IV&#xff0c;PSI等指标含义 知道多特征筛选的常用方法 掌握Boruta,VIF,RFE,L1等特征筛选的使用方法 【理解】单特征分析 什么是好特征 从几个角度衡量&#xff1a;覆盖度&#xff0c;区分度&#xff0c;相关性&#xff0c;稳定…

LeetCode面试经典150题|228.汇总区间

给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说&#xff0c;nums 的每个元素都恰好被某个区间范围所覆盖&#xff0c;并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b] 应该按…

new Object到底占用多少内存?

前言 通过 JOL 工具&#xff0c;深入剖析对象头、实例数据以及内存对齐的具体细节&#xff0c;了解 JVM 是如何管理和优化内存的。使用 JOL&#xff0c;验证内存结构&#xff0c;直观地观察 JVM 参数&#xff08;如对象指针压缩、类指针压缩等&#xff09;对对象布局的影响。 …

深入理解接口测试:实用指南与最佳实践5.0(二)

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

基于Java+SpringBoot宠物管理系统

一、作品包含 源码数据库设计文档全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据库&…

PYNQ 框架 - 中断(INTR)驱动

目录 1. 简介 2. 分析 2.1 Block Design 2.2 AXI Timer 2.2.1 IP 基本信息 2.2.2 IP 地址空间 2.2.3 级联模式 2.2.4 生成/捕获模式 2.3 AXI Interrupt 2.3.1 IP 基本信息 2.3.2 IP 地址空间 2.3.3 相关概念 2.3.4 参数配置 2.3.5 中断确认寄存器 3. PYNQ 代码 …

使用runtime/pprof包进行Go程序性能调优的实战教程

使用runtime/pprof包进行Go程序性能调优的实战教程 引言基本概念什么是runtime/pprof使用场景 安装和设置环境要求导入runtime/pprof包 基本用法创建和启动一个新的profile停止和销毁一个profile CPU Profiling启动CPU profiling停止CPU profiling分析CPU profiling数据 内存Pr…

深度探秘 VGG 网络:从原理到应用的视觉传奇

VGG 网络的原理 一、整体架构 VGG&#xff08;Visual Geometry Group&#xff09;网络是一种深度卷积神经网络&#xff0c;其显著特点是简洁而高效的架构设计。VGG 网络主要由卷积层、池化层和全连接层组成。 卷积层&#xff1a; 如前所述&#xff0c;VGG 大量使用 的小卷积…

为什么我搞量化分析要特别关注行业产业链

因为看了这本书理论书。我都是用现成的理论来传串起来的。每一步都是背后都有现成的理论支持支撑。虽然看着简单&#xff0c;我这个工具策略参考了投资行为心理学。主要是为了我量身定做的。我也是刚刚研究的新手&#xff0c;碰到的很多问题很多人应该也碰到&#xff0c;就把这…

电商数据接口||淘宝|京东商品详情参数对比

淘宝/天猫获得淘宝商品详情 API 返回值说明 item_get-获得淘宝商品详情 taobao.item_get 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中…

Spring Security 认证流程,长话简说

一、代码先行 1、设计模式 SpringSecurity 采用的是 责任链 的设计模式&#xff0c;是一堆过滤器链的组合&#xff0c;它有一条很长的过滤器链。 不过我们不需要去仔细了解每一个过滤器的含义和用法,只需要搞定以下几个问题即可&#xff1a;怎么登录、怎么校验账户、认证失败…

HTMLCSS 打造的酷炫菜单选项卡

效果演示 具有视觉吸引力的菜单选项 HTML <div class"card"><ul><li class"iso-pro"><span></span><span></span><span></span><a href""><svgviewBox"0 0 320 512&quo…

【linux】网络基础 ---- 传输层

1. UDP协议 &#xff08;一&#xff09;UDP协议端格式 注意&#xff1a; 16位UDP长度, 表示整个数据报(UDP首部UDP数据)的最大长度16位UDP检验和&#xff0c;能判断是否出现数据丢失等问题如果校验和出错, 就会直接丢弃 UDP报头本质上也是一个结构体&#xff1a; 操作系统内有…

软件包管理

软件安装 软件包管理器 APT&#xff08;Advanced Package Tool&#xff09;&#xff1a; 发行版&#xff1a;主要用于 Debian 及其衍生版&#xff08;如 Ubuntu&#xff09;。 常用命令&#xff1a; apt-get install &#xff1a;安装软件包。 apt-get update&#xff1a;更新…

[项目代码] YOLOv5 铁路工人安全帽安全背心识别 [目标检测]

YOLOv5是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv5具有更高的…

Linux逻辑卷

文章目录 逻辑卷 &#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Linux专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年11月12日11点09分 逻辑卷 LVM逻辑卷管理是Linux环境中对磁盘分区进行管理的一种机制&#xff0c;建立在硬盘和分区之…

【设计模式】创建型设计模式-工厂模式的实现

工厂模式实现 定义例子UML类图理解Java代码实现总结 定义 工厂方法模式定义了一个接口用于创建对象&#xff0c;该模式由子类决定实例化哪个工厂类。该模式把类的实例化推迟到了子类。 例子 通过一个公共的类方法来管理画图对象的创建。 UML类图理解 Java代码实现 定义接口…

Spring Boot实战:编程训练系统开发手册

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理编程训练系统的相关信息成为必然。开发合适…

方案丨车险保单OCR:3秒钟完成保单审核

在涉及车辆交易的各种情况下&#xff0c;记录和管理车险保单信息是一项必不可少的任务。然而&#xff0c;面对数量庞大的电子保单&#xff0c;传统的手工录入方式显得尤为低效——它不仅消耗大量时间&#xff0c;而且容易出现错误&#xff0c;这不仅影响了用户的满意度&#xf…

性能测试|JMeter接口与性能测试项目

前言 在软件开发和运维过程中&#xff0c;接口性能测试是一项至关重要的工作。JMeter作为一款开源的Java应用&#xff0c;被广泛用于进行各种性能测试&#xff0c;包括接口性能测试。本文将详细介绍如何使用JMeter进行接口性能测试的过程和步骤。 JMeter是Apache组织开发的基…