定时任务
定时任务 (CronJob) 对于创建周期性和重复性任务非常有用,例如运行备份或发送电子邮件。定时任务还可以在特定时间或间隔执行单个任务,例如在集群可能处于空闲状态时执行任务。
有关更多信息,请参见 Kubernetes 官方文档。
准备工作
您需要创建一个企业空间、一个项目以及一个用户 (project-regular
)。必须邀请该用户至该项目中并赋予 operator
角色。有关更多信息,请参见创建企业空间、项目、用户和角色。
创建定时任务
步骤 1:打开仪表板
以 project-regular
身份登录控制台。转到项目的任务页面,然后在定时任务选项卡下点击创建。
步骤 2:输入基本信息
您可以参考下面的说明在每个字段中输入基本信息。完成操作后,点击下一步。
名称:定时任务的名称,也是唯一标识符。
别名:定时任务的别名,使资源易于识别。
定时计划:按照给定的时间计划运行任务。语法参照 CRON。KubeSphere 中提供了一些预置 CRON 语句以简化输入。该字段由
.spec.schedule
指定。对于此定时任务,输入*/1 * * * *
,这意味着它每分钟运行一次。类型 CRON 每小时 0
每天 0 0
每周 0 0 0
每月 0 0 1 *
高级设置:
- 最大启动延后时间(s):由清单文件中的
.spec.startingDeadlineSeconds
指定,此可选字段表示如果由于任何原因错过计划时间,定时任务启动所需的最大秒数。错过执行的定时任务将被计为失败。如果未指定此字段,则此定时任务没有启动期限。 - 成功任务保留数量:由清单文件中的
.spec.successfulJobsHistoryLimit
指定,此字段表示要保留的定时任务执行成功的次数,用于区分显式零和未指定这两种情况。默认值为 3。 - 失败任务保留数量:由清单文件中的
.spec.failedJobsHistoryLimit
指定,此字段表示要保留的定时任务执行失败的次数,用于区分显式零和未指定这两种情况。默认值为 1。 - 并发策略:由
.spec.concurrencyPolicy
指定,它表示如何处理任务的并发执行:- 同时运行任务 (默认值):允许定时任务并发运行。
- 跳过新任务:禁止并发运行,如果前一个运行还没有完成,则跳过下一个运行。
- 跳过旧任务:取消当前正在运行的任务,用一个新的来替换。
- 最大启动延后时间(s):由清单文件中的
备注
您可以在右上角开启编辑 YAML,查看此定时任务的 YAML 格式清单文件。
步骤 3:定时任务设置(可选)
请参考任务。
步骤 4:设置容器组
点击容器下的添加容器镜像,在搜索栏中输入
busybox
,然后按回车键。向下滚动到启动命令然后在参数框中输入
/bin/sh,-c,date; echo "KubeSphere!"
。点击 √ 完成镜像设置,然后点击下一步继续。
备注
步骤 5:检查结果
在最后一步高级设置中,点击创建完成操作。如果创建成功,定时任务列表中将添加一个新条目。此外,您还可以在任务选项卡下查看任务。
在定时任务选项卡下,点击此定时任务,然后转到任务记录选项卡,您可以在其中查看每个执行记录的信息。由于成功任务保留数量字段设置为 3,因此这里显示定时任务成功执行 3 次。
点击任意记录,您将转到该任务的详情页面。
在资源状态中,您可以检查容器组状态。点击右侧的 ,然后点击 可以检查容器日志,如下所示,该日志显示预期输出。
定时任务操作
在定时任务详情页面上,您可以在创建定时任务之后对其进行管理。
- 编辑信息:编辑基本信息,但无法编辑该定时任务的
名称
。 - 暂停/启动:暂停或启动该定时任务。暂停定时任务将告知控制器暂停后续执行任务,但已经启动的执行不受影响。
- 编辑 YAML:编辑该定时任务的 YAML 文件配置。
- 删除:删除该定时任务,然后返回定时任务列表页面。
任务记录
点击任务记录选项卡查看定时任务的执行记录。
元数据
点击元数据选项卡查看定时任务的标签和注解。
事件
点击事件选项卡查看定时任务的事件。