k8sCronJob控制器
CronJob用于管理job控制器资源的运行时间,job控制器定义的作业任务在其控制器资源创建之后便会立即执行,但cronjob可以以类似于linux操作系统的周期性任务作业计划的方式控制其运行时间点及重复运行的方式
cronjob对象支持使用的时间格式类似于crontab,略有不同的是,cronjob控制器在指定的时间点时,“?”和“*”的意义相同,都表示任何可用的有效值
一、创建cronjob对象
cronjob控制器的spec字段可嵌套使用以下字段:
jobTemplate:job控制器模板,用于为cronjob控制器生成job对象;必选字段
schedule:cron格式的作业调度运行时间点;必选字段
concurrencyPolicy:并发执行策略,可用值有Allow、Forbid和Replace,用于定义前一次作业运行尚未完成时是否以及如何运行后一次的作业
failedJobHistoryLimit:为失败的任务执行保留的历史记录数,默认为1
successfulJobHistoryLimit:为成功的任务执行保留的历史记录数,默认为3
startingDeadlineSeconds:因各种原因缺失执行作业的时间点所导致的启动作业错误的超时时长,会被计入错误历史记录
suspend:是否挂起后续的任务执行,默认为false,对运行中的作业不会产生影响
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: cronjob-example
spec:
schedule: "*/2 * * * *"
jobTemplate:
metadata:
labels:
app: mycronjob
spec:
containers:
- name: myjob
image: alpine
command:
- /bin/sh
- -c
- date; echo Hello from k8s cluster; sleep
restartPolicy: OnFailure
二、CronJob的控制机制
CronJob控制器以job控制器资源为其管控对象,并借助它管理pod资源对象。因此,要使用类似”kubectl get jobs -l app=*“的命令来查看cronjob控制器创建的job资源对象。不过,只有相关的job对象被调度执行时,此命令才能将其正常列出。可列出的job对象的数量取决于cronjob资源的spec.successfulJobsHistoryLimit的属性值,默认为3。
如果作业重复执行时指定的时间点较近,而作业执行时长跨过了其两次执行的时间长度,则会出现两个job对象同时存在的情形。有些job对象可能会存在无法或不能同时运行的情况,这个时候就要通过spec.concurrencyPolicy属性控制作业并存的机制,其默认值为Allow,即允许前后job,甚至属于同一个cronjob的更多job同时运行。其他两个可用值中,forbid用于禁止前后两个job同时运行,如果前一个尚未结束,后一个则不予启动(跳过),replace用于让后一个job取代前一个,即终止前一个并启动后一个。
k8sCronJob控制器的更多相关文章
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- ABP文档 - Mvc 控制器
文档目录 本节内容: 简介 AbpController基类 本地化 其它 过滤 异常处理和结果包装 审计日志 验证 授权 工作单元 反伪造 模型绑定器 简介 ABP通过nuget包Abp.Web.Mv ...
- 关于VS2015 ASP.NET MVC添加控制器的时候报错
调试环境:VS2015 数据库Mysql WIN10 在调试过程中出现类似下两图的同学们,注意啦. 其实也是在学习的过程中遇到这个问题的,找了很多资料都没有正面的解决添加控制器的时候报错的问题,还是 ...
- ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由
原文:Routing to Controller Actions 作者:Ryan Nowak.Rick Anderson 翻译:娄宇(Lyrics) 校对:何镇汐.姚阿勇(Dr.Yao) ASP.NE ...
- ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑
原文: Testing Controller Logic 作者: Steve Smith 翻译: 姚阿勇(Dr.Yao) 校对: 高嵩(Jack) ASP.NET MVC 应用程序的控制器应当小巧并专 ...
- ASP.NET Core 中文文档 第四章 MVC(4.4)依赖注入和控制器
原文: Dependency Injection and Controllers 作者: Steve Smith 翻译: 刘浩杨 校对: 孟帅洋(书缘) ASP.NET Core MVC 控制器应通过 ...
- AngularJS 第四天----控制器
控制器的作用 今天和大家学习AngularJS中控制器方面的知识,本文会给出一些例子来说明如何使用AngularJS的控制器.在开始我们的例子之前,首先说说AngularJS控制器的作用.简单的来说A ...
- ASP.NET Web API 控制器执行过程(一)
ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...
- ASP.NET Web API 控制器创建过程(二)
ASP.NET Web API 控制器创建过程(二) 前言 本来这篇随笔应该是在上周就该写出来发布的,由于身体跟不上节奏感冒发烧有心无力,这种天气感冒发烧生不如死,也真正的体会到了什么叫病来如山倒,病 ...
随机推荐
- PJzhang:从csdn到pipal密码分析工具
猫宁!!! 偶然看到一篇短文,是对2011年csdn泄露的约643万数据的数据汇总分析,这里做个简要总结 . 一.单一密码使用5000人以上的,14个,当时密码中有两个命名方式很有趣,dearbo ...
- 【linux开发】IO端口和IO内存的区别及分别使用的函数接口
IO端口和IO内存的区别及分别使用的函数接口 每个外设都是通过读写其寄存器来控制的.外设寄存器也称为I/O端口,通常包括:控制寄存器.状态寄存器和数据寄存器三大类.根据访问外设寄存器的不同方式,可以把 ...
- 客户端数据存储cookie、localStoeage、sessionStorage(小记)
一.数据存储分为客户端存储和服务端存储 1.而对于客户端存储,在html5以前只能通过cookie来实现:html 5以后增加了web存储(实际保存本地)的功能 (1)对于web存储有两个标准: ...
- Numpy科学计算
NumPy介绍 NumPy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组. NumPy支持常见的数组和矩阵操作.对于同样的数值计算任务,使用Nu ...
- 【转帖】Linux上,最常用的一批命令解析(10年精选)
Linux上,最常用的一批命令解析(10年精选) https://juejin.im/post/5d134fbfe51d4510727c80d1 写的挺好呢 Linux这么多命令,通常会让初学者望而生 ...
- C++常见面试题:
一.进程和线程的概念和区别 1.进程是系统进行资源调度的基本单位 2.线程是系统进行运算调度(处理器分配{CPU.内存})的基本单位 二.进程间的通信 进程间的通信共有5种: 1.管道 通常指无名管道 ...
- 微信小程序打开地图选择位置
wx.getLocation({ type: 'wgs84', success(res) { const latitude = res.latitude const longitude = res.l ...
- HDU 2044 DP (fibonacci)
HDU 2044 https://vjudge.net/problem/HDU-2044 每一个只有可能由它左面的以及左上的状态变过来,也就是F(i-1)和F(i-2) F(1) = 1 F(2) = ...
- server001
- Jenkins安装部署及使用
Jenkins安装部署环境如下 PS:中文官网,东西比较全.(居然有中文官网了,真好!)以下为本人自己的使用过程,仅供参考! 一.准备阶段 1.组件及版本: Jenkins版本:2.164.3 操作系 ...