K8S学习之定时任务CronJob配置schedule参数详解

K8S学习之定时任务CronJob配置schedule参数详解

概念

  • 内容介绍

    一个 CronJob 对象就像crontab(cron 表)文件的一行。它按照给定的计划定期运行作业,以Cron格式编写。

样例配置

  • cronjob.yaml

    CronJob 清单每分钟打印一次当前时间和一条 hello 消息

    
    
        apiVersion: batch/v1
        kind: CronJob
        metadata:
        name: hello
        spec:
        schedule: "*/1 * * * *"
        jobTemplate:
            spec:
            template:
                spec:
                containers:
                - name: hello
                    image: busybox
                    imagePullPolicy: IfNotPresent
                    command:
                    - /bin/sh
                    - -c
                    - date; echo Hello from the Kubernetes cluster
                restartPolicy: OnFailure
    
    
    
    

Cron调度语法

  • 语法说明

    注意K8S的定时任务仅支持5位,从minute开始

    
        # ┌───────────── minute (0 - 59)
        # │ ┌───────────── hour (0 - 23)
        # │ │ ┌───────────── day of the month (1 - 31)
        # │ │ │ ┌───────────── month (1 - 12)
        # │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
        # │ │ │ │ │                                   7 is also Sunday on some systems)
        # │ │ │ │ │
        # │ │ │ │ │
        # * * * * *
    
    
    

CronJob 限制

  • 内容介绍

    如果startingDeadlineSeconds设置为一个较大的值或未设置(默认值)并且如果concurrencyPolicy设置为Allow,则作业将始终至少运行一次

    如果startingDeadlineSeconds设置为小于 10 秒的值,则可能无法安排 CronJob。这是因为 CronJob 控制器每 10 秒检查一次

参考链接

  • K8S定时任务官方文档

    https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

  • crontab.guru 网络工具

    https://crontab.guru/

  • cron表达式生成工具

    https://www.bejson.com/othertools/cron/

  • 定时任务cron表达式详解

    https://blog.csdn.net/fanrenxiang/article/details/80361582

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值