ETCD报错:Error etcdserver mvcc database space exceeded

1 篇文章 0 订阅

ETCD配置问题处理与验证

  • 报错信息:

    容器创建的时候,报错:Error etcdserver mvcc database space exceeded

  • 问题原因:

    k8s创建pod的时候,会向etcd中写数据,etcd官方默认的空间配额是2G,最大支持8G,以下是官方下载包内的说明,

    The default storage size limit is 2GB, configurable with `--quota-backend-bytes` flag. 8GB is a suggested maximum size for normal environments and etcd warns at startup if the configured value exceeds it.
    

    所有的运维管理都在操作ETCD的存储空间;存储空间的配额用于控制ETCD数据空间的大小,如果ETCD节点磁盘空间不足了,配额会触发告警,然后ETCD系统将进入操作受限的维护模式。

解决方案

  • 压缩
#使用API3
$ export ETCDCTL_API=3 
# 获取当前版本
$ rev=$(etcdctl --endpoints=http://127.0.0.1:2379 endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
# 压缩掉所有旧版本
etcdctl --endpoints=http://127.0.0.1:2379 compact $rev
# 整理多余的空间
etcdctl --endpoints=http://127.0.0.1:2379 defrag
# 取消告警信息
etcdctl --endpoints=http://127.0.0.1:2379 alarm disarm
  • 修改启动文件
...
--auto-compaction-retention=1       ## 表示每隔一小时自动压缩一次
--quota-backend-bytes=8388608000    ## 磁盘空间调整为8G,官方建议最大8G

修改完成后,取消告警信息

# 取消告警信息
etcdctl --endpoints=http://127.0.0.1:2379 alarm disarm

然后重启etcd即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值