Skip to main content

VPA

Vertical Pod Autoscaler (VPA) — вертикальное масштабирование ресурсов нагрузок — это компонент кластера, предоставляющий пользователям возможность не заниматься расчетами требуемых для их приложений ресурсов.

Использование VPA в неймспейсе позволяет:

  • упростить публикацию приложений, необходимо управлять только численностью копий ваших приложений
  • автоматически наращивать выделяемые на приложение квоты на основе его метрик потребления в разрешенных пределах с разрешенным шагом

VPA измеряет нагрузку на длительном периоде и не сможет оперативно отреагировать на пиковую нагрузку. Для резких всплесков потребления ресурсов необходимо использовать горизонтальное масштабирование путём ручного увеличения количества реплик.

Ограничения для приложений

  • резкие, кратковременные скачки потребления памяти, не попадающие в 90-й процентиль потребления не вызовут увеличение флейвора
  • приложение должно быть раскатано на пользователей и начать потреблять ресурсы не позднее недели после активации VPA

Если активировать VPA для приложения, которое не потребляет ресурсы, через 8 дней ему будет выдан минимальный флейвор. Использование флейвора с недостаточным количеством ресурсов будет провоцировать падения приложения в момент, когда придёт нагрузка.

Обновление ресурсов контейнеров

При первичном размещении подов в неймспейсе с включенным VPA, при отсутствии накопленной истории потребления ресурсов, учитываются ресурсы указанные в пользовательских манифестах

После накопления истории потребления, VPA обновляет ресурсы при пересоздании подов, при этом ресурсы, указанные пользователем, игнорируются.

Пересоздание подов

Так как изменение выделенных ресурсов возможно только при создании пода, для применения флейвора, выбранного VPA, необходимо принудительно пересоздавать поды. Для этого, ближайшей ночью, после изменения рекомендации, происходит рестарт деплоймента целиком.