Рекомендации и оптимизация
Облачные, Kubernetes и node-level возможности в едином workflow: доказательства, оценка эффекта, Preview, применение или backlog.
Обзор
Платформа автоматически генерирует рекомендации на основе инвентори, биллинга и аудита K8s. Каждая рекомендация содержит: тип действия, затронутый ресурс, расчётную экономию, приоритет.
Облачные рекомендации обновляются после синхронизации, Kubernetes-рекомендации — после аудита и сбора метрик. Валюта и детализация эффекта зависят от billing API активного коннектора.
Типы рекомендаций
1. Неподключённые диски (Unattached Disks)
- Что
- диски, не привязанные ни к одной VM. Часто остаются после удаления виртуальных машин или пересоздания инфраструктуры.
- Экономия
- стоимость диска из billing за период, нормализованная к месяцу при наличии достаточных данных.
- Действие
- удалить диск или отключить биллинг (если провайдер поддерживает).
2. Остановленные VM (Stopped VMs)
- Что
- VM в статусе
STOPPED, но диски и зарезервированные IP продолжают оплачиваться. - Экономия
- продолжающие начисляться диски, IP и другие связанные ресурсы; сама остановленная compute-часть может не тарифицироваться.
- Действие
- удалить VM полностью или освободить зарезервированный IP.
3. Oversized VM (VM Rightsize)
- Что
- VM с низкой утилизацией CPU/RAM (менее 20%). Такие машины оплачиваются по полной стоимости, но используют лишь малую часть ресурсов.
- Экономия
- разница между стоимостью текущего и рекомендуемого flavor. Переход с
m3-xlargeнаm3-largeможет сэкономить 50% стоимости VM. - Действие
- изменить тип VM на меньший (требует перезагрузки).
4. Недогруженные ноды K8s (Underutilized Nodes)
- Что
- ноды кластера с загрузкой менее 30%. Типичная ситуация при избыточном autoscaler min-count или устаревших node pools.
- Экономия
- оценка стоимости избыточной ноды по billing или таблице цен провайдера; проверьте тариф и скидки перед применением.
- Действие
- уменьшить node pool или пересмотреть настройки cluster autoscaler (min/max nodes).
5. Overrequested Workloads K8s
- Что
- requests/limits workloads значительно превышают actual usage. Завышенные requests блокируют ресурсы на нодах и приводят к тому, что autoscaler создаёт больше нод, чем нужно.
- Экономия
- освобождённые ресурсы → меньше нод. Снижение requests с 4 CPU до 0.5 CPU на 10 подов может освободить целую ноду.
- Действие
- уменьшить requests/limits через GitOps — платформа создаёт Merge Request в GitLab с изменениями в манифестах.
Как применять рекомендации
Выберите рекомендацию
Перейдите в Оптимизация → Возможности. Используйте вкладки Все, Rightsizing, Ноды, Spot, Bin-Packing, Облако и сортировку по экономии или приоритету. Отложенные элементы находятся в backlog.
Preview
Нажмите Preview — увидите, что именно изменится: какой ресурс будет затронут, текущие и рекомендуемые параметры, расчётная экономия.
Apply (инфраструктура)
Для поддерживаемых инфраструктурных действий Preview показывает ресурс, preflight и последствия. Apply доступен не для каждого провайдера и типа ресурса; кнопка может быть скрыта или disabled из-за роли, режима и ограничений API.
GitOps (K8s workloads)
Workload можно изменить через GitOps MR, прямой kubeconfig или in-cluster агент — в зависимости от конфигурации. Для ArgoCD/Flux используйте GitOps MR, чтобы не расходиться с источником истины.
Приоритеты
| Приоритет | Как вычисляется | Что делать |
|---|---|---|
| High | Тип-специфичное правило. Например, удаление платного orphan-ресурса получает высокий приоритет независимо от единой рублёвой шкалы. | Проверить владельца, зависимости и Preview в первую очередь |
| Medium | Заметный эффект либо риск, но ниже порога high для данного типа | Запланировать и собрать подтверждающие метрики |
| Low | Небольшой или неоценённый денежный эффект | Объединить с плановым cleanup или отложить в backlog |
По умолчанию начните с ручного Preview и подтверждения. В продукте есть режимы автоматизации, которые после отдельной настройки могут выполнять действия без подтверждения каждого элемента. Перед их включением проверьте scope, правила, GitOps binding, RBAC и процедуру rollback.
Что дальше?
- Оптимизация нод — Instance Type, Hibernation, Spot Management, Proactive Scaling, Bin-Packing.
- Аудит Kubernetes — как запустить аудит и получить findings.
- GitOps — автоматическое применение изменений через Merge Request в GitLab.
- Биллинг и аномалии — мониторинг расходов и обнаружение аномалий.
- Коннекторы — подключение облачных провайдеров.