文章算是一篇读书笔记。看张磊大佬的深入刨析kube的理解吧
-----大佬们。请收下我虔诚的仰视;
cronjob
主要用于离线业务;定时任务;
其yaml中关键词是jobTemplate,这个其实就是job的一个控制器,其创建和删除的依据就schedule中的字段定义的;
标准的unixCron的表达式:分时日月周
kubectl get jobs
kubectl get cronjob
贴一个书中的cronJob的例子;
此处指出来几个注意点:
1.concurrencyPolicy=Allow,此处意味着多个job可以同时存在;
2.concurrencyPolicy=Forbid,意味着不会创建新的pod。该创建周期被跳过;
3.concurrencyPolicy=Replace。这意味着心产生的job会替换旧的。未执行完的job
如果某一次job创建失败。这次创建会标记为miss。在制定的时间窗口内,miss的数量到达100.cronjob会停止再创建job
时间窗口可以由spec.startingDeadlineSeconds字段制定。比如starting-DeadlineSeconds=200.意味着过去200s内。如果miss数量达到100,那么这个job不会再创建;
job
贴一个简单的计算pi的job的yaml: