ApeCloud
博客开源社区关于我们
KV 存储
开源

在 Kubernetes 上管理高可用 etcd 集群

KubeBlocks etcd Operator 基于 Raft 共识算法提供强一致性 KV 存储,支持成员动态扩容、快照备份与 TLS 双向认证,是 Kubernetes 控制平面与微服务配置中心的可靠基础设施。

访问 GitHub

< 5s

Leader 选举

99.99%

高可用目标

100%

开源免费

2 步部署生产级 etcd Operator

1

安装 KubeBlocks

# 添加 Helm 仓库
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update

# 安装 KubeBlocks
helm install kubeblocks kubeblocks/kubeblocks \
  --namespace kb-system --create-namespace
2

创建 etcd Operator 集群

apiVersion: apps.kubeblocks.io/v1
kind: Cluster
metadata:
  name: etcd-cluster
  namespace: demo
spec:
  terminationPolicy: Delete
  componentSpecs:
    - name: etcd
      componentDef: etcd
      serviceVersion: "3.5.15"
      replicas: 3

核心能力

Raft 强一致性

基于 Raft 算法保证线性一致性读写,集群多数成员存活即可对外提供服务。

成员动态扩缩容

支持在线添加/移除 etcd 成员,自动完成数据同步,无需停机重建集群。

快照备份与恢复

定期生成数据快照上传至对象存储,支持从快照快速恢复完整集群状态。

TLS 双向认证

支持客户端与服务端双向 TLS 证书认证,防止未授权访问,满足安全合规要求。


部署拓扑

Raft 共识集群

基于 Raft 算法的强一致性 KV 存储集群。多数成员存活即可对外提供服务,Leader 故障时自动选举新 Leader,无需人工干预。

Raft 共识
多数派 Quorum
自动故障恢复
快照备份
关键特性

多数派 Quorum — 已提交的写入复制到多数成员,不丢数据

当前 Leader 不可用时自动触发新一轮选举,通常在 5 秒内完成

Headless Service 提供稳定的每 Pod DNS,客户端 Service 可选

定期快照备份至对象存储,支持从快照快速恢复完整集群状态

支持客户端与服务端双向 TLS 证书认证,满足安全合规要求

应用 / 客户端
客户端(启用后)  {cluster}-etcd-client:2379
默认  {cluster}-etcd-headless(Pod DNS)
客户端 API → 所有 Pod(etcd 内部路由)
Kubernetes 服务
{cluster}-etcd-client
ClusterIP · :2379 客户端
所有 Pod(无 roleSelector)
disableAutoProvision: true — 默认不创建
可选
→ 任意 Pod(etcd 透明转发至 Leader)
etcd-0主节点
🔑
etcd
:2379 client + /metrics · :2380 peer
主节点
💾 PVC data-0 · 10Gi
etcd-1从节点
🔑
etcd
:2379 client + /metrics · :2380 peer
💾 PVC data-1 · 10Gi
etcd-2从节点
🔑
etcd
:2379 client + /metrics · :2380 peer
💾 PVC data-2 · 10Gi
Raft 共识WAL 复制至从节点 · 需要法定数量确认
主节点
从节点
持久化存储

常见问题

KubeBlocks etcd Operator 支持哪些 etcd 版本?

KubeBlocks etcd Operator 支持 etcd 3.5.x 等主流版本。

etcd 集群最少需要几个节点?

etcd 基于 Raft 算法,需要多数派(n/2+1)节点存活才能对外服务。生产环境推荐 3 节点(可容忍 1 节点故障)或 5 节点(可容忍 2 节点故障)。

KubeBlocks etcd 如何进行数据备份?

KubeBlocks 支持基于 etcdctl snapshot save 的快照备份,定期上传至 S3、MinIO 等对象存储,支持从快照恢复完整集群状态。

KubeBlocks etcd Operator 是否免费?

KubeBlocks开源版完全开源免费。KubeBlocks企业版 提供图形化控制台与商业支持等增值功能。