Как пользоваться
- Введите текущее число реплик и текущее значение метрики — в тех же единицах, что и цель (проценты для загрузки CPU, запросы в секунду для своей метрики и т. д.).
- Введите цель из спецификации HPA, а также minReplicas и maxReplicas.
- Оставьте допуск 10 %, если в кластере не задан другой horizontal-pod-autoscaler-tolerance.
Формула
- отношение = текущая метрика ÷ цель
- Если |отношение − 1| ≤ допуск: нужно = текущее (масштабирования нет)
- Иначе: нужно = ceil(текущие реплики × отношение)
- Затем результат ограничивается диапазоном minReplicas … maxReplicas
Пример
Deployment работает на 4 подах со средней загрузкой CPU 90 %, цель — 60 %, пределы 2…10:
- отношение: 90 ÷ 60 = 1,5 — вне полосы 10 %;
- без округления: 4 × 1,5 = 6; нужно реплик — 6;
- решение — Увеличить; предел — Нет.
Советы
- Оставляйте запас в maxReplicas. Если калькулятор часто показывает «Ограничено maxReplicas», поды остаются перегруженными — поднимите предел или ёмкость узлов.
- Чем ниже цель, тем раньше масштабирование. Цель 50 % по CPU оставляет запас на всплески, пока стартуют новые поды; 80 % экономнее, но реагирует позже.
- Сначала проверьте requests. Если запросы CPU далеки от реального потребления, проценты загрузки вводят автомасштабирование в заблуждение.