cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox:1.28
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
本例创建一个每分钟执行一次、打印当前时间和 Hello from the Kubernetes cluster 的计划任务。
$ kubectl create -f cronjob.yaml
cronjob.batch/hello created
$ kubectl get cj
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
hello */1 * * * * False 1 11s 24s
$ kubectl get job
NAME COMPLETIONS DURATION AGE
hello-28351291 1/1 25s 94s
hello-28351292 1/1 4s 34s
$ kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-28351291-9fv78 0/1 Completed 0 2m34s
hello-28351292-lzwfg 0/1 Completed 0 94s
$ kubectl logs hello-28351292-lzwfg
Mon Nov 27 09:32:01 UTC 2023
Hello from the Kubernetes cluster
$ kubectl delete cj hello
cronjob.batch "hello" deleted
$ kubectl get cj
No resources found in default namespace.