CronJob管理
用户可以通过表单方式基于镜像创建定时任务,也可以通过百度智能云提供的 YAML 文件模板创建和修改定时任务,对定时任务关联的容器组(Pod)、事件等进行控制管理。
CronJob 简介
Cron Job 类似于 Linux 系统中的 crontab,在指定的时间周期运行指定的任务(job),即:
- 在给定时间点运行一次
- 在给定时间点周期性地运行
典型使用场景:
- 在给定的时间点调度 Job 运行,例如:5 min 后清理日志文件等
- 创建周期性运行的 Job,例如:每隔 1h 进行数据库备份等
查看定时任务列表
进入 "产品服务>容器引擎CCE",选择集群,点击 "工作负载>定时任务",进入定时任务页面。 默认选择最新的CCE集群,然后选择该集群下的”default“命名空间,加载该命名空间下的所有定时任务,内容包括:
- 列表数据:显示所有定时任务的列表信息,及新建、删除、修改
新建定时任务
点击 "新建定时任务",用户可以选择通过表单形式或者通过 yaml 形式创建新的定时任务。
(1)通过表单形式创建:
- 填写定时任务名称、命名空间、定时规则;
- 点击添加容器配置按钮,填入容器名称和镜像地址,点击确认后创建页展示已添加的容器配置信息;
- 点击创建,确认根据配置信息生成的 yaml 文件,完成创建。
(2)通过 yaml 形式创建:
- 选择命名空间,填写 yaml 文件,点击确定。
- 模板类型:可使用示例模板或我的模板创建。
- 复制:复制当前 yaml 文件的内容
- 取消:返回列表页
字段解释
调度:
spec.schedule
字段,是 cronjob 的必需的字段,值为 Cron 格式的字符串,例如:0 * * * *
,或者 @hourly
,kubernetes 会按照该字段规定的调度时间创建并运行 Job
挂起:
spec.suspend
字段,可选字段,默认值为 false
。如果设置为 true
,后续所有 Job 的执行将被挂起
并发策略:
spec.concurrencyPolicy
字段:可选字段,默认值为 Allow
。指定被 CronJob 创建的 Job 如何并发执行。只允许指定以下策略的一种:
- Allow:允许并发运行 Job,如果前一个还没有完成,到了当前 Job 该运行时,运行当前 Job
- Forbid:禁止并发运行,如果前一个还没有完成,到了当前 Job 该运行时,则直接跳过
- Replace:取消当前正在运行的 Job,用一个新的 Job 来替换
Job 历史限制
.spec.successfulJobsHistoryLimit
和 .spec.failedJobsHistoryLimit
这两个字段是可选的。它们指定了可以保留完成和失败 Job 数量的限制。
默认没有限制,所有成功和失败的 Job 都会被保留。然而,当运行一个 Cron Job 时,很快就会堆积很多 Job,推荐设置这两个字段的值。设置限制值为 0,相关类型的 Job 完成后将不会被保留。
查看定时任务详情
点击列表页任何一行的定时任务名称,即可进入定时任务详情页,详情页内容包括:
- 定时任务详情:包括基本信息、活跃任务、事件列表
修改定时任务
在定时任务列表页面,点击需要修改的定时任务行中的““修改”按钮,完成修改后,点击“确定”提交。
删除定时任务
在定时任务列表页面,勾选要删除的定时任务,点击“删除”按钮,确认信息后,点击“确认”。
说明: 目前仅支持勾选单个删除。