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

Kubernetes CronJob 速查手册:核心语法与实战示例

Kubernetes CronJob 速查手册核心语法与实战示例你是否曾经因为 Kubernetes CronJob 的复杂配置而感到头疼本文提供详尽的语法和示例帮你快速解决实际问题。核心语法基本结构apiVersion: batch/v1 kind: CronJob metadata: name: example spec: schedule: */5 * * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailureapiVersion: batch/v1指定 API 版本kind: CronJob指定资源类型metadata.nameCronJob 的名称spec.scheduleCron 表达式定义任务的执行时间spec.jobTemplateJob 的模板定义实际执行的任务Cron 表达式表达式描述* * * * *每分钟执行一次0 * * * *每小时的第 0 分钟执行一次0 0 * * *每天的午夜执行一次0 0 * * 0每周的周日午夜执行一次0 0 1 * *每月的 1 号午夜执行一次资源限制resources: limits: cpu: 1 memory: 2Gi requests: cpu: 0.5 memory: 1Gilimits资源上限requests资源请求并发策略策略描述Allow允许并行执行Forbid禁止并行执行Replace新任务替换旧任务失败与成功策略spec: successfulJobsHistoryLimit: 3 failedJobsHistoryLimit: 2 backoffLimit: 4successfulJobsHistoryLimit保留成功的任务数量failedJobsHistoryLimit保留失败的任务数量backoffLimit任务失败重试次数超时设置spec: template: spec: activeDeadlineSeconds: 100activeDeadlineSeconds任务的最大运行时间秒挂载卷volumes: - name: task-pv-storage persistentVolumeClaim: claimName: task-pv-claim containers: - name: job image: busybox volumeMounts: - mountPath: /mnt/data name: task-pv-storagevolumes定义卷volumeMounts挂载卷到容器任务调度concurrencyPolicy: Forbid startingDeadlineSeconds: 100concurrencyPolicy并发策略startingDeadlineSeconds任务必须在指定时间内启动否则被放弃任务启动配置spec: schedule: */5 * * * * startingDeadlineSeconds: 100 concurrencyPolicy: Forbid jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailurescheduleCron 表达式startingDeadlineSeconds任务启动的截止时间concurrencyPolicy并发策略环境变量env: - name: MESSAGE value: Hello, Kubernetes!env环境变量ConfigMap 和 Secret 挂载envFrom: - configMapRef: name: example-configmap - secretRef: name: example-secretenvFrom从 ConfigMap 或 Secret 中挂载环境变量定时任务示例每 5 分钟执行一次apiVersion: batch/v1 kind: CronJob metadata: name: every-5-minutes spec: schedule: */5 * * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailure每天午夜执行一次apiVersion: batch/v1 kind: CronJob metadata: name: daily-midnight spec: schedule: 0 0 * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo Running daily task at midnight restartPolicy: OnFailure每周周日午夜执行一次apiVersion: batch/v1 kind: CronJob metadata: name: weekly-sunday-midnight spec: schedule: 0 0 * * 0 jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo Running weekly task at midnight on Sunday restartPolicy: OnFailure每月 1 号午夜执行一次apiVersion: batch/v1 kind: CronJob metadata: name: monthly-first-day spec: schedule: 0 0 1 * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo Running monthly task at midnight on the 1st day restartPolicy: OnFailure高级用法挂载持久卷apiVersion: batch/v1 kind: CronJob metadata: name: mount-pv spec: schedule: */5 * * * * jobTemplate: spec: template: spec: volumes: - name: task-pv-storage persistentVolumeClaim: claimName: task-pv-claim containers: - name: job image: busybox args: - /bin/sh - -c - echo Task started at $(date); cat /mnt/data/example.txt volumeMounts: - mountPath: /mnt/data name: task-pv-storage restartPolicy: OnFailure传递环境变量apiVersion: batch/v1 kind: CronJob metadata: name: env-vars spec: schedule: */5 * * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo Message: $MESSAGE env: - name: MESSAGE value: Hello, Kubernetes! restartPolicy: OnFailure指定资源限制apiVersion: batch/v1 kind: CronJob metadata: name: resource-limits spec: schedule: */5 * * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo Task with resource limits resources: limits: cpu: 1 memory: 2Gi requests: cpu: 0.5 memory: 1Gi restartPolicy: OnFailure设置超时apiVersion: batch/v1 kind: CronJob metadata: name: timeout-example spec: schedule: */5 * * * * jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - sleep 120; echo Task completed activeDeadlineSeconds: 100 restartPolicy: OnFailure限制并行任务apiVersion: batch/v1 kind: CronJob metadata: name: no-parallel spec: schedule: */5 * * * * concurrencyPolicy: Forbid jobTemplate: spec: template: spec: containers: - name: job image: busybox args: - /bin/sh - -c - echo No parallel tasks allowed restartPolicy: OnFailure常见问题与解决任务未按计划执行检查schedule配置是否正确检查startingDeadlineSeconds是否过期检查集群资源是否充足任务执行失败检查backoffLimit是否设置得当检查容器日志查看具体错误信息检查任务依赖的资源是否可用任务执行时间不一致检查节点的时钟是否同步检查spec.startingDeadlineSeconds是否设置得当优化技巧减少资源浪费设置适当的resources限制和请求使用activeDeadlineSeconds防止任务无限运行管理历史任务调整successfulJobsHistoryLimit和failedJobsHistoryLimit保留必要的历史记录调试任务使用kubectl logs查看容器日志使用kubectl describe查看任务详细信息工具推荐Cron 表达式生成器通过中文描述快速生成 Cron 表达式简化配置过程。 正则表达式生成器帮助你快速生成和测试正则表达式。 中英互译在线翻译工具支持中文和英文互译。 JSON 格式化在线 JSON 格式化和验证工具方便阅读和调试。 Base64 编码解码在线 Base64 编码和解码工具适用于各种场景。 时间戳转换在线时间戳转换工具支持多种时间格式。 JWT 解析在线解析 JWT方便调试和验证。收藏这些工具让 Kubernetes CronJob 的配置和调试更加轻松。
http://www.zskr.cn/news/1374949.html

