一、CronJob实践¶
2.7.1 CronJob创建¶
2.7.1.1 方式一:命令行格式¶
1、创建一个job
[root@k8s-master01 ~]# k create cj hello --image=registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28 --schedule='*/1 * * * *' -- echo "Hello,Job"
2、查看job
[root@k8s-master01 ~]# kg cj
NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE
hello */1 * * * * <none> False 0 <none> 27s
回显内容说明:
- SUSPEND:是否暂停调度
- ACTIVE:当前处于活跃的 Job 个数
- LAST SCHEDULE:上一次成功调度的时间
- TIMEZONE:CronJob 执行调度时所使用的时区,默认为 UTC
3、等待 1 分钟后,即可查看到调度的 Job
# 查看job
[root@k8s-master01 ~]# kg job
NAME STATUS COMPLETIONS DURATION AGE
hello-29042354 Complete 1/1 3s 75s
hello-29042355 Complete 1/1 3s 15s
# 查看pod
[root@k8s-master01 ~]# kgp
NAME READY STATUS RESTARTS AGE
hello-29042354-vd97h 0/1 Completed 0 71s
hello-29042355-hd6jv 0/1 Completed 0 11s
4、查看执行日志信息
[root@k8s-master01 ~]# k logs -f hello-29042355-hd6jv
Hello,Job
5、环境复原
[root@k8s-master01 ~]# k delete cj hello
2.7.1.2 方式二:yaml文件¶
1、创建一个job模板文件
[root@k8s-master01 ~]# k create cj hello --image=registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28 --schedule='*/1 * * * *' --dry-run=client -oyaml -- echo "Hello,Job" > cronjob.yaml
2、重新定义一个job
[root@k8s-master01 ~]# vim cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello
spec:
schedule: '*/1 * * * *'
jobTemplate:
metadata:
name: hello
spec:
template:
metadata:
spec:
containers:
- command:
- echo
- Hello,Job
image: registry.cn-hangzhou.aliyuncs.com/abroad_images/busybox:1.28
name: hello
resources: {}
restartPolicy: OnFailure
3、创建cronjob
[root@k8s-master01 ~]# kaf cronjob.yaml
4、查看创建情况
# 查看cronjob
[root@k8s-master01 ~]# kg cj
NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE
hello */1 * * * * <none> False 0 29s 105s
# 查看job
[root@k8s-master01 ~]# kg job
NAME STATUS COMPLETIONS DURATION AGE
hello-29042360 Complete 1/1 3s 2m20s
hello-29042361 Complete 1/1 3s 80s
hello-29042362 Complete 1/1 3s 20s
# 查看pod
[root@k8s-master01 ~]# kgp
NAME READY STATUS RESTARTS AGE
hello-29042360-4hzl8 0/1 Completed 0 2m31s
hello-29042361-ccqc4 0/1 Completed 0 91s
hello-29042362-gk9bf 0/1 Completed 0 31s
cronjob回显内容说明:
- SUSPEND:是否暂停调度
- ACTIVE:当前处于活跃的 Job 个数
- LAST SCHEDULE:上一次成功调度的时间
- TIMEZONE:CronJob 执行调度时所使用的时区,默认为 UTC
5、查看执行日志信息
[root@k8s-master01 ~]# k logs -f hello-29042362-gk9bf
Hello,Job
6、环境复原
[root@k8s-master01 ~]# k delete -f cronjob.yaml