我知道Kubernetes CronJobs创建了按CronJob内部指定的时间表运行的Pod。但是,保留政策似乎是武断的,我看不到可以在一段时间内保留失败/成功的Pod的方法。
答案 0 :(得分:1)
我不确定您在这里问的是什么。
CronJob不创建吊舱。它创建了Jobs(也进行管理),而这些Jobs正在创建Pod。 根据Kubernetes Jobs Documentation,如果作业由更高级别的控制器(例如CronJobs)直接管理,则CronJobs可以基于指定的基于容量的清除策略来清除作业。简而言之,除非删除CronJob,否则不会删除吊舱和作业。您将能够从Pods / Jobs / CronJob中检查日志。只需使用kubctl describe
默认情况下,CronJob保留3个成功作业和1个失败作业的历史记录。您可以通过以下参数在CronJob规范中更改此限制:
spec:
successfulJobsHistoryLimit 10
failedJobsHistoryLimit 0
0表示CronJob将不保留任何失败的作业历史记录
10意味着CronJob将保留10个成功工作的历史记录
您将无法从失败的作业中保留Pod,因为当作业失败时,它将重新启动,直到成功或达到规范中指定的backoffLimit。
您还可以选择暂停CronJob。
kubctl patch cronjob <name_of_cronjob> -p '{"spec:"{"suspend":true}}'
如果spuspend的值为true,则CronJob将不会创建任何新作业或Pod。您将有权访问已完成的广告连播和工作。
如果以上方法均无济于事,请您提供更多信息,您究竟期望得到什么?
CronJob规范会有所帮助。