(A) 核心概念 添加了 Kubernetes 的功能在设置的工作执行计划功能,已经开始采取形状在 1.3 中,从看这里提前释放的 1.4 版本中取得的进展。 Kubernetes 通过此功能您可以设置作业的运行时间,此功能类似于一个开放源码项目石英所提供的功能。石英是完全开源的调度框架用 Java 编写的作业调度中 Java 应用程序提供一个简单但功能强大的机制,石英允许开发人员执行调度作业按间隔。 下面是这新的特征模型的核心概念︰
(B) 数据结构介绍 1) 配置计划的任务的开始时间 附表 ScheduledJobSpec 结构中的变量是一个字符串变量,一个 cron 表达式字符串存储在变量中,cron 表达式 kubernetes1.3 配置计划的任务触发时间。
Cron 表达式由 6 或 7 由空格分隔的字段组成︰ 位置 时间域的名称 允许的值 允许的特殊字符 1 第二次 0-59 , – * / 2 在这里几分钟 0-59 , – * / 3 小时 0-23 , – * / 4 日期 1-31 , – * ?/ L W C 5 个月 1-12 , – * / 6 周 1-7 , – * ?/ L C# 7 年 (可选) 1970-2099年,则为 null , – * / 除了时间字段设置为数字允许使用 Cron 表达式,您还可以使用一些特殊的字符,如列表、 范围、 通配符功能提供,详情如下︰ • 一个星号 (*)︰ 可以在所有领域的应用,说每次对应于时间域,如 * 在分钟字段中,表示”每分钟”; • 问号 (?)︰ 此字符只有日期和星期在字段中,它通常被指定为”毫无意义”,相当于一个占位符; • 一个减号 (-)︰ 表示一个范围,如”10-12″、 小时字段中使用它意味着从 10 到 12 点,即 10,11,12; • 一个逗号 (,)︰ 快递列表值,如用在周字段”星期一、 星期三、 星期五”,说在星期一、 星期三和星期五; • 斜杠 (/)︰ x / y 表示相等的步长度序列起始 x 值,y 为增量步长值。作为在分钟字段 0/15,然后与 0,15,30 和 45 秒,5/15 5,20,35,50 分钟字段中的,您还可以使用 * / y,等于 0/y; • •: 这个角色是只有日期和星期的字段,”最后”的手段,但它意味着不同的东西在两个领域。• 在日期字段中,如果 l 用在几个星期,说星期六,相当于 7 代表月,截至 1 月 31 日,非闰年 2 月 28 日,最后一天。然而,如果 l 在一周中的字段,和它在前面有一个 x,表示”最后 x 个月的天数”,例如,6 L 表示最后一个周五的月; W︰ 这是字符仅出现在日期字段中,领先修改日期,说︰ 天接近该日期。例如 15W 工作日接近 15 个月,如果 15 日是星期六,这场比赛是星期五第 14;15 天是星期天,星期一 16 相匹配;15 日是星期二,如果这一结果是 15 日,星期二。比赛日期相关联,但护理必须不采取跨月如你指定 1W,第 1 页是星期六,比赛是星期一 3 日一天,而不是上月下旬。W 字符串可以指定只有一个单一的日期,并且不能指定一个日期范围; • LW 组合︰ 可以使用 LW 组合日期字段,这意味着最后一个工作天的月份; • 在数字符号 (#)︰ 字符只能使用在周字段,说每月的工作日。如 6 #3 个月的第三个星期五 (6 到星期五,#3 说当前第三),而 4 #5 周三表示,第五个月,假设,在一个月,没有第五个星期三忽略不会触发; • C︰ 此字符是只有日期和星期在字段中为”日历”的意思。与它关联的日期意味着计划,如果日期是不相关联,它等同于日历中的所有日期。例如,5 C 等于日历在日期字段后第 5 天。1 C 的字段相当于每周的第一天后的星期天。 Cron 表达式的特殊字符是不区分大小写,周缩写英语语言区分大小写。下面给出一些 cron 表达式的示例︰ 表达式 说明 "0 0 12 * * ? " 每天12点运行 "0 15 10 ? * *" 每天10:15运行 "0 15 10 * * ?" 每天10:15运行 "0 15 10 * * ? *" 每天10:15运行 "0 15 10 * * ? 2008" 在2008年的每天10:15运行 "0 * 14 * * ?" 每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。 "0 0/5 14 * * ?" 每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。 "0 0/5 14,18 * * ?" 每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。 "0 0-5 14 * * ?" 每天14:00点到14:05,每分钟运行一次。 "0 10,44 14 ? 3 WED" 3月每周三的14:10分到14:44,每分钟运行一次。 "0 15 10 ? * MON-FRI" 每周一,二,三,四,五的10:15分运行。 "0 15 10 15 * ?" 每月15日10:15分运行。 "0 15 10 L * ?" 每月最后一天10:15分运行。 "0 15 10 ? * 6L" 每月最后一个星期五10:15分运行。 "0 15 10 ? * 6L 2007-2009" 在2007,2008,2009年每个月的最后一个星期五的10:15分运行。 "0 15 10 ? * 6#3" 每月第三个星期五的10:15分运行。 2) 配置计划任务 结构体ScheduledJobSpec中变量Jobtemplate是一个JOB模板结构体变量,这个变量用来存放需要按照执行计划执行的JOB,从下图可以看到,通过这个变量,可以查找到需要执行的JOB,也就是ScheduledJobSpec结构体,通过ScheduledJobSpec结构体的Template可以查找到JOB对应的POD,也就是PodSpec结构体。所以说kubernetes是以POD为中心的一个容器编排平台,JOB最后的运行都是体现在POD的运行上。
3) 配置计划任务并发处理策略
结构体ScheduledJobSpec中变量ConcurrencyPolicy是一个字符串变量,这个变量用来指定一个JOB在并发执行时的处理策略。
ConcurrencyPolicy的取值包括“Allow”、“Forbid”、“Replace”三种类型,含义如下:
1) Allow:允许一个JOB并发执行,当之前的JOB在没有执行结束时,可以再次执行新的JOB。
2) Forbid:不允许一个JOB并发执行,当之前的JOB在没有执行结束时,不能再次执行新的JOB。
3) Replace:不允许一个JOB并发执行,当之前的JOB在没有执行结束时,可以在此执行新的JOB,但是之前没有执行结束的JOB会被取消掉。
如果没有设置ConcurrencyPolicy,那么kubernetes1.3默认ConcurrencyPolicy是“Allow”。
本网页所有文字内容由 imapbox邮箱云存储,邮箱网盘, iurlBox网页地址收藏管理器 下载并得到。
ImapBox 邮箱网盘 工具地址: https://www.imapbox.com/download/ImapBox.5.5.1_Build20141205_CHS_Bit32.exe
PC6下载站地址:PC6下载站分流下载
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox 网页视频 工具地址: https://www.imapbox.com/download/ImovieBox.5.1.6_Build20151120_CHS_Bit32.exe
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 程序员专区