Kubernetes Cronjob:在集群恢复后重置错过的启动时间

Kubernetes Cronjob: Reset missed start times after cluster recovery

我有一个集群,其中包含计划每 5 分钟 运行 的 Cronjob。

我们最近遇到了一个导致停机并需要手动恢复集群的问题。虽然现在恢复健康,但这个特定的 cronjob 无法 运行 并出现以下错误:

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

我了解到 Cronjob 在集群关闭时有 'missed' 多个计划的作业,并且已经超过了不会安排更多作业的阈值。

如何重置错过的开始次数并重新安排这些作业(不安排所有个错过的作业突然运行?)

根据 kubernetes Cronjob docs,似乎没有办法彻底解决这个问题。将 .spec.startingDeadlineSeconds 值设置为较大的数字将 re-schedule 所有 丢失的事件属于增加的 window.

我的解决方案只是 kubectl delete cronjob x-y-z 并重新创建它,效果如愿。