首页/云/Kubernetes 速查/etcd 碎片整理与空间回收
本包目录(307 条)
kubectl 基础56 条工作负载36 条网络与服务55 条配置与存储54 条调度与资源52 条
集群运维与排障54 条

etcd 碎片整理与空间回收

频繁写入会让 etcd 的后端数据库文件与碎片增长:先压缩历史版本再整理碎片可以回收空间,但操作会影响该成员可用性。

Kubernetes 速查云更新于 2026-10-12

查看成员状态

查看成员状态
ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \
  --cacert=/etc/kubernetes/pki/etcd/ca.crt \
  --cert=/etc/kubernetes/pki/etcd/server.crt \
  --key=/etc/kubernetes/pki/etcd/server.key \
  endpoint status --write-out=table

压缩与整理

压缩与整理
REV=$(etcdctl --endpoints=https://127.0.0.1:2379 endpoint status --write-out=json | jq -r '.[0].Status.header.revision')
etcdctl --endpoints=https://127.0.0.1:2379 compact $REV
etcdctl --endpoints=https://127.0.0.1:2379 defrag
defrag 期间该成员会短暂阻塞读写:多成员集群逐个执行,避免在业务高峰操作。

易错点

  • 只 defrag 不 compact:大量历史版本仍占空间,回收效果有限
  • 多成员同时 defrag:集群会同时失去多数派可用性,务必逐个进行

数据来源与参考

  • Kubernetes 官方文档 · 操作 etcd 集群
  • etcd 官方文档 · 维护与压缩
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