Как запустить многошаговое задание cron, но при этом сделать возможным выполнение одного шага вручную? - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть конвейер данных в Go с шагами A, B и C. В настоящее время это три двоичных файла.Они совместно используют одну и ту же базу данных, но записывают в разные таблицы.При локальной разработке я просто запускаю ./a && ./b && ./c.Я хочу развернуть этот конвейер в нашем кластере Kubernetes.

Я хочу, чтобы A -> B -> C запускался один раз в день, но иногда (для отладки и т. Д.) Я могу просто захотеть запустить A вручнуюили B или C в изоляции.

Есть ли простой способ добиться этого в Куберне?

Я не нашел много ресурсов по этому вопросу, так что, может быть, это демонстрирует проблему с дизайном моего приложения?

1 Ответ

0 голосов
/ 27 сентября 2018

Создайте образ докера, который содержит все три двоичных файла и скрипт-обертку для запуска всех трех.

Затем разверните Kubernetes CronJob, который запускает все три последовательно (используя скрипт-обертку в качестве точки входа / команды),с соответствующим расписанием.

Для отладки вы можете просто запустить тот же образ вручную:

kubectl -n XXX run debug -it --rm --image=<image> -- /bin/sh
$ ./b
...
...