admin管理员组

文章数量:1530842

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

  • 概念
  • 样例配置
  • Cron调度语法
  • CronJob 限制
  • 参考链接

概念

  • 内容介绍

    一个 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/othertools/cron/

  • 定时任务cron表达式详解

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

本文标签: 详解参数K8sCronJobschedule