Kubernetes CronJob定时器

涉及文档

编写Cron工作规范

Cron 子参数名称注解
schedule必填字段.spec,它采用Cron格式
jobTemplate作业的模板,它是必需的。它具有与Job完全相同的架构
startingDeadlineSeconds可选的。如果它由于任何原因错过了计划的时间,则表示开始工作的最后期限(以秒为单位),注意startingDeadlineSeconds 的设置值低于 10 秒钟,CronJob 可能无法被调度。 这是因为 CronJob 控制器每 10 秒钟执行一次检查
concurrencyPolicyAllow(默认):cron作业允许同时运行的作业

Forbid:cron作业不允许并发运行;如果是开始新的作业并且之前的作业尚未完成,则cron作业会跳过新的作业 ,去操作执行执行未完成的任务

Replace:如果是开始新的作业·并且之前的作业尚未完成·,则cron作业将·当前正在运行的作业替换为新的作业·
suspend所有后续执行都将被挂起。此设置不适用于已经开始的执行。默认为false。
successfulJobsHistoryLimit保留多少已完成的作业。
failedJobsHistoryLimit保留多少失败的作业。

Cron 时间表语法

# ┌───────────── 分钟 (0 - 59)
#  ┌───────────── 小时 (0 - 23)
#   ┌───────────── 月的某天 (1 - 31)
#    ┌───────────── 月份 (1 - 12)
#     ┌───────────── 周的某天 (0 - 6) (周日到周一;在某些系统上,7 也是星期日)
#                                        
#     
#     
# * * * * *

CronJob 简介

CronJobs 对于创建周期性的、反复重复的任务很有用,例如执行数据备份或者发送邮件。 CronJobs 也可以用来计划在指定时间来执行的独立任务,例如计划当集群看起来很空闲时 执行某个 Job。


CronJob 需要注意点:

  • 如果 startingDeadlineSeconds 的设置值低于 10 秒钟,CronJob 可能无法被调度。 这是因为 CronJob 控制器每 10 秒钟执行一次检查。
  • 检查从上一次调度的时间点到现在所错过了调度次数,如果错过的调度次数超过 100 次, 那么它就不会启动这个任务,并记录这个错误: Cannot determine if job needs to be started. Too many missed start time (> 100). Set or decrease .spec.startingDeadlineSeconds or check clock skew.
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值