Kubernetes: как сократить расходы на кластер на 40%
Типичная картина: компания переходит на Kubernetes, радуется масштабируемости, а потом получает счёт в 3 раза больше ожидаемого. Мы провели аудит 15+ кластеров за последний год и нашли одни и те же паттерны расточительности. Вот как их исправить.
Проблема №1: Неправильные resource requests
Это самая распространённая причина переплаты. Разработчики ставят requests по принципу «с запасом» или копируют значения из документации. Результат: ноды загружены на 15-20%, а вы платите за 100%.
Инструмент: Vertical Pod Autoscaler (VPA) в режиме recommendation — покажет реальное потребление за последние 7 дней и предложит оптимальные значения.
Проблема №2: Ноды не масштабируются вниз
Cluster Autoscaler добавляет ноды при нагрузке, но часто не удаляет их после спада. Причины: Pod Disruption Budgets настроены слишком жёстко, поды с local storage, отсутствие аннотаций.
Проблема №3: Spot-инстансы не используются
Spot/Preemptible инстансы стоят на 60-80% дешевле on-demand. Большинство stateless workloads (веб-серверы, воркеры, batch-задачи) отлично работают на Spot с правильной конфигурацией.
Стратегия: смешанные node pools (on-demand для критичных сервисов, Spot для остального) + Karpenter для умного выбора типов инстансов.
Проблема №4: Неиспользуемые ресурсы
LoadBalancers, PersistentVolumes, зарезервированные IP-адреса — всё это стоит денег даже когда не используется. После удаления namespace ресурсы часто остаются.
Реальные результаты аудита
Вот типичные результаты после применения всех четырёх методов на production-кластере среднего размера (20-30 нод):
| Метод | Экономия |
|---|---|
| Оптимизация resource requests (VPA) | 15-20% |
| Правильный Cluster Autoscaler | 10-15% |
| Spot-инстансы для stateless workloads | 20-30% |
| Удаление неиспользуемых ресурсов | 5-10% |
| Итого | 40-50% |
Чеклист для быстрого аудита
- ✓Установить VPA в режиме recommendation и посмотреть рекомендации через 7 дней
- ✓Проверить utilization нод: kubectl top nodes
- ✓Найти поды с requests >> actual usage через Grafana/Prometheus
- ✓Проверить PDB настройки для stateless сервисов
- ✓Посчитать долю Spot-инстансов в кластере (цель: 60-70%)
- ✓Найти Released PV и неиспользуемые LoadBalancers
- ✓Установить Kubecost/OpenCost для постоянного мониторинга расходов
Хотите провести аудит вашего кластера?
Мы проводим аудит Kubernetes-инфраструктуры за 3-5 дней. Получите конкретный список изменений с ожидаемой экономией.