目录
Job与CronJob
Job分为普通任务(Job)和定时任务(CronJob)
一次性执行,一般用作离线数据处理和视频解码等,或者数据库数据备份等
job
示例:计算一个圆周率
这里配置了never的重启规则,是job常用的规则,即失败后不重启,因为是一次性任务。
但job执行完后k8s不会主动去删除那个pod容器,方便查看执行结果
apiVersion: batch/v1kind: Jobmetadata:name: pispec:template:spec:containers:- name: piimage: perlcommand: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]restartPolicy: Never
容器正在运行
查看job,任务已经结束
kubectl get job
kubectl logs pi-h4rkp
可以看到任务已经执行结束,圆周率打印完成
CronJob
CronJob也是一个任务容器,与job不同的是他是个定时任务容器,,类似于linux的Crontab一样
应用场景:通知、备份
示例
schedule分别对应分、时、日、月、周。。重启策略为异常退出则重启
vi CronJob.yamlapiVersion: batch/v1kind: CronJobmetadata:name: hellospec:schedule: "*/1 * * * *"jobTemplate:spec:template:spec:containers:- name: helloimage: busyboxargs:- /bin/sh- -c- date; echo Hello afeirestartPolicy: OnFailure
执行yaml文件后
kubectl apply -f CronJob.yaml
查看定时任务
kubectl get cronjob