1. 表现是rancher界面无法登陆,通过docker logs -f rancher发现日志中主要是etcd在报错,包含如下信息:
etcdserver: mvcc: database space exceeded
2. 确定是由于etcd写满限额,导致的问题。需要登录到etcd所在的结点执行:
docker exec -ti etcd sh
进入到etcd的容器,再执行,注意需要进入到每个etcd结点依次执行:
#查看etcd的告警信息
etcdctl alarm list
#获得版本
ver=$(etcdctl endpoint status --write-out="json" | egrep -o '"revision":[0-9]*' | egrep -o '[0-9].*')
#压缩旧版本
etcdctl compact $ver
#清理碎片
etcdctl defrag
#执行完成后,清除告警信息
etcdctl alarm disarm
https://www.bookstack.cn/read/rancher-v2.x/2fd8b18035e34485.md