CronJobs
目录
了解 CronJobs创建 CronJobs使用 CLI 创建 CronJob前提条件YAML 文件示例通过 YAML 创建 CronJobs使用 Web 控制台创建 CronJobs前提条件使用新版 Web 控制台创建 CronJobsApplications 视图与 Clusters 视图中的创建入口差异操作步骤 - 配置基本信息操作步骤 - 配置 Pod操作步骤 - 配置容器创建立即执行定位 CronJob 资源发起临时执行验证 Job 详情:监控执行状态删除 CronJobs使用 Web 控制台删除 CronJobs使用 CLI 删除 CronJobs了解 CronJobs
请参阅 Kubernetes 官方文档:
CronJob 定义运行至完成后停止的任务。您可以根据计划多次运行同一个 Job。
CronJob 是 Kubernetes 中的一种工作负载控制器。您可以通过 Web 控制台或 CLI 创建 CronJob,定期或重复运行非持久化程序,例如定时备份、定时清理或定时发送电子邮件。
创建 CronJobs
使用 CLI 创建 CronJob
前提条件
- 确保已配置
kubectl并连接到集群。
YAML 文件示例
通过 YAML 创建 CronJobs
使用 Web 控制台创建 CronJobs
前提条件
获取镜像地址。镜像可以来自平台管理员通过工具链集成的镜像仓库,也可以来自第三方镜像仓库。
-
对于来自集成镜像仓库的镜像,管理员通常会将镜像仓库分配给您的项目,以便您使用其中的镜像。如果找不到所需的镜像仓库,请联系管理员进行分配。
-
如果使用第三方镜像仓库,请确保当前集群可以直接从该仓库拉取镜像。
-
如果镜像仓库需要身份验证,您需要配置相应的镜像拉取 Secret。更多信息请参阅 向 ServiceAccount 添加 ImagePullSecrets。
-
通过 OCI Connector 选择镜像时,还要为 Connector 代理选择镜像拉取 Secret,或确认工作负载 ServiceAccount 已引用该 Secret。请参阅 在 OCI Connector 中使用 ImagePullSecret。
使用新版 Web 控制台创建 CronJobs
Applications 视图与 Clusters 视图中的创建入口差异
新版 Web 控制台可以从不同视图进入 CronJob 创建页面。请根据您是在项目范围内操作还是在具体集群中操作来选择入口。
- Applications 视图:从当前项目开始。打开 Workloads > CronJobs,选择目标 Cluster 和 Namespace,然后选择可创建 CronJob 的创建流程。
- Clusters 视图:从具体集群开始。先打开目标集群,进入目标命名空间,然后导航到 Workloads > CronJobs 并点击 Create CronJob。
操作步骤 - 配置基本信息
-
在 Container Platform 中,导航到左侧边栏的 Workloads > CronJobs。
-
点击 Create CronJob。
-
选择或输入镜像,然后点击 Confirm。
注意:只有使用平台集成镜像仓库中的镜像时,才支持镜像过滤。例如,集成项目名称 containers(registry-projectname)表示平台的项目名称为 projectname,镜像仓库的项目名称为 containers。
对于 OCI Connector 镜像,请确认 Pod 模板已选择 Connector 代理镜像拉取 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 代理镜像、Pod Running 或 Completed 状态以及 Events。将过期令牌视为身份验证材料问题,并在下一次执行前轮换或重新创建 Secret。
监控执行状态
更新 CronJob 镜像或 OCI Connector 时,请检查 Pod 模板的 Connector 代理镜像拉取 Secret 或 ServiceAccount,以及令牌有效性。在下一次生成的 Job Pod 上再次验证这些值,因为 API 接受更新并不能证明计划 Pod 可以拉取其镜像。
删除 CronJobs
使用 Web 控制台删除 CronJobs
- 在 Container Platform 中,导航到 Workloads > CronJobs。
- 找到要删除的 CronJobs。
- 在 Actions 下拉菜单中,点击 Delete 按钮并确认。