etcd磁盘配额报错

image.png

  1. 解决方法:
  2. * 在每个etcd节点删除压缩历史版本,并解除警告
  3. * 检查log是否正常,是否可以正常putget
  4. ##在每个节点执行以下命令,不同节点需修改为对应节点的ip
  5. #查看配额状态
  6. ETCDCTL_API=3 etcdctl --endpoints=:2379 --write-out=table endpoint status
  7. #查看告警被触发
  8. ETCDCTL_API=3 etcdctl alarm list
  9. #获取当前修订版本
  10. ETCDCTL_API=3 ver=$(etcdctl --endpoints=http://172.16.2.227:2379 endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
  11. #压缩所有旧的修订版本
  12. ETCDCTL_API=3 etcdctl --endpoints=http://172.16.2.227:2379 compact $ver
  13. #反碎片化过度空间
  14. ETCDCTL_API=3 --endpoints=http://172.16.2.227:2379 alarm disarm
  15. ##检查是否报警
  16. #检查报警是否恢复
  17. etcdctl --endpoints=http://172.16.2.227:2379 alarm list
  18. #检查配额状态
  19. ETCDCTL_API=3 etcdctl --endpoints=:2379 --write-out=table endpoint status
  20. #检查是否可正常put get
  21. ETCDCTL_API=3 etcdctl put newtest 1111
  22. ETCDCTL_API=3 etcdctl get newtest

参考 http://idcsec.com/2019/09/05/kubernetes%e9%9b%86%e7%be%a4etcd%e7%a9%ba%e9%97%b4%e9%85%8d%e9%a2%9d2g%e7%9a%84%e5%9d%91%e4%bc%98%e5%8c%96/ https://www.cnblogs.com/will-space/p/11957308.html

etcd —quota-backend-bytes=$((410241024*1024))