Масштабируемая инфраструктура на Kubernetes

Развернул платформу в Kubernetes: автоскейлинг под нагрузку, CI/CD пайплайны, zero-downtime деплой. Снизил затраты на хостинг при растущем трафике.

Масштабируемая инфраструктура на Kubernetes

Задача

Платформа крутилась на двух выделенных серверах. В обеденные часы трафик рос в 5-7 раз, сервер не справлялся, пользователи ловили 502 ошибки. Деплой - SSH, git pull, перезапуск pm2 - 30-40 минут ручной работы с простоем. Масштабироваться горизонтально на выделенных серверах было нереально.

Технические подробности

Решение

Контейнеризировал всё в Docker - мультистейдж Dockerfile ужал образ Node.js приложения с 1.2 ГБ до 180 МБ. Развернул managed Kubernetes с тремя нодами, разбил на отдельные деплойменты: API, воркеры, SSR-фронтенд. Настроил HPA (Horizontal Pod Autoscaler) - поды поднимаются сами при росте нагрузки и убираются когда спадает. CI/CD в GitLab: мерж в main запускает сборку образа, пуш в registry и rolling update в кластере. Весь деплой автоматический, 3-4 минуты от мержа до продакшена.

Результат

Zero-downtime деплой через rolling update. В пиковые часы кластер сам масштабируется с 3 до 8 подов. Затраты на инфраструктуру снизились на 30% - платим за реальное потребление, а не за пиковую мощность 24/7. Откат - одна команда, 30 секунд.

Просмотров: 270

Ищете инженера в команду или для продукта?

Напишите о команде, продукте или задаче, которую нужно решить. Почта и Telegram ведут прямо ко мне.

Для начала хватит короткого описания и ссылки.