赞
踩
crontab
(cron table)文件中一行。它用Cron格式进行编写,并周期性地给定的调度事件执行Job。.metadata.name
是命名这些Pod的部分基础。CronJob的名称必须是一个合法的DNS子域值,但这会对Pod的主机名产生意外的结果。未获得最佳兼容性,名称应遵循更严格的DNS标签规则。即使名称是一个DNS子域,它也不能超过52个字符。这是因为CronJob控制器将自动在你所提供的Job名称后附加11个字符,并且存在Job名称的最大长度不能超过53个字符的限制。[root@master ~]# vim cronjob.yaml apiVersion: "batch/v1" kind: CronJob metadata: name: hello spec: # 周期性执行任务 # 分 时 日 月 周 schedule: "* * * * *" # 定义了当CronJob触发时要运行的作业模板 jobTemplate: spec: template: spec: containers: - name: hello image: busybox:latest imagePullPolicy: IfNotPresent # Pod内部执行的shell命令 command: ["/bin/sh","-c","date; echo Hello from the Kubernetes cluster"] # 以非零状态退出Pod,才会重启Pod restartPolicy: OnFailure
[root@master ~]# kubectl get cronjob
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
hello * * * * * False 0 12s 2m23s
[root@master ~]# kubectl get job
NAME COMPLETIONS DURATION AGE
hello-28710961 1/1 1s 2m49s
hello-28710962 1/1 1s 109s
hello-28710963 1/1 0s 49s
[root@master ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
hello-28710962-gx4gm 0/1 Completed 0 2m26s
hello-28710963-bvjrv 0/1 Completed 0 86s
hello-28710964-4clln 0/1 Completed 0 26s
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。