定时任务
目录
了解 CronJobs创建 CronJobs使用 CLI 创建 CronJob前提条件YAML 文件示例通过 YAML 创建 CronJob使用 Web 控制台创建 CronJobs前提条件使用新 Web 控制台创建 CronJobsApplications 视图和 Clusters 视图中的创建入口差异操作步骤 - 配置基本信息操作步骤 - 配置 Pod操作步骤 - 配置 Container创建立即执行定位 CronJob 资源发起临时执行验证 Job 详情:监控执行状态删除 CronJobs使用 Web 控制台删除 CronJobs使用 CLI 删除 CronJobs了解 CronJobs
请参阅官方 Kubernetes 文档:
CronJob 定义执行完成后即停止的任务。它们允许您按照计划多次运行同一个 Job。
CronJob 是 Kubernetes 中的一种工作负载控制器。您可以通过 Web 控制台或 CLI 创建 CronJob,以周期性或重复运行非持久化程序,例如定时备份、定时清理或定时发送邮件。
创建 CronJobs
使用 CLI 创建 CronJob
前提条件
- 确保已配置
kubectl并连接到您的集群。
YAML 文件示例
通过 YAML 创建 CronJob
使用 Web 控制台创建 CronJobs
前提条件
获取镜像地址。镜像可以来自平台管理员通过 toolchain 集成的镜像仓库,或来自第三方镜像仓库。
-
对于来自已集成仓库的镜像,管理员通常会将镜像仓库分配给您的项目,以便您使用其中的镜像。如果未找到所需的镜像仓库,请联系管理员进行分配。
-
如果使用第三方镜像仓库,请确保当前集群可以直接从该仓库拉取镜像。
-
如果镜像仓库需要认证,则需要配置相应的镜像拉取 Secret。更多信息,请参阅 Add ImagePullSecrets to ServiceAccount。
-
通过 OCI Connector 选择镜像时,也需要为 Connector 代理选择一个镜像拉取 Secret,或者确认该工作负载的 ServiceAccount 已经引用了该 Secret。请参阅 Use an ImagePullSecret with an OCI Connector。
使用新 Web 控制台创建 CronJobs
Applications 视图和 Clusters 视图中的创建入口差异
新 Web 控制台可以从不同的视图中提供 CronJob 创建入口。请根据您是在项目范围内操作还是在某个具体集群中操作来选择入口。
- Applications 视图:从当前项目开始。打开 Workloads > CronJobs,选择目标 Cluster 和 Namespace,然后选择会创建 CronJob 的流程。
- Clusters 视图:从具体集群开始。先打开目标集群,进入目标 Namespace,然后导航到 Workloads > CronJobs,点击 Create CronJob。
操作步骤 - 配置基本信息
-
在 Container Platform 中,导航到左侧边栏的 Workloads > CronJobs。
-
点击 Create CronJob。
-
选择 或 输入 镜像,然后点击 Confirm。
注意:仅当使用来自平台集成镜像仓库的镜像时,才支持镜像过滤。例如,像 containers (registry-projectname) 这样的集成项目名称表示平台的项目名称为 projectname,而镜像仓库的项目名称为 containers。
对于 OCI Connector 镜像,请确认 Pod 模板已选择 Connector 代理镜像拉取 Secret,或已从其 ServiceAccount 继承。创建 CronJob 对象并不能证明后续 Job 一定可以拉取该镜像;当 Job Pod 启动时,令牌仍必须有效。
-
在 Cron Configuration 部分,配置任务执行方式及相关参数。
执行类型:
-
Manual:手动执行要求为每次任务运行显式手动触发。
-
Scheduled:定时执行需要配置以下调度参数:
Job 历史保留:
- 为已完成的 Job 设置保留限制:
- History Limits:成功 Job 历史上限(默认:20)
- Failed Jobs:失败 Job 历史上限**(默认:20)
- 当超过保留限制时,最早的 Job 会先被垃圾回收。
-
-
在 Job Configuration 部分,选择 Job 类型。
CronJob 管理由 Pod 组成的 Job。请根据您的工作负载类型配置 Job 模板:
操作步骤 - 配置 Pod
- Pod 部分请参阅 Deployment - Configure Pod
操作步骤 - 配置 Container
- Container 部分请参阅 Deployment - Configure Containers
创建
- 点击 Create。
立即执行
定位 CronJob 资源
- web console:进入 Container Platform,并在左侧边栏导航到 Workloads > CronJobs。
- CLI:
发起临时执行
- web console:Execute Immediately
- 点击 cronjob 列表右侧的竖向省略号(⋮)。
- 点击 Execute Immediately。(或者,在 CronJob 详情页面中,点击右上角的 Actions 并选择 Execute Immediately。)
- CLI:
验证 Job 详情:
对于使用 OCI Connector 的 Job,请检查生成的 Pod,而不要仅依赖 CronJob 或 Job 状态。验证 Connector 注解、imagePullSecrets 或 ServiceAccount 继承、重写后的 Connector 代理镜像、Pod Running 或 Completed 状态以及 Events。将过期的令牌视为认证材料问题,并在下一次执行前轮换或重新创建该 Secret。
监控执行状态
更新 CronJob 镜像或 OCI Connector 时,请检查 Pod 模板的 Connector 代理镜像拉取 Secret 或 ServiceAccount 以及令牌有效性。由于 API 接受更新并不能证明计划中的 Pod 可以拉取其镜像,因此请在下一个生成的 Job Pod 上再次验证这些值。
删除 CronJobs
使用 Web 控制台删除 CronJobs
- 进入 Container Platform,并导航到 Workloads > CronJobs。
- 找到您要删除的 CronJobs。
- 在 Actions 下拉菜单中,点击 Delete 按钮并确认。