相关文章:

  • 最新热门个人AI编程工具全盘点,独立开发者副业开发首选AI编程助手
  • 告别刻录盘!用Rufus 4.5把旧U盘秒变Win10安装神器(保姆级图文)
  • Alpine Linux的apk包管理器,除了安装软件还能做什么?(5个隐藏用法解析)
  • Linux运维排查:当进程卡死时,用ipcs命令快速定位信号量或共享内存问题
  • 我是KKKKKKK
  • 手把手教你CentOS7升级gcc和make,为glibc升级铺平道路(含依赖检查清单)
  • 基于随机森林的H I 21厘米吸收线自动分类:从谱线拟合到天体物理洞察
  • 新手学java多态的感受
  • 构建负责任AI日志框架:从公平性、可解释性到合规审计的工程实践
  • 数字图像处理-7-图像的梯度锐化算法
  • 2026年比较好的洗衣机碳刷/南通风扇碳刷/跑步机碳刷/汽车起动机碳刷厂家哪家好 - 行业平台推荐
  • AlphaEvolve:LLM与进化算法融合的自动代码优化系统
  • 告别臃肿!用终端命令一键清理macOS Sonoma里不用的4K动态壁纸
  • ARM SME多向量浮点运算指令FAMAX/FAMIN详解
  • 全波形反演新思路:大步长梯度优化器如何克服周波跳跃难题
  • 后端开发与DevOps的融合:持续集成与部署实战
  • 为什么你的ChatGPT公众号打开率不足8%?腾讯内部流出的3类高唤醒标题公式(限时公开)
  • CryENGINE三层架构实战:C++/C#/Lua协同开发与安全绑定
  • 【论文阅读】VLAW: Iterative Co-Improvement of Vision-Language-Action Policy and World Model
  • HTTPS静态资源403/404根因排查:从Nginx配置到SELinux权限
  • Scalify:基于e-graph的分布式机器学习计算图等价性验证工具
  • 共有云环境redis的热key怎么处理
  • 欧盟AI法案下的公平性实践:从透明度、可解释性到可审计指标
  • 纸上得来终觉浅?从 0 到 1 实现分布式 KV 后,我才读懂了 TiDB 的设计
  • 山东大学软件学院项目实训-基于语言大模型的智能居家养老健康守护系统-个人博客(五)
  • 2026年质量好的大孔径深孔钻镗床/德州圆钢深孔钻镗床口碑好的厂家推荐 - 品牌宣传支持者
  • 集成光子学与连续变量量子光学技术解析
  • 什么是ERC-8183
  • Gemini 3.5破解50年数学猜想,数学家紧急复核
  • 昇腾CANN ops-math 仓:数据类型转换的性能陷阱