Kubernetes 中的任务调度与服务模式解析
1. CronJob 解析
CronJob 是一种特殊的任务调度机制,它为工作单元添加了类似 Cron 的集群化行为。以下是 CronJob 的一些关键属性:
- .spec.startingDeadlineSeconds :若任务错过预定时间,该属性指定其启动的截止时间(以秒为单位)。在某些场景中,任务只有在特定时间范围内执行才有效,若延迟执行则失去意义。例如,由于计算资源不足或依赖缺失导致任务未在期望时间执行,此时跳过该次执行可能是更好的选择,因为待处理的数据可能已过时。
- .spec.concurrencyPolicy :规定了如何管理由同一 CronJob 创建的任务的并发执行。默认策略 Allow 允许在之前的任务未完成时创建新的任务实例。若不希望这样,可以使用 Forbid 策略跳过下一次运行,或者使用 Replace 策略取消当前正在运行的任务并启动新任务。
- .spec.suspend :该字段可暂停所有后续执行,且不影响已启动的执行。
- .spec.successfulJobsHistoryLimit 和 .spec.failedJobsHistoryLimit :指定为审计目的应保留的已完成和失败任务的数量。
CronJob 虽然不是通用的原语,但它很好地展示了 Kubernetes 能力的相互构建,还能支持非云原生用例。当与 Pod、容器资源隔离
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



