CronJob运行自动化任务

创建

创建一个cronjob,每一分钟输出日期和指定信息

cronjob.yml

apiVersion: batch/v1kind: CronJobmetadata:name: hellospec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:containers:- name: helloimage: busybox:1.28imagePullPolicy: IfNotPresentcommand:- /bin/sh- -c- date; echo Hello from the Kubernetes clusterrestartPolicy: OnFailure

创建

root@k8s-master:~# vim cronjob.ymlroot@k8s-master:~# kubectl apply -f cronjob.ymlcronjob.batch/hello created

获取状态

root@k8s-master:~# kubectl get cronjobNAMESCHEDULESUSPEND ACTIVE LAST SCHEDULE AGEhello */1 * * * * False 024s

CronJob 还没有调度或执行任何任务。大约需要一分钟任务才能创建好。

root@k8s-master:~# kubectl get jobs --watchNAME COMPLETIONS DURATION AGEhello-28293226 1/1 2s 2m8shello-28293227 1/1 1s 68shello-28293228 1/1 2s 8s

看到了一个运行中的任务被 “hello” CronJob 调度。 你可以停止监视这个任务,然后再次查看 CronJob 就能看到它调度任务

root@k8s-master:~# kubectl get cronjobNAMESCHEDULESUSPEND ACTIVE LAST SCHEDULE AGEhello */1 * * * * False 019s 4m49s

可以看到当前有0个活跃的任务,意味着任务执行完毕或者执行失败。

查看运行的Pod

root@k8s-master:~# kubectl get pod | grep hellohello-28293233--1-m9bzx 0/1 Completed 02m7shello-28293234--1-czd7t 0/1 Completed 067shello-28293235--1-jh7l5 0/1 Completed 07s
root@k8s-master:~# kubectl logs hello-28293233--1-m9bzxWed Oct 18 01:53:01 UTC 2023Hello from the Kubernetes cluster

删除

使用名称删除

root@k8s-master:~# kubectl delete cronjob hellocronjob.batch "hello" deleted