Что это значит

etcd хранит все версии ключей, пока их не сожмут, и ограничивает размер своей базы квотой --quota-backend-bytes (по умолчанию 2 ГБ). Когда база доходит до квоты, etcd включает тревогу NOSPACE и отклоняет любую запись с ошибкой mvcc: database space exceeded. Patroni в отказоустойчивом кластере PostgreSQL хранит в etcd состояние кластера и лидера: без записи он не может продлевать лидерство, и кластер может остаться без мастера. В Kubernetes то же самое останавливает изменение любых объектов.

Как проверить

ETCDCTL_API=3 etcdctl --endpoints=:2379 endpoint status --write-out=table
ETCDCTL_API=3 etcdctl alarm list

Что сделать

По справке вендора на каждом узле etcd по очереди:

rev=$(ETCDCTL_API=3 etcdctl --endpoints=:2379 endpoint status --write-out=json | egrep -o '"revision":[0-9]*' | egrep -o '[0-9]+')
ETCDCTL_API=3 etcdctl compact $rev
ETCDCTL_API=3 etcdctl defrag
ETCDCTL_API=3 etcdctl alarm disarm

Чтобы не повторилось, включить автоматическое сжатие (--auto-compaction-retention) и при необходимости поднять квоту (--quota-backend-bytes) в параметрах службы etcd, затем перезапустить узлы по одному.