本文将指导您完成定时任务(CronJob)的创建与删除操作。定时任务基于普通任务(Job)实现,核心用于按预设Cron表达式周期性执行重复任务,任务执行完成后Pod终止且不重启,适用于定时数据备份、定时日志清理、定时报表生成、定时批量计算等场景。

一、前提条件

  • 已获取MCE容器引擎系统登录权限,且具备目标命名空间的操作权限;
  • 已准备好待执行周期性任务的容器镜像(需确保镜像仓库可访问,镜像内包含完整任务执行逻辑);
  • 明确定时任务的名称、所属命名空间、执行周期(需熟悉Cron表达式语法)等基础信息;
  • 了解Cron表达式基本语法:由“分 时 日 月 周”5个字段组成,支持通配符*(所有值)、间隔符/(步长)、范围符-(区间)、枚举符,(多个值),例如“0 3 * * *”表示每天凌晨3点执行。

二、进入定时任务列表页

  • 登录系统后,在左侧导航菜单中依次点击【容器云服务】→【定时任务(CronJob)】,进入定时任务列表页面;
  • 在列表页可查看已创建的定时任务信息,包括任务名称、命名空间、执行周期(Cron表达式)、最近执行状态、下次执行时间等,若需创建新任务,点击页面上方的【+ 创建定时任务】按钮。

三、创建流程:步骤1-填写基本信息与周期配置

点击“创建定时任务”后,进入步骤1“基本信息”配置页,填写以下内容:

  • 名称:输入定时任务名称,需符合命名规范(以小写字母开头,由小写字母、数字、连接符(-)组成,63字符内,不能以连接符结尾);
  • 命名空间:从下拉列表选择目标命名空间(默认显示当前选择的命名空间,如demo-ns);
  • 描述(可选):输入任务的用途说明(如“每日凌晨3点用户数据备份任务”),便于后续管理;
  • 核心配置(周期性与任务规则):
    • 执行周期(Cron表达式):输入预设的Cron表达式(如“0 3 * * *”),注意:受Kubernetes版本默认配置影响,CronJob的执行时区为世界标准时区(UTC),若需按本地时区(如东八区)执行,需将本地时间转换为UTC时间后配置表达式(例:东八区凌晨3点对应UTC时间19点,表达式应为“0 19 * * *”);部分平台支持可视化选择周期(如每日、每周、每月),选择后自动生成对应表达式;

填写完成后,点击页面右下角的【下一步】按钮,进入步骤2“镜像信息”配置页。

四、创建流程:步骤2-配置镜像与任务命令

进入步骤2“镜像信息”配置页,核心配置容器镜像及任务执行命令,具体如下:

  • 点击页面右侧的【选择镜像】按钮,在弹出的镜像选择弹窗中,选择包含任务执行逻辑的容器镜像(需确保镜像仓库已配置且镜像存在);

  • 任务命令配置:
    • 运行命令:输入容器内执行任务的启动命令(若镜像已默认配置任务命令,可留空;如需自定义,填写如“/bin/sh”);
    • 运行参数:输入任务命令的补充参数(如“-c /script/backup-data.sh”,指定执行数据备份脚本)。
  • (可选)资源配置:根据任务需求设置CPU、内存资源的请求与限制额度,避免资源不足导致任务执行失败或资源浪费;
  • (可选)环境变量:添加任务执行所需的环境变量(如数据库连接信息、备份存储路径、任务参数等);
  • (可选)卷挂载:若任务需要读写外部存储(如备份数据存储到PVC),配置卷挂载信息(关联存储资源与容器内挂载路径)。

所有配置完成后,点击页面右下角的【创建】按钮,提交定时任务配置。

五、完成创建与任务查看

  • 点击“创建”后,系统将自动提交配置并注册定时任务,按预设Cron表达式触发执行;
  • 返回定时任务列表页,可查看新创建任务的状态:“已启用”表示任务正常就绪,等待周期触发;
  • 点击任务名称进入详情页,可查看任务详情:包括Cron表达式、并发策略等配置,以及历史执行记录(每次执行对应的Job及Pod信息);
  • 查看任务执行日志:在详情页的历史执行记录中,点击对应Job名称,再进入关联的Pod详情页,查看容器日志,验证任务执行结果,排查执行问题。

六、删除定时任务

当定时任务不再需要时,可通过以下步骤删除,删除后任务将不再按周期触发,历史执行的Job和Pod可选择保留或一并清理:

  • 进入定时任务列表页面(操作路径:【容器云服务】→【定时任务(CronJob)】);
  • 在列表中找到需要删除的定时任务,点击其右侧操作栏的【删除】按钮;
  • 系统弹出确认删除弹窗,提示“删除定时任务后,将不再触发新的任务执行,是否同时删除历史任务(Job)和Pod?”,根据需求选择“仅删除定时任务”或“删除定时任务及历史资源”,核对任务名称后点击【确认】;
  • 等待片刻,刷新列表页,若目标定时任务不再显示,即表示删除成功。

七、注意事项

  • Cron表达式配置需准确,建议提前验证表达式的执行时间(可使用在线Cron验证工具),避免任务触发时间不符合预期;
  • 定时任务为周期性执行,需确保任务执行逻辑支持重复执行(如备份任务需避免重复覆盖数据、清理任务需避免重复删除资源);
  • 若任务执行时间可能重叠(如单次任务执行时长超过周期间隔),需合理设置并发策略,避免并发执行导致业务异常;
  • 确保选择的镜像内包含完整的任务执行逻辑,且运行命令、参数配置准确,否则会导致每次任务执行失败;
  • 任务执行涉及数据处理或备份时,建议提前验证存储资源的可用性,避免任务执行成功后数据无法正常保存;
  • 删除定时任务时,若选择保留历史资源,需后续手动清理,避免占用过多集群资源;
  • 时区适配:Kubernetes默认CronJob执行时区为世界标准时区(UTC),与本地时区存在差异,配置前需准确转换时间,避免任务触发时间不符合业务预期;若集群未单独配置时区参数,不可直接使用本地时间对应的Cron表达式。
作者:吴升斌  创建时间:2020-10-22 10:22
最后编辑:吴升斌  更新时间:2026-01-30 18:08