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 查看它们的计划和状态。