配置etcd自动压缩
压缩碎片->清理空间
# 压缩会产生碎片,清理会删除碎片。只有删除碎片,才能减少空间占用。
# 压缩回收历史版本,回收从0到指定版本号的非key最新版本的历史版本数据
etcdctl compact 版本号
# 清理占用的系统存储空间
etcdctl defrag
自动压缩策略的2种模式
压缩策略 |
参数配置 |
适用场景 |
按时间周期性压缩 |
--auto-compaction-mode=periodic --auto-compaction-retention=1(单位是小时) |
不考虑保留历史版本号数量 |
按保留历史版本号数量压缩 |
--auto-compaction-mode=revision --auto-compaction-retention=100(历史版本号数量) 相当于每隔5分钟执行一次etcdctl compact 版本号,rev值是最新版本-100 |
大量产生历史版本 |
最佳实践
https://cloud.tencent.com/developer/article/1917040
1. 配置--auto-compaction-mode=periodic和--auto-compaction-retention=1参数
2. 推荐通过cronjob定期执行etcdctl defrag(如果执行时间> election timeout,那么集群会进入重新选主模式)