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