老蒋的知识库

  • 首页
  • 文章归档
  • 关于页面

  • 搜索

ETCD 中的坑

发表于 2023-09-04 | 分类于 ETCD | 0 | 阅读次数 56

ETCD需要定期维护,否则会因为磁盘空间增长到自定义的上限而崩溃

参考资料:
https://wiki.shileizcc.com/confluence/pages/viewpage.action?pageId=60227631
https://doczhcn.gitbook.io/etcd/index/index-1/maintenance

问题描述:ETCD的日常运行会保留键空间历史记录,随着使用不断占用磁盘空间,ETCD默认设置日志占用磁盘2G。如果超过这个设定值会触发集群级警告,这将使得系统进入有限操作的维护模式。此时只能进行读取操作,如果继续不进行管理ETCD会自行崩溃。
如果用K8S部署Bitnami/etcd,就会发现etcd部署完成之后运行一段时间(半个月?)就会进入不断奔溃自重启的状态。
解决方法:

  1. 手动清理
  2. 自动清理:
# 只保留1小时内的键空间历史版本
etcd --auto-compaction-retention=1
# helm 部署 etcd 设定参数
autoCompactionRetention=1m
# helm 部署 apisix 设定etcd参数
etcd.autoCompactionRetention=1m

K8S部署Bitnami/etcd集群,当pod奔溃后无法自动加入集群。

参考资料:
https://halo.ljdzsk.com/archives/apisix-de-keng
https://github.com/apache/apisix-helm-chart/issues/290
报错日志:member not found
原因分析:pod重启之后相当于一个新的etcd服务,其中的key已经不可用,所以无法加入集群。
解决方法:设定集群数量=1

  • 本文作者: jagger
  • 本文链接: /archives/etcd-zhong-de-keng
  • 版权声明: 本博客所有文章除特别声明外,均采用CC BY-NC-SA 3.0 许可协议。转载请注明出处!
Mockito与MockMvc使用技巧
Python修改pip包的安装目录到D盘
jagger

jagger

66 日志
31 分类
0 标签
Creative Commons
0%
© 2026 jagger
由 Halo 强力驱动