Kubernetes Cronjob: Сброс пропущенного времени запуска после восстановления кластера

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

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

Cannot determine if job needs to be started: Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew.

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

Как я могу сбросить количество пропущенных запусков и снова запланировать эти задания (не планируя внезапный запуск всех пропущенных заданий?)

1 ответ

Согласно документации kubernetes Cronjob, похоже, нет способа решить эту проблему. Установка.spec.startingDeadlineSecondsзначение на большое число будет перепланировать все пропущенные вхождения, попадающие в увеличенное окно.

Мое решение было просто kubectl delete cronjob x-y-z и воссоздайте его, который работал как хотите.

Другие вопросы по тегам