Как искать предыдущие версии с помощью экземпляра Microk8s etcd?

Я пытаюсь найти предыдущие версии моих секретов в экземпляре Microk8s etcd, но количество ревизий меняется каждый раз, когда я обновляю экран, и я не знаю, почему.

Когда я пытаюсь получить доступ к более старой версии, я получаю следующую ошибку:

etcdctl --endpoints=127.0.0.1:2380 get --rev=9133 -w fields /registry/secrets/default/mysql-test-password
{"level":"warn","ts":"2020-09-14T13:40:08.594Z","caller":"clientv3/retry_interceptor.go:61","msg":"retrying of unary invoker failed","target":"endpoint://client-8b3e59a8-efd2-4f77-a96f-5ec3c451b9b7/127.0.0.1:2380","attempt":0,"error":"rpc error: code = OutOfRange desc = etcdserver: mvcc: required revision has been compacted"}
Error: etcdserver: mvcc: required revision has been compacted

Я также добавил конфигурацию в свой файл конфигурации etcd и перезапустил службу, но это не помогло:

--auto-compaction-mode=periodic
--auto-compaction-retention=72h

Кажется, что каждый раз, когда я обновляю свой экран, количество ревизий значительно увеличивается, ничего не делая.

{"header":{"cluster_id":14841639068965178418,"member_id":10276657743932975437,"revision":15322,"raft_term":7}

через 1 секунду

student@desktop:~$ etcdctl --endpoints=127.0.0.1:2380 get /registry/secrets/default/mysql-root-password -w json
{"header":{"cluster_id":14841639068965178418,"member_id":10276657743932975437,"revision":16412,"raft_term":7}

Кто-то сталкивался с подобным?


person kcadorin    schedule 14.09.2020    source источник


Ответы (1)


"etcdserver: mvcc: required revision has been compacted." — это не ошибка, это ожидаемое сообщение при попытке установить часы на уже сжатой версии ресурса.

Что-то не так с вашим кластером etcd, это почти наверняка не проблема apiserver. Есть будильник, который вам, возможно, придется отключить.

Также помните, что вам необходимо обновить версию etcd до 3.0.11 или более поздней — https://github.com/kubernetes/kubernetes/issues/45506.

Взгляните: mvcc-issues, перезагрузчик.

person Malgorzata    schedule 16.09.2020
comment
Да, Malgorzata, я прекратил компоновку с --etcd-compaction-interval на api-сервере, но количество ревизий все равно безумно растет. Каждый раз, когда я проверяю секрет, ревизии меняются на 4 числа вперед, это похоже на шаблон, но я не могу найти, что это делает. Есть ли у вас какие-либо идеи? - person kcadorin; 16.09.2020
comment
Это версия, которую я использую. Версия etcdctl Версия etcdctl: 3.4.3 Версия API: 3.4 - person kcadorin; 16.09.2020
comment
Любые изменения ? Проверьте, не добавили ли вы по ошибке еще один переключатель для своего порта в разделе команд вашего раздела контейнера. Взгляните: - person Malgorzata; 23.09.2020
comment
Все еще не решено, это происходит, даже если я просто создаю секрет, мне не нужно иметь какие-либо контейнеры для номеров ревизий, чтобы увеличить - person kcadorin; 24.09.2020
comment
Можете ли вы передать флаг --debug вашей команде etcdctl и поделиться выводом? - person Malgorzata; 23.10.2020