Пользовательское действие Kubernetes при сбое проверки готовности - PullRequest
0 голосов
/ 05 августа 2020
• 1000 он не отвечает ни на один другой запрос.

Чтобы знать, когда выполняется обработка, я создал конечную точку, возвращающую TRUE, если модуль находится в состоянии IDLE, и FALSE в противном случае.

Я настраиваю проверку готовности на запросить эту конечную точку, чтобы пометить ее как недоступную во время обработки (и пометить ее как доступную, когда она больше не обрабатывается).

По умолчанию у меня есть ограниченный пул модулей (например, 5), которые может отвечать на запросы.

Но я все еще хочу иметь возможность отправить еще один POST с другими параметрами для запуска другой обработки, когда все мои 5 модулей недоступны.

Итак, когда проверка готовности не проходит для все модули, я хочу масштабировать развертывание, чтобы другие модули могли отвечать на запросы.

i Дело в том, что я не нашел, как это сделать с K8S и возможно ли это вообще. Есть ли кто-нибудь, кто мог бы мне помочь в этом?

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

Но эта альтернатива подразумевает разработку, которой я бы хотел избежать, если это изначально возможно сделать в K8S.

Спасибо :)

1 Ответ

2 голосов
/ 05 августа 2020

Зонд готовности сам по себе не может масштабировать развертывание. По умолчанию единственное, что он может сделать, - это удалить IP-адрес модуля из конечных точек всех сервисов, соответствующих этому модулю.

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

...