当前位置: 首页 > news >正文

kubernetes中离线业务编排详解JobCronJob之Job控制器CronJob

CronJob 描述的是定时任务

使用 CronJob 定期运行一个任务(例如每分钟打印一次时间)。

[root@master ~]# kubectl explain cronjob
GROUP:      batch
KIND:       CronJob
VERSION:    v1
....[root@master job]# cat cronjob-task.yml 
apiVersion: batch/v1
kind: CronJob
metadata:name: minute-cron
spec:schedule: "* * * * *"  # 每分钟执行一次jobTemplate: #定义job模板spec:template:spec:containers:- name: time-echoimage: busyboxcommand: ["sh", "-c", "date && echo 'CronJob executed'"]restartPolicy: OnFailure[root@master job]# kubectl apply -f cronjob-task.yml 
cronjob.batch/minute-cron created

CronJob 与 Job 的关系,同 Deployment 与 Pod 的关系一样。

CronJob 是一个专门用来管理 Job 对象的控制器。它创建和删除 Job 的依据,是 schedule 字段定义的、一个标准的Unix Cron格式的表达式。

比如:

*/1   *    *  *   *
分钟、小时、日、月、星期

这个 Cron 表达式里 */1 中的 * 表示从 0 开始,/ 表示"每",1 表示偏移量。所以,它的意思就是:从 0 开始,每 1 个时间单位执行一次。

本例表示从当前开始,每分钟执行一次

这里要执行的内容,就是 jobTemplate 定义的 Job 。

[root@master job]# kubectl get cronjobs
NAME          SCHEDULE    TIMEZONE   SUSPEND   ACTIVE   LAST SCHEDULE   AGE
minute-cron   * * * * *   <none>     False     0        <none>          10s[root@master job]# kubectl get pod
NAME                         READY   STATUS      RESTARTS   AGE
minute-cron-29103023-mrvpm   0/1     Completed   0          48s[root@master job]# kubectl get pod -w  #动态查看,每分钟都会创建一个新的pod
NAME                         READY   STATUS              RESTARTS   AGE
minute-cron-29103023-mrvpm   0/1     Completed           0          78s
minute-cron-29103024-w5mmg   0/1     ContainerCreating   0          18s
minute-cron-29103024-w5mmg   0/1     Completed           0          23s
minute-cron-29103024-w5mmg   0/1     Completed           0          25s
minute-cron-29103024-w5mmg   0/1     Completed           0          25s
minute-cron-29103024-w5mmg   0/1     Completed           0          26s[root@master job]# kubectl get pod
NAME                         READY   STATUS              RESTARTS   AGE
minute-cron-29103023-mrvpm   0/1     Completed           0          2m12s
minute-cron-29103024-w5mmg   0/1     Completed           0          72s
minute-cron-29103025-vgfkm   0/1     ContainerCreating   0          12s

查看任务输出

[root@master job]# kubectl logs minute-cron-29103024-w5mmg
Fri May  2 10:24:22 UTC 2025
CronJob executed

相关文章:

  • 新手学编程前端好还是后端
  • Android学习总结之jetpack组件间的联系
  • DarkGS:论文解读与全流程环境配置及数据集测试【基于Ubuntu20.04 】【2025最新实战无坑版!!】
  • 数字智慧方案5874丨智慧交通收费稽核管理体系的构建与思考(44页PPT)(文末有下载方式)
  • Python基于深度学习的网络舆情分析系统(附源码,部署)
  • 深入解析C++11基于范围的for循环:更优雅的容器遍历方式
  • C# 方法(局部变量和局部常量)
  • 快速集成 Flutter Shorebird 热更新
  • 【嵌入式Linux】基于ARM-Linux的zero2平台的智慧楼宇管理系统项目
  • 体系结构论文(八十二):A Comprehensive Analysis of Transient Errors on Systolic Arrays
  • 从此,K8S入门0门槛!
  • Android基础控件用法介绍
  • 见多识广4:Buffer与Cache,神经网络加速器的Buffer
  • 【Unity 游戏开发】角色控制模块技术要点拆解
  • 深入解析MapReduce:大数据处理的经典范式
  • 美丽天天秒链动2+1源码(新零售商城搭建)
  • Linux架构篇、第一章_03安装部署nginx
  • Python Cookbook-6.15 实现单例模式
  • C++模板知识
  • 3033. 修改矩阵
  • 公积金利率降至历史最低!多项房地产利好政策落地,购房者置业成本又降了
  • 人民日报评论:莫让“胖东来们”陷入“棒杀”“捧杀”泥潭
  • Neuralink脑接设备获FDA突破性医疗设备认证
  • A股高开高走,三大股指涨超1.1%:两市成交1.3万亿元,近5000股收涨
  • 儿童文学作家周晴病逝,享年57岁
  • 巴菲特第60次股东大会开场点赞库克:他为伯克希尔赚的钱比我还多