job负责批处理任务,即仅执行一次的任务,他保证批处理任务的一个或者多个Pod成功结束
特殊说明
Example
apiVersion: batch/v1 kind: Job metadata: name: pi spec: template: spec: containers: - name: pi image: perl command: ["perl","-Mbignum=bpi","-wle","print bpi(2000)"] restartPolicy: Never backoffLimit: 4
使用条件:当前使用Kubernetes集群,版本>=1.8(对CronJob)
典型的用法如下所示:
注意:当前策略只能应用于同一个CronJob创建的Job,如果存在多个CronJob,他们创建的Job之间总是允许并发运行的
Example
apiVersion: batch/v1beta1 kind: CronJob metadata: name: hello spec: schedule: "*/1 * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox args: - /bin/sh - -c - date; echo Hello from the Kubernetes cluster restartPolicy: OnFailure
[root@mvpemen-game--test yaml]# kubectl get cronJob NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE hello */1 * * * * False 0 20s 48m [root@mvpemen-game--test yaml]# kubectl get jobs NAME COMPLETIONS DURATION AGE hello-1607678880 1/1 5s 2m21s hello-1607678940 1/1 6s 81s hello-1607679000 1/1 4s 20s pi 1/1 33s 151m
#注意,删除cronjob的时候不会自动删除job,这些job可以用kubectl delete job来删除 [root@mvpemen-game--test yaml]# kubectl delete cronjob hello cronjob.batch "hello" deleted
创建Job操作应该是幂等的
原文:https://www.cnblogs.com/fat-girl-spring/p/14121625.html