Так как вы упомянули Custom Auto Scaler. Я хотел бы предложить это простое решение, которое использует некоторые из инструментов, которые у вас уже могут быть.
Первая часть: Это создание службы или хрон или любой основанный на времени триггер, который будет наРегулярно делайте запросы к вашему развернутому приложению. Затем это приложение будет сохранять результирующие метрики в постоянном хранилище или файле или базе данных и т. Д.
Например, если вы используете простой инструмент CLI Apache Benchmark (вы также можете использовать Jmeter или любой другой инструмент нагрузочного тестирования, который генерирует структурированныйо / п), вы получите подробный результат по одному запросу. Используйте эту ссылку , чтобы обойти результат для вашей справки.
Вторая часть Это тот же сценарий, который также может вызвать другое событие, которое проверит задержку или ответограничение по времени настроено согласно вашему требованию. Если время отклика выше настроенной шкалы значений, если оно ниже шкалы вниз.
Логика уменьшения может быть более тривиальной, но я оставлю это вам.
Теперь для фактического масштабирования развертывания вы можете использовать API Kubernetes. Вы можете обратиться к официальному документу или этот ответ для деталей. Вот простая блок-схема.