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