У нас есть развертывание, настроенное с HPA на основе метрики ЦП. Он может нормально работать в течение нескольких дней, масштабируя модули вверх и вниз. А потом в какой-то момент смотрит, что игнорирует метрику и масштабируется на какое-то небольшое количество подов. Обычно мы решаем это, устанавливая вручную минимальное количество подов, которые могут обрабатывать трафик. А через час-два снова начинается накипь.
Вот результат kubectl описать hpa
команда в тот момент, когда у нас не работает автомасштабирование:
Имя: мой-маршрутизатор-hpa
Пространство имен: по умолчанию
Метки: метка1=метка1
метка2=метка2
Аннотации: <нет>
CreationTimestamp: Ср, 15 сентября 2021 г., 12:19:16 +0000
Ссылка: Развертывание/мой-маршрутизатор-v001
Метрики: (текущая / целевая)
ресурс ЦП на модулях (в процентах от запроса): 188% (943 млн) / 85%
Минимальные реплики: 10
Максимальное количество реплик: 100
Модули развертывания: 10 текущих / 10 желательных
Условия:
Тип Состояние Причина Сообщение
---- ------ ------ -------
AbleToScale True Рекомендуемый размер ReadyForNewScale соответствует текущему размеру
ScalingActive True ValidMetricОбнаружено, что HPA удалось успешно рассчитать количество реплик на основе использования ресурсов ЦП (в процентах от запроса).
ScalingLimited True TooFewReplicas желаемое количество реплик меньше минимального количества реплик
События:
Тип Причина Возраст от сообщения
---- ------ ---- ---- -------
Обычный SuccessfulRescale 60-метровый горизонтальный модуль автомасштабирования Новый размер: 15; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 50 м (x2 на 158 м) Horizontal-Pod-Autoscaler Новый размер: 8; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 48-метровый горизонтальный модуль автомасштабирования Новый размер: 7; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 43 м (x2 на 105 м) Horizontal-Pod-Autoscaler Новый размер: 8; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 43-метровый горизонтальный модуль автомасштабирования Новый размер: 12; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 37 м (x2 на 48 м) Horizontal-Pod-Autoscaler Новый размер: 6; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 34 м (x2 на 47 м) Horizontal-Pod-Autoscaler Новый размер: 5; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 29 м (x2 на 46 м) Horizontal-pod-autoscaler Новый размер: 4; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 28-метровый горизонтальный модуль автомасштабирования Новый размер: 2; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 16 м (x2 на 106 м) Horizontal-Pod-Autoscaler Новый размер: 1; причина: использование ресурсов процессора (процент запроса) ниже целевого
Обычный SuccessfulRescale 15-метровый горизонтальный модуль автомасштабирования Новый размер: 5; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 13 м (x2 на 148 м) Horizontal-Pod-Autoscaler Новый размер: 10; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 13 м (x3 на 123 м) Horizontal-Pod-AutoScaler Новый размер: 16; причина: использование ресурсов процессора (в процентах от запроса) выше целевого
Обычный SuccessfulRescale 8 м3 (x2 на 129 м) Horizontal-Pod-Autoscaler Новый размер: 10; причина: использование ресурсов процессора (процент запроса) ниже целевого
Он сообщает метрику: "188% (943м) / 85%». Но последнее событие говорит «ниже цели".
Не могли бы вы помочь мне понять поведение автомасштабатора GKE или предложить способ его отладки?