Kubernetes CronJobs 允许你按计划运行作业,类似于 Linux 中 cron 实用工具的工作方式。这对于自动执行备份、生成报告或系统维护等重复性任务非常有用。


下面的代码片段说明了如何创建一个每分钟运行一次任务的 CronJob。

[代码清单]

apiVersion: batch/v1
kind: CronJob
metadata:
 name: example-cronjob
spec:
 schedule: "*/1 * * * *"
 jobTemplate:
  spec:
   template:
​    spec:
​     containers:
​     \- name: cronjob-container
​      image: busybox
​      command: ["echo", "Hello from Kubernetes CronJob!"]
​     restartPolicy: Never

[执行结果]

Hello from Kubernetes CronJob!

在本例中,example-cronjob 计划每分钟运行一次,如 schedule: “*/1 * * * *"一行所示。CronJob 创建了一个运行 busybox 容器的 Job,执行命令 echo “Hello from Kubernetes CronJob!”。与作业一样,restartPolicy: Never 可确保 pod 在完成后不会重新启动。

[小知识]

CronJob 可以使用标准 cron 语法进行调度,允许复杂的定时配置。

你可以指定并发策略来控制如何管理作业,以防新作业调度时之前的作业仍在运行。

监控 CronJobs 与监控 Jobs 类似,你可以使用 kubectl get cronjobs 查看它们的计划和状态。