无法确定作业是否需要启动:错过启动时间太多 (> 100)。设置或减少 .spec.startingDeadlineSeconds 或检查时钟偏差
Cannot determine if job needs to be started: Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew
我创建了一个 cron 作业并将其推送到部署,但是当我在 OpenShift 中看到它 运行ning 时,我收到以下错误消息:
Cannot determine if job needs to be started: Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew.
据我了解,作业失败 运行。但我不明白为什么它会失败。为什么没有记录在某处? - 如果是,我在哪里可以找到它?
CronJob 控制器将继续尝试根据最近的计划启动作业,但一直失败,显然它已经这样做了 >100 次。
我已经检查了我的 cron 作业的语法,它没有给出任何错误。还有如果有什么语法信息,我连push都不行
有人知道怎么回事吗?
我的 Cron 作业:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
schedule: "*/5 * * * *"
# activeDeadlineSeconds: 180 # 3 min <<- should this help and why?
jobTemplate:
spec:
template:
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
containers:
- name: my-cjob
image: my-image-name
restartPolicy: OnFailure
或者我应该使用 startingDeadlineSeconds
?有人遇到此错误消息并找到了解决方案吗?
根据评论更新
当 运行ning kubectl get cronjob
我得到以下信息:
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
my-cjob */5 * * * * False 0 <none> 2d
当 运行ning kubectl logs my-cjob
我得到以下信息:
Error from server (NotFound): pods "my-cjob" not found
当 运行ning kubectl describe cronjob my-cjob
我得到以下信息:
Error from server (NotFound): the server could not find the requested resource
当运行宁kubectl logs <cronjob-pod-name>
我得到很多行代码...我很难理解和整理..
当 运行ning kubectl describe pod <cronjob-pod-name>
我也得到了很多,但这更容易排序。有什么具体的吗?
运行 kubectl get events
我得到了很多,但我认为这是相关的:
LAST SEEN FIRST SEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE
1h 1h 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Pod spec.containers{apiproxy} Warning Unhealthy kubelet, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Liveness probe failed: Get http://xxxx/xxxx: dial tcp xxxx:8080: connect: connection refused
将 startingDeadlineSeconds 设置为 180 解决了问题 + 删除了 spec.template.metadata.labels.
我暂停了我的工作负载,然后在相当长一段时间后恢复它,并看到了同样的错误。
这不是一个错误吗,因为我在暂停和恢复之间的任何时间故意触发了暂停操作,不应计入错过的开始。
我创建了一个 cron 作业并将其推送到部署,但是当我在 OpenShift 中看到它 运行ning 时,我收到以下错误消息:
Cannot determine if job needs to be started: Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew.
据我了解,作业失败 运行。但我不明白为什么它会失败。为什么没有记录在某处? - 如果是,我在哪里可以找到它?
CronJob 控制器将继续尝试根据最近的计划启动作业,但一直失败,显然它已经这样做了 >100 次。
我已经检查了我的 cron 作业的语法,它没有给出任何错误。还有如果有什么语法信息,我连push都不行
有人知道怎么回事吗?
我的 Cron 作业:
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
schedule: "*/5 * * * *"
# activeDeadlineSeconds: 180 # 3 min <<- should this help and why?
jobTemplate:
spec:
template:
metadata:
name: my-cjob
labels:
job-name: my-cjob
spec:
containers:
- name: my-cjob
image: my-image-name
restartPolicy: OnFailure
或者我应该使用 startingDeadlineSeconds
?有人遇到此错误消息并找到了解决方案吗?
根据评论更新
当 运行ning kubectl get cronjob
我得到以下信息:
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
my-cjob */5 * * * * False 0 <none> 2d
当 运行ning kubectl logs my-cjob
我得到以下信息:
Error from server (NotFound): pods "my-cjob" not found
当 运行ning kubectl describe cronjob my-cjob
我得到以下信息:
Error from server (NotFound): the server could not find the requested resource
当运行宁kubectl logs <cronjob-pod-name>
我得到很多行代码...我很难理解和整理..
当 运行ning kubectl describe pod <cronjob-pod-name>
我也得到了很多,但这更容易排序。有什么具体的吗?
运行 kubectl get events
我得到了很多,但我认为这是相关的:
LAST SEEN FIRST SEEN COUNT NAME KIND SUBOBJECT TYPE REASON SOURCE MESSAGE
1h 1h 2 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Pod spec.containers{apiproxy} Warning Unhealthy kubelet, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Liveness probe failed: Get http://xxxx/xxxx: dial tcp xxxx:8080: connect: connection refused
将 startingDeadlineSeconds 设置为 180 解决了问题 + 删除了 spec.template.metadata.labels.
我暂停了我的工作负载,然后在相当长一段时间后恢复它,并看到了同样的错误。 这不是一个错误吗,因为我在暂停和恢复之间的任何时间故意触发了暂停操作,不应计入错过的开始。