Как стать автором
Поиск
Написать публикацию
Обновить

Лечим проблемы Kubernetes на лету по мере масштабирования проекта: опыт команды VK Cloud

Время на прочтение9 мин
Количество просмотров4.4K
Всего голосов 41: ↑40 и ↓1+56
Комментарии11

Комментарии 11

Могу ошибаться.
Helm в secrets кладёт весь свой chart в заархивированном состоянии, ну там для версионирования деплоймента.
Я бы начал дебаг не с etcd, а с того, что же такого в этом secrets положил helm на ~2GB.

Хелм хранит релизы в секретах. Каждая версия - это новый секрет. Как описывается в статье, количество секретов достигло 77к штук. И-за этого даже маленькие релизы по объему стали в сумме весить очень много.

А что Вам мешало сразу сделать так? https://helm.sh/docs/topics/advanced/#storage-backends

export HELM_DRIVER=sql
export HELM_DRIVER_SQL_CONNECTION_STRING=postgresql://helm-postgres:5432/helm?user=helm&password=changeme

Как по мне, etcd - как KV-хранилище Ок, а вот как в него пихать чужеродное от helm-а так тут что-то с архитектурой не Ок.

Да, в итоге так и было сделано. В статье описывается путь клиента, которому мы помогали. Изначально размер секретов не влиял на работу etcd. Проблема возникла в момент накопления критической массы.

Релизы через Argocd решили бы проблему?

В теории да, так как основным хранилищем для Арго является GIt. Но тут бы потребовалось клиенту изменять архитектуру деплоя и сбора метрик. Helm, на начальном этапе, казался оптимальным решением :)

Это как раз можно проследить в статье, что решения, которые принимаются в начале, позволяющие ускорить TTM, далее могут сильно повлиять на работу всего сервиса.

Вы бы аккуратнее плюсовали свои статьи. 20 плюсов на 600 просмотров физически невозможно. Для отличных статей это 1 на 100 просмотров, для нормальных 1 на 300. Понимаю, что хочется в топ попасть. Но это больше вас дискредитирует, чем плюс даёт.

Я никогда таким не занимаюсь. :)

а когда масштабировали мастер-ноды до 7, вы не пробовали выносить только control-plane-компоненты, не участвуя всеми в etcd-кворуме? Или цель была именно full HA? Просто складывается ощущение, что лишние ноды только мешали raft-протоколу, а пользы особой не дали

Нужен был full HA

Супер-кейс про etcd и Kubernetes. Очень полезно увидеть реальные проблемы масштабирования и нестандартные решения.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий