定时任务(CronJobs )用于创建周期性以及重复性的任务,例如数据库备份或者发送邮件。Job 负责批量处理短暂的一次性任务,即仅执行一次的任务,而 CronJob 则是基于 Job 增加了时间调度,即在指定时间周期内运行指定 Job。 本文介绍如何通过控制台创建 CronJobs 及其他常用操作。
CronJob 是 kubernetes 原生概念。更多详情请参见 Kubernetes 官方文档。
创建 CronJobs
登录 LHC 控制台,在左侧导航栏单击 集群管理 > 集群详情,进入集群列表页。
单击目标集群名称,进入 集群详情 页,单击 工作负载 页签。
在左侧菜单选项,选择 定时任务(CronJobs),然后单击 创建 CronJobs。
在弹出的输入框中输入 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 列表页手动删除。