最后更新于1年前
这有帮助吗?
本例创建一个每分钟执行一次、打印当前时间和 Hello from the Kubernetes cluster 的计划任务。
查看创建的 CronJob:
计划任务在执行时会启动一个名字为 CRONJOB_NAME-xxxxx 的 Job 去调度任务,等待 1 分钟可以查看执行的任务(Jobs):
CronJob 每次调用任务的时候会创建一个 Job,Job 会创建一个名为 JOB_NAME-xxx 的 Pod 执行命令,成功执行完任务后,Pod 状态就会变成 Completed:
此时可以通过 logs 查看 Pod 的执行日志:
如果要删除 CronJob,直接使用 delete 即可:
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
$ 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.