Количество подов в Kubernetes по задачам

У меня есть определенная задача обработки, которую я хочу решить с помощью кубернетов. Основная концепция состоит в том, что в очереди работ есть определенное количество элементов, которые я хочу обработать. Элементы могут быть добавлены в очередь и удалены, как только модуль завершит их обработку. Предпочтительный рабочий процесс:

  • Определение максимального количества модулей (например, 40)
  • помещать элементы в очередь (например, 20)
  • количество контейнеров создается в соответствии с количеством элементов в очереди (=> 20)
  • пока модули все еще обрабатывают 20 элементов, еще 40 элементов помещаются в очередь, в результате чего создается еще 20 модулей (достигается максимальное количество), и как только первые из них завершают работу, создаются дополнительные модули до конца очередь достигнута.

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

Спасибо за вашу помощь!


person Fabian83    schedule 09.10.2018    source источник


Ответы (1)


Воспользуйтесь горизонтальным автоматическим масштабированием модулей. Возможно, вам придется определить специальные метрики для получения количества элементов в очереди и использовать их в HPA.

person Praveen Sripati    schedule 09.10.2018
comment
Спасибо, что указали мне на это, это привело меня к другой странице, которая решила мою проблему: kubernetes.io/docs/tasks/job/parallel-processing-expansion - person Fabian83; 12.10.2018