我们在日常的工作中经常会遇到一些需要进行批量数据处理和分析的需求,当然也会有按时间进行调度的工作,在kubernetes集群中为我们提供了job和Cronjob两种资源对象来应对这种需求。
目录
2、successfulJobsHistoryLimit 和failedJobsHistoryLimit
3、startingDeadlineSeconds:任务延迟开始的最后期限
k8s的Job和Cronjob
主要任务包含两种:
- Job负责批处理任务,即仅执行一次的任务,它保证批处理的一个或者多个Pod成功结束。
- Cronjob是基于job的基础上添加了时间调度。
一、job:
1、机制
- Job 会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的(.spec.completions) Pod 成功终止。
- 随着 Pod 成功结束(.status.phase=Succeeded),Job 跟踪记录成功完成的 Pod 个数。当数量达到指定的成功个数阈值时,任务(即 Job)结束。
- 删除 Job 的操作会清除所创建的全部 Pod。
- 挂起 Job 的操作会删除 Job 的所有活跃 Pod,直到 Job 被再次恢复执行。
2、资源清单详解
- Job 的.spec 中只有.spec.template 是必需的字段
- Job中Pod的RestartPolicy(重启策略)只能设置为