TGViewer
Цифровизируй это Цифровизируй это @digitize_it · 1.53K subscribers
Post #1178 387
Лечим проблемы Kubernetes по мере масштабирования проекта: разбор от VK Cloud

Один из клиентов VK Cloud решил масштабировать BI-сервис на Kubernetes с 1 000 до 5 000 подов. Но уже в первый месяц достиг 5 000 и столкнулся с задержками в etcd. Вместо стабильного кластера — лаги, нестабильность и ошибки в работе Kubernetes.

🔹 Почему масштабирование не помогло. Изначально гипотеза была в увеличении количества мастер-нод с 5 до 7. Но производительность только упала: etcd — это не просто распределенное хранилище, оно требует кворума для каждой записи. Чем больше нод, тем дольше запись. В чтении тоже не все гладко: работает через RAFT и одного лидера, даже если у вас 7 нод.

🔹 Что сработало: шардирование etcd. Вынесли часть данных (/events) из основного etcd в отдельный экземпляр с быстрым диском. Это снизило нагрузку на кластер и повысило стабильность.

🔹 На 10 000 подов — уперлись в квоту. По умолчанию квота etcd — 2 Гб. При превышении — ошибка mvcc: database space exceeded. Расширили до 8 Гб, как рекомендует etcd, и все заработало.

🔹 25 000 подов — grpc переполнен. Ошибки Helm при запросе helm list -A: размер сообщения > 2 Гб. Причина — в etcd хранилось по 7–8 релизов на каждого из 25 000 клиентов. Почистили историю релизов, выставили --history-max=2 и удалили тестовые namespace.

🔹 17 000 подов — но etcd продолжает деградировать. Снижение количества подов не помогло. Количество объектов в etcd продолжало расти из-за неочищенных секретов. Анализ показал: 63% etcd занимают secrets от Helm. Миграция secrets в Postgres вернула кластер в норму.

Выводы 🔹

🔹 Kubernetes ≠ масштаб по умолчанию. Без глубокой экспертизы мелкие проблемы становятся системными.

🔹 etcd — узкое горлышко при масштабировании. Даже «правильная» архитектура может не выдержать роста.

🔹 Настройка Helm, шардирование, контроль KV-объектов и ограничение истории релизов обязательны для больших кластеров.

@digitize_IT — мнения и управленческий опыт ИТ-лидеров
#vkcloud #kubernetes
  • 👍 3
  • ❤ 1
  • 🔥 1
More from @digitize_it
  1. Aug 27, 2025Как собрать и подготовить данные для процессного анализа: пошаговый план Process Mining —…
  2. Aug 19, 2025Domain-Driven Design: как управлять сложными проектами и бизнес-логикой В масштабных ИТ-пр…
  3. Aug 4, 2025Что под капотом у VK Cloud: три подхода к дисковым хранилищам и их ограничения Большинство…
  4. Jul 31, 2025Безопасность HR-системы: на что стоит обратить внимание Когда компания переходит на КЭДО,…
  5. Jul 23, 2025Как перестать беспокоиться и начать внедрять интеграционные тесты Интеграционные автотесты…
  6. Jun 5, 20257 причин перейти на налоговый мониторинг 🔹 Налоговый мониторинг — это инструмент повышени…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →