В настоящее время я пытаюсь автоматически масштабировать развертывание, когда не удалось выполнить тест готовности для его запущенных модулей.
Модуль находится в состоянии бездействия до тех пор, пока ему не будет отправлен запрос POST, и пока он обрабатывает запрос, он не отвечает ни на какие другие запросы.
Чтобы знать, когда выполняется обработка, я создал конечную точку, возвращающую TRUE, если модуль IDLE, и FALSE в противном случае.
Я настраиваю зонд готовности для запроса этой конечной точки, чтобы пометить ее как недоступную, когда выполняется обработка (и чтобы пометить ее как доступную, когда она больше не обрабатывается).
По умолчанию у меня есть ограниченный пул модулей (например, 5), которые могут отвечать на запросы.
Но я все еще хочу иметь возможность отправить еще один POST с другими параметрами для запуска другой обработки, когда все мои 5 модулей недоступны.
Итак, когда проверка готовности не выполняется для всех модулей, я хочу масштабировать развертывание, чтобы другие модули могли отвечать на запросы.
Проблема здесь в том, что я не нашел, как это сделать с K8S и возможно ли это вообще. Есть ли кто-нибудь, кто мог бы мне в этом помочь?
Альтернативой может быть создание модуля-наблюдателя, который будет наблюдать за всеми проверками готовности для данного развертывания, и когда я откажусь от всех модулей, часы будут отвечать за масштабирование развертывания.
Но эта альтернатива подразумевает развитие, которого я бы хотел избежать, если это изначально возможно в K8S.
Спасибо :)