Работать не чаще одного раза в Куберне
В документации kubernetes есть следующая заметка на странице https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
Обратите внимание, что даже если вы укажете.spec.parallelism = 1 и.spec.completions = 1 и.spec.template.spec.restartPolicy = "Никогда", одна и та же программа может иногда запускаться дважды.
Можно ли этого избежать? Например: можем ли мы убедиться, что работа начинается только самое лучшее?
Благодарю.
1 ответ
Нет, механизм контроллера заданий kubernetes не поддерживает семантику "максимально один раз" или "точно один раз". Существуют различные расовые и неудачные условия, от которых нужно было бы защищаться, по крайней мере, один раз и ровно один раз. Все, что делают контроллеры kube, - это периодически согласовывает обнаруженные ими данные о состоянии кластера со спецификацией.