kubernetes CronJob
来源:原创
时间:2019-04-21
作者:脚本小站
分类:云原生
cronjob --> job --> Pod
API版本:batch/v1beta1
创建
创建命令:
kubectl create cronjob cronjob-example --image=busybox --schedule='0/5 * * * *' --dry-run -o yaml
yaml:
apiVersion: batch/v1beta1 kind: CronJob metadata: name: cronjob-example spec: schedule: "0/5 * * * *" jobTemplate: metadata: name: cronjob-example labels: app: cronjob spec: template: spec: containers: - image: busybox name: cronjob-example command: ["/bin/sh","-c","sleep 20"] restartPolicy: OnFailure
查看:
kubectl get cronjobs kubectl get jobs -l app=cronjob
spec.concurrencyPolicy 是否允许并行
Allow:允许前后Job。
Forbid:前一个未结束后一个不允许启动。
Replace:后一个Job取代前一个。
spec.schedule:调度时间点
spec.failedJobsHistoryLimit:失败任务记录数
spec.successfulJobsHistoryLimit:成功任务记录数
spec.startingDeadlineSeconds:启动作业错误超时时长
spec.suspend:挂起任务,只对后续任务有效
实例:
apiVersion: batch/v1beta1 kind: CronJob metadata: name: cleareslog spec: jobTemplate: metadata: name: cleareslog namespace: staging spec: template: metadata: spec: containers: - image: registry.cn-hangzhou.aliyuncs.com/scriptjc/deleteindex:0.1 name: cleareslog env: - name: RETDAYS value: "40" - name: ESURL value: "http://elasticsearch.logging:9200" restartPolicy: Never schedule: '00 1 * * *'