Модуль развертывания или CronJob для ежеминутной работы?

Я начинаю в Kubernetes, и у меня есть вопрос о CronJob, в моем проекте мне нужно, чтобы задание cron запускалось каждую минуту. Во многих руководствах люди используют ресурс CronJob, я настраиваю его и вижу, что каждую минуту создается модуль для выполнения команды, который затем уничтожается, причем на неопределенный срок. Интересно, интересно ли в моем случае (каждую минуту) использовать ресурс Kubernetes CronJob, зная, что каждую минуту под создается путем извлечения изображения и т. Д. Я считаю этот процесс немного громоздким, не лучше ли иметь простой pod, выполняющий cron традиционным способом?


person Youss    schedule 10.06.2020    source источник


Ответы (2)


Посмотрите на выполнение cronjob внутри модуля вместо kubernetes CronJob. Таким образом, вам не нужно беспокоиться о запуске нового модуля каждую минуту.

person P Ekambaram    schedule 10.06.2020
comment
Вот что я подумал, лучше иметь модуль с crontab и запускать свою работу традиционным способом, чем использовать CronJob кубернетов. - person Youss; 10.06.2020

Я предпочитаю запускать cronjobs как рабочую нагрузку Kubernetes с использованием CronJobs. По сравнению с запуском задания внутри одного модуля, запуск как CronJob позволяет Kubernetes эффективно управлять ресурсами. Кроме того, вы можете легко масштабировать количество заданий, и вы не ограничены одним узлом.

Однако вам придется иметь дело с неудачными заданиями, перекрывающимися заданиями, идемпотентностью и т. Д., Которые вы должны решить с помощью любого планировщика.

Кроме того, вы можете рассмотреть возможность использования специальных модулей в зависимости от вашего бизнес-сценария. Если вы реализуете издателя-подписчика, тогда имеет смысл запускать выделенные контейнеры. Для простых заданий CronJobs должен работать.

Кстати, вам не нужно каждый раз беспокоиться о вытаскивании изображений. Вы можете указать imagePullPolicy как IfNotPresent.

Изображение извлекается только в том случае, если его еще нет локально.

person Rajan Panneer Selvam    schedule 10.06.2020