感谢您的反馈!
一个 CronJob 对象就像 crontab (cron table) 文件中的一行。它用 Cron 格式进行编写,并周期性地在给定的调度时间执行 Job。
ListJobHistories
, 查询单个Job的OpenApi接口:DescribeJobLog
Cron Job 在每次调度运行时间内 大概 会创建一个 Job 对象。之所以说 大概 ,是因为在特定的环境下可能会创建两个 Job,或者一个 Job 都没创建。k8s会尝试少发生这种情况,但却不能完全避免。因此,创建 Job 操作应该是 幂等 的。
Job 根据它所创建的 Pod 的并行度,负责重试创建 Pod,并就决定这一组 Pod 的成功或失败。Cron Job 不会去检查 Pod。
.spec.successfulJobsHistoryLimit
和 .spec.failedJobsHistoryLimit
这两个字段是可选的。它们指定了可以保留完成和失败 Job 数量的限制。默认没有限制,所有成功和失败的 Job 都会被保留。然而,当运行一个 Cron Job 时,很快就会堆积很多 Job,推荐设置这两个字段的值。设置限制值为 0,相关类型的 Job 完成后将不会被保留。
.metadata.name
字段为系统指定,不允许用户自己指定。.spec.suspend
为true,再重新发布即可。