← 中文资源

简体中文版本

检查并安全整理 etcd 碎片

查看 etcd 数据库大小与碎片情况,先备份再逐个成员整理。

阅读英文原文

目标

etcd 数据库体积增长而对象数不变,说明存在碎片并可能拖慢操作。本配方先备份,再用 etcdctl endpoint status 查看数据库大小与是否需要整理,随后逐个成员执行 defrag,避免影响领导者并监控集群健康;提醒 defrag 不会删除旧修订,仍需先 compact。

步骤要点

  1. 先备份再查看 endpoint status 与大小。
  2. 逐个成员执行 defrag。
  3. 先 compact 修订再 defrag 释放空间。
  4. 在每次整理之间检查集群健康。
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 -w table

排错提示

  • 整理期间该成员会短暂阻塞。
  • 仅 defrag 不删除旧修订。
  • 不应先整理领导者。

适用边界

  • 需要 TLS 凭据。
  • 不减少修订数量。