定时任务(CronJobs)

定时任务(CronJobs )用于创建周期性以及重复性的任务,例如数据库备份或者发送邮件。Job 负责批量处理短暂的一次性任务,即仅执行一次的任务,而 CronJob 则是基于 Job 增加了时间调度,即在指定时间周期内运行指定 Job。 本文介绍如何通过控制台创建 CronJobs 及其他常用操作。

说明

CronJob 是 kubernetes 原生概念。更多详情请参见 Kubernetes 官方文档

创建 CronJobs

  1. 登录 LHC 控制台,在左侧导航栏单击 集群管理 > 集群详情,进入集群列表页。

  2. 单击目标集群名称,进入 集群详情 页,单击 工作负载 页签。

  3. 在左侧菜单选项,选择 定时任务(CronJobs),然后单击 创建 CronJobs

  4. 在弹出的输入框中输入 YAML 内容,单击 提交

    YAML 样例如下:

    apiVersion: batch/v1beta1
    kind: CronJob
    metadata:
      name: hello
    spec:
      jobTemplate:
        spec:
          template:
            spec:
              containers:
                - command:
                    - /bin/sh
                    - '-c'
                    - date; echo Hello from the Kubernetes cluster
                  image: 'registry-vpc.cn-hangzhou.aliyuncs.com/sofa-samples/nginx:latest'
                  imagePullPolicy: IfNotPresent
                  name: hello
              restartPolicy: Never
      schedule: '* */1 * * *'

    参数说明可参考下表。

    参数

    说明

    kind

    标识 CronJob 资源类型。

    metadata

    CronJob 的基本信息,比如 CronJob 的名称。

    spec.schedule

    CronJob 执行的 Cron 的策略。即指定任务运行周期,格式同 Cron schedule

    # 格式说明
    #  ——分钟(0 - 59)
    # |  ——小时(0 - 23)
    # | |  ——日(1 - 31)
    # | | |  ——月(1 - 12)
    # | | | |  ——星期(0 - 6)
    # | | | | |
    # * * * * *

    spec.jobTemplate

    Cron 执行的 Job 模板。即指定需要运行的任务,格式同 Job patterns

执行结果

创建成功后,名为 hello 的 CronJobs 将出现在列表页面中。CronJob 执行时会在指定的时间创建出 Job,然后由 Job 创建出 Pod。

架构图优化

相关操作

  • 如需查看 CronJobs 详情,请在 CronJobs 列表页单击目标 CronJobs 名称,进入 CronJobs 详情页。在该页面上,可以查看 CronJobs 基本信息、任务列表信息及事件信息。

  • 如需搜索 CronJobs,请在 CronJobs 列表页右上角的输入栏,输入 CronJobs 名称关键字即可进行搜索。

  • 如需更新 CronJobs,请在 CronJobs 列表页单击操作栏中的 查看/编辑,并在编辑 CronJobs 对话框中编辑 YAML 信息,然后单击 提交

  • 如需删除 CronJobs,请在 CronJobs 列表页单击操作栏中的更多图标 > 删除,然后在弹出的提示对话框中单击 确定

    说明

    对 CronJobs 执行删除时,不会删除 CronJobs 创建的 Jobs,如需删除对应的 Jobs,请前往 Jobs 列表页手动删除。