<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>操作指南 on PIG.CENTER</title><link>https://pig.center/zh/docs/etcd/op-guide/</link><description>Recent content in 操作指南 on PIG.CENTER</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 08 Sep 2026 21:29:01 +0800</lastBuildDate><atom:link href="https://pig.center/zh/docs/etcd/op-guide/index.xml" rel="self" type="application/rss+xml"/><item><title>配置选项</title><link>https://pig.center/zh/docs/etcd/op-guide/configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/configuration/</guid><description>&lt;p&gt;可以通过以下方式配置 etcd：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="#command-line-flags"&gt;命令行标志&lt;/a&gt;&#10;&lt;/strong&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;环境变量&lt;/strong&gt;：每个标志都有一个对应的环境变量，其名称与标志相同，但前缀为 &lt;code&gt;ETCD_&lt;/code&gt;，并以全大写和 [蛇形命名法][] 格式化。例如，&lt;code&gt;--some-flag&lt;/code&gt; 对应 &lt;code&gt;ETCD_SOME_FLAG&lt;/code&gt;。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="#configuration-file"&gt;配置文件&lt;/a&gt;&#10;&lt;/strong&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="td-callout td-callout--warning" role="note"&gt;&#10; &lt;div class="td-callout__title"&gt;&lt;i class="td-callout__icon fa-solid fa-triangle-exclamation" aria-hidden="true"&gt;&lt;/i&gt;&lt;span class="td-callout__label"&gt;警告&lt;/span&gt;&lt;/div&gt;&#10; &lt;div class="td-callout__body"&gt;&#10;&lt;p&gt;&lt;strong&gt;请注意&lt;/strong&gt;：如果混合使用配置选项，则以下规则适用。&lt;/p&gt;</description></item><item><title>传输安全模型</title><link>https://pig.center/zh/docs/etcd/op-guide/security/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/security/</guid><description>&lt;p&gt;etcd 支持自动 TLS，以及通过客户端证书实现的客户端到服务器和对等成员（服务器到服务器 / 集群）通信的身份认证。请注意，etcd 默认不启用 &lt;a href="https://pig.center/zh/docs/etcd/op-guide/authentication/"&gt;基于 RBAC 的身份认证&lt;/a&gt;&#10; 或传输层的身份认证功能，以降低用户入门时的使用门槛。此外，更改此默认设置将对该项目造成破坏性变更，该项目自 2013 年确立以来一直保持该设定。未启用安全功能的 etcd 集群可能使数据暴露于任意客户端。&lt;/p&gt;</description></item><item><title>集群指南</title><link>https://pig.center/zh/docs/etcd/op-guide/clustering/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/clustering/</guid><description>&lt;h2 id="overview"&gt;概述&#10;&lt;/h2&gt;&#10;&lt;p&gt;静态启动 etcd 集群要求每个成员均知晓集群中的其他成员。在某些情况下，集群成员的 IP 地址可能无法提前确定。在这些情况下，可以借助发现服务来引导启动 etcd 集群。&lt;/p&gt;</description></item><item><title>以 Kubernetes StatefulSet 运行 etcd 集群</title><link>https://pig.center/zh/docs/etcd/op-guide/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/kubernetes/</guid><description>&lt;p&gt;以下演示如何作为 Kubernetes StatefulSet 执行 &lt;a href="https://pig.center/zh/docs/etcd/op-guide/clustering/#static"&gt;静态引导过程&lt;/a&gt;&#10;。&lt;/p&gt;&#10;&lt;h2 id="example-manifest"&gt;示例 Manifest&#10;&lt;/h2&gt;&#10;&lt;p&gt;本文档包含用于在 Kubernetes 中部署静态 etcd 集群的服务和有状态集（StatefulSet）配置。&lt;/p&gt;</description></item><item><title>在容器中运行 etcd 集群</title><link>https://pig.center/zh/docs/etcd/op-guide/container/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/container/</guid><description>&lt;p&gt;本文指南展示了如何使用 Docker 以 &lt;a href="https://pig.center/zh/docs/etcd/op-guide/clustering/#static"&gt;静态引导过程&lt;/a&gt;&#10;运行 etcd。&lt;/p&gt;&#10;&lt;h2 id="docker"&gt;Docker&#10;&lt;/h2&gt;&#10;&lt;p&gt;为使 Docker 主机外部的客户端能够访问 etcd API，请使用容器的主机 IP 地址。有关获取 IP 地址的详细信息，请参见 &lt;a href="https://docs.docker.com/engine/reference/commandline/inspect"&gt;&lt;code&gt;docker inspect&lt;/code&gt;&lt;/a&gt;&#10;。或者，可向 &lt;code&gt;docker run&lt;/code&gt; 命令指定 &lt;code&gt;--net=host&lt;/code&gt; 标志，以跳过将容器置于独立网络栈中的操作。&lt;/p&gt;</description></item><item><title>故障模式</title><link>https://pig.center/zh/docs/etcd/op-guide/failures/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/failures/</guid><description>&lt;p&gt;在大规模机器部署中，故障是常见现象。当硬件或软件发生故障时，机器会失效。若出现断电或网络问题，多台机器可能同时失效。多种类型的故障也可能同时发生；几乎无法穷举所有可能的故障场景。&lt;/p&gt;</description></item><item><title>灾难恢复</title><link>https://pig.center/zh/docs/etcd/op-guide/recovery/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/recovery/</guid><description>&lt;p&gt;etcd 设计用于抵御机器故障。etcd 集群可自动从临时故障（例如机器重启）中恢复，并能容忍最多 &lt;em&gt;(N−1)/2&lt;/em&gt; 个成员的永久性故障，适用于由 N 个成员组成的集群。当某个成员发生永久性故障（无论是硬件故障还是磁盘损坏）时，该成员将失去对集群的访问权限。若集群永久性丢失超过 &lt;em&gt;(N−1)/2&lt;/em&gt; 个成员，则将发生灾难性故障，法定人数不可逆地丢失。一旦法定人数丢失，集群将无法达成共识，因而无法继续接受更新。&lt;/p&gt;</description></item><item><title>etcd 网关</title><link>https://pig.center/zh/docs/etcd/op-guide/gateway/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/gateway/</guid><description>&lt;h2 id="what-is-etcd-gateway"&gt;etcd 网关是什么&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd 网关是一个简单的 TCP 代理，负责将网络数据转发至 etcd 集群。网关为无状态且透明的；它既不检查客户端请求，也不干扰集群响应。网关不会终止 TLS 连接，不会代表客户端执行 TLS 握手，也不会验证连接是否已加密。&lt;/p&gt;</description></item><item><title>gRPC 代理</title><link>https://pig.center/zh/docs/etcd/op-guide/grpc_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/grpc_proxy/</guid><description>&lt;p&gt;gRPC 代理是运行在 gRPC 层（L7）的无状态 etcd 反向代理。该代理旨在降低核心 etcd 集群的总体处理负载。为实现横向扩展，代理会合并监听和租约 API 请求。为防止恶意客户端对集群造成影响，代理会缓存键范围请求。&lt;/p&gt;</description></item><item><title>硬件推荐</title><link>https://pig.center/zh/docs/etcd/op-guide/hardware/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/hardware/</guid><description>&lt;p&gt;etcd 在资源有限的开发或测试环境中通常运行良好；在笔记本电脑或廉价云主机上开发 etcd 是常见做法。然而，在生产环境中运行 etcd 集群时，遵循一些硬件建议有助于实现有效的系统管理。这些建议并非硬性规定，而是构建稳健生产部署的良好起点。和往常一样，部署前应使用模拟工作负载进行测试。&lt;/p&gt;</description></item><item><title>维护</title><link>https://pig.center/zh/docs/etcd/op-guide/maintenance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/maintenance/</guid><description>&lt;h2 id="overview"&gt;概述&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd 集群需要定期维护以保持可靠性。根据 etcd 应用的需求，此类维护通常可以自动化执行，且无需停机或显著降低性能。&lt;/p&gt;</description></item><item><title>监控 etcd</title><link>https://pig.center/zh/docs/etcd/op-guide/monitoring/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/monitoring/</guid><description>&lt;p&gt;每个 etcd 服务器通过其客户端端口上的 HTTP 端点提供本地监控信息。监控数据对于系统健康检查和集群调试均具有实用价值。&lt;/p&gt;&#10;&lt;h2 id="debug-endpoint"&gt;调试端点&#10;&lt;/h2&gt;&#10;&lt;p&gt;若设置 &lt;code&gt;--log-level=debug&lt;/code&gt;，etcd 服务器将在其客户端端口的 &lt;code&gt;/debug&lt;/code&gt; 路径下导出调试信息。设置 &lt;code&gt;--log-level=debug&lt;/code&gt; 时需谨慎，因为会导致性能下降和日志输出过于 verbose。&lt;/p&gt;</description></item><item><title>性能</title><link>https://pig.center/zh/docs/etcd/op-guide/performance/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/performance/</guid><description>&lt;h2 id="understanding-performance"&gt;理解性能&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd 提供稳定、持续的高性能。性能由两个因素决定：延迟和吞吐量。延迟是指完成操作所需的时间。吞吐量是指在一定时间周期内完成的总操作数。通常情况下，当 etcd 接受并发客户端请求时，平均延迟会随着整体吞吐量的增加而上升。在常见的云环境（如 Google Compute Engine (GCE) 上的标准 &lt;code&gt;n-4&lt;/code&gt; 实例，或 AWS 上相当的机器类型）中，三成员 etcd 集群在轻负载下请求完成时间小于 1 毫秒，重负载下每秒可完成超过 30,000 次请求。&lt;/p&gt;</description></item><item><title>运行时重配置设计</title><link>https://pig.center/zh/docs/etcd/op-guide/runtime-reconf-design/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/runtime-reconf-design/</guid><description>&lt;p&gt;运行时重配置是分布式系统中最为复杂且最容易出错的功能之一，尤其是在基于共识的系统（如 etcd）中。&lt;/p&gt;&#10;&lt;p&gt;继续阅读以了解 etcd 运行时重配置命令的设计原理，以及我们如何解决这些问题。&lt;/p&gt;</description></item><item><title>运行时重配置</title><link>https://pig.center/zh/docs/etcd/op-guide/runtime-configuration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/runtime-configuration/</guid><description>&lt;p&gt;etcd 支持增量式运行时重配置，允许用户在运行时更新集群成员。&lt;/p&gt;&#10;&lt;p&gt;重新配置请求仅在集群多数成员正常运行时才能处理。生产环境中&lt;strong&gt;强烈建议&lt;/strong&gt;始终将集群规模设置为大于二。从两成员集群中移除成员是不安全的。两成员集群的多数为两个。若在移除过程中发生故障，集群可能无法继续推进，需 &lt;a href="#restart-cluster-from-majority-failure"&gt;从多数故障中重启&lt;/a&gt;&#10;。&lt;/p&gt;</description></item><item><title>支持的平台</title><link>https://pig.center/zh/docs/etcd/op-guide/supported-platform/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/supported-platform/</guid><description>&lt;h2 id="support-tiers"&gt;支持层级&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd 可在不同平台上运行，但其提供的保证取决于平台的支持级别：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Tier 1&lt;/strong&gt;：由 [etcd 维护者][] 完全支持；etcd 保证通过所有测试，包括功能测试和健壮性测试。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Tier 2&lt;/strong&gt;：etcd 保证通过集成测试和端到端测试，但不保证通过功能测试或健壮性测试。&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Tier 3&lt;/strong&gt;：etcd 保证可构建，可能仅进行轻度测试（或未测试），因此应视为 &lt;em&gt;不稳定&lt;/em&gt;。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="current-support"&gt;当前支持&#10;&lt;/h2&gt;&#10;&lt;p&gt;下表列出了当前支持的平台及其对应的 etcd 支持级别：&lt;/p&gt;</description></item><item><title>版本管理</title><link>https://pig.center/zh/docs/etcd/op-guide/versioning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/versioning/</guid><description>&lt;p&gt;本文描述了 etcd 项目所支持的版本。&lt;/p&gt;&#10;&lt;h2 id="service-versioning-and-supported-versions"&gt;服务版本管理与支持版本&#10;&lt;/h2&gt;&#10;&lt;p&gt;etcd 版本号采用 &lt;strong&gt;x.y.z&lt;/strong&gt; 格式，其中 &lt;strong&gt;x&lt;/strong&gt; 表示主版本号，&lt;strong&gt;y&lt;/strong&gt; 表示次版本号，&lt;strong&gt;z&lt;/strong&gt; 表示补丁版本号，遵循 &lt;a href="https://semver.org/"&gt;语义化版本控制&lt;/a&gt;&#10;规范。&#10;新次版本号可能向 API 添加额外功能。&lt;/p&gt;</description></item><item><title>数据损坏</title><link>https://pig.center/zh/docs/etcd/op-guide/data_corruption/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://pig.center/zh/docs/etcd/op-guide/data_corruption/</guid><description>&lt;p&gt;etcd 内置了自动数据损坏检测机制，以防止成员状态发生不一致。&lt;/p&gt;&#10;&lt;h2 id="enabling-data-corruption-detection"&gt;启用数据损坏检测&#10;&lt;/h2&gt;&#10;&lt;p&gt;数据损坏检测可通过以下方式执行：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;初始检查，通过 &lt;code&gt;--experimental-initial-corrupt-check&lt;/code&gt; 标志启用。&lt;/li&gt;&#10;&lt;li&gt;定期检查包括：&#10;&lt;ul&gt;&#10;&lt;li&gt;已压缩的修订版本哈希，通过 &lt;code&gt;--experimental-compact-hash-check-enabled&lt;/code&gt; 标志启用。&lt;/li&gt;&#10;&lt;li&gt;最新修订版本哈希，通过 &lt;code&gt;--experimental-corrupt-check-time&lt;/code&gt; 标志启用。&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;引导过程中将执行初始检查。&#10;成员将比较其持久化状态与其他成员的状态，若发现不匹配则退出。&lt;/p&gt;</description></item></channel></rss>