tencent cloud

容器服务

动态与公告
产品动态
公告
产品发布记录
产品简介
产品概述
产品优势
产品架构
应用场景
产品功能
基本概念
原生 Kubernetes 名词对照
容器服务高危操作
地域和可用区
开源组件
购买指南
购买指引
购买 TKE 标准集群
购买原生节点
购买超级节点
快速入门
新手指引
快速创建一个标准集群
入门示例
容器应用部署 Check List
集群配置
标准集群概述
集群管理
网络管理
存储管理
节点管理
GPU 资源管理
远程终端
应用配置
工作负载管理
服务和配置管理
组件和应用管理
弹性伸缩
容器登录方式
可观测配置
运维可观测性
成本洞察和优化
调度配置
调度组件概述
资源利用率优化调度
业务优先级保障调度
Qos 感知调度
安全和稳定性
容器服务安全组设置
身份验证和授权
应用安全
多集群管理
计划升级
备份中心
云原生服务指南
云原生 etcd
Prometheus 监控服务
TKE Serverless 集群指南
TKE 注册集群指南
实践教程
集群
Serverless 集群
调度
安全
服务部署
网络
发布
日志
监控
运维
Terraform
DevOps
弹性伸缩
容器化
微服务
成本管理
混合云
AI
故障处理
节点磁盘爆满排障处理
节点高负载排障处理
节点内存碎片化排障处理
集群 DNS 解析异常排障处理
集群 Kube-Proxy 异常排障处理
集群 API Server 网络无法访问排障处理
Service&Ingress 网络无法访问排障处理
Service&Ingress 常见报错和处理
Nginx Ingress 偶现 Connection Refused
CLB Ingress 创建报错排障处理
Pod 网络无法访问排查处理
Pod 状态异常与处理措施
授权腾讯云售后运维排障
CLB 回环问题
API 文档
History
Introduction
API Category
Making API Requests
Elastic Cluster APIs
Resource Reserved Coupon APIs
Cluster APIs
Third-party Node APIs
Relevant APIs for Addon
Network APIs
Node APIs
Node Pool APIs
TKE Edge Cluster APIs
Cloud Native Monitoring APIs
Scaling group APIs
Super Node APIs
Other APIs
Data Types
Error Codes
TKE API 2022-05-01
常见问题
TKE 标准集群
TKE Serverless 集群
运维类
隐患处理
服务类
镜像仓库类
远程终端类
事件类
资源管理类
服务协议
TKE Service Level Agreement
TKE Serverless Service Level Agreement
联系我们
词汇表

CronJob 管理

PDF
聚焦模式
字号
最后更新时间: 2024-12-19 22:09:58

简介

一个 CronJob 对象类似于 crontab(cron table)文件中的一行,它根据指定的预定计划周期性地运行一个 Job。

CronJob 控制台操作指引

创建 CronJob

2. 在左侧导航栏中,单击集群,进入集群管理页面。
3. 单击需要创建 CronJob 的集群 ID,进入待创建 CronJob 的集群管理页面。
4. 选择工作负载 > CronJob,进入 CronJob 信息页面。如下图所示:



5. 单击新建,进入新建 CronJob 页面。
6. 根据实际需求,设置 CronJob 参数。关键参数信息如下:
工作负载名:自定义。
标签:一个键 - 值对(Key-Value),用于对资源进行分类管理。
命名空间:根据实际需求进行选择。
类型:选择 “CronJob(按照 Cron 的计划定时运行)”。
定时规则:根据业务需求选择任务的定期执行策略。
保留成功 Job 数:对应.spec.successfulJobsHistoryLimit,详情见 Jobs History Limits
保留失败 Job 数:对应.spec.failedJobsHistoryLimit,详情见 Jobs History Limits
Job 设置
重复次数:Job 管理的 Pod 需要重复执行的次数。
并行度:Job 并行执行的 Pod 数量。
失败重启策略:Pod下容器异常退出后的重启策略。
Never:不重启容器,直至 Pod 下所有容器退出。
OnFailure:Pod 继续运行,容器将重新启动。
数据卷(选填):为容器提供存储,目前支持临时路径、主机路径、云硬盘数据卷、文件存储 NFS、配置文件、PVC,还需挂载到容器的指定路径中。
实例内容器:根据实际需求,为 CronJob 的一个 Pod 设置一个或多个不同的容器。
名称:自定义。
镜像:根据实际需求进行选择。
镜像版本:根据实际需求进行填写。
镜像拉取策略:提供以下3种策略,请按需选择。 若不设置镜像拉取策略,当镜像版本为空或 latest 时,使用 Always 策略,否则使用 IfNotPresent 策略。
Always:总是从远程拉取该镜像。
IfNotPresent:默认使用本地镜像,若本地无该镜像则远程拉取该镜像。
Never:只使用本地镜像,若本地没有该镜像将报异常。
CPU/内存限制:可根据 Kubernetes 资源限制 进行设置 CPU 和内存的限制范围,提高业务的健壮性。
GPU 资源:配置该工作负载使用的最少 GPU 资源。
高级设置:可设置 “工作目录”,“运行命令”,“运行参数”,“容器健康检查”,“特权级”等参数。
镜像访问凭证:容器镜像默认私有,在创建工作负载时,需选择实例对应的镜像访问凭证。
节点调度策略:可根据调度规则,将 Pod 调度到符合预期的 Label 的节点中。
7. 单击创建 CronJob,完成创建。

查看 CronJob 状态

2. 在左侧导航栏中,单击集群,进入集群管理页面。
3. 单击需要查看 CronJob 状态的集群 ID,进入待查看 CronJob 状态的集群管理页面。
4. 选择工作负载 > CronJob,进入 CronJob 信息页面。
5. 单击需要查看状态的 CronJob 名称,即可查看 CronJob 详情。

Kubectl 操作 CronJob 指引

YAML 示例

apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: hello
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
args:
- /bin/sh
- -c
- date; echo Hello from the Kubernetes cluster
restartPolicy: OnFailure
kind:标识 CronJob 资源类型。
metadata:CronJob 的名称、Label等基本信息。
metadata.annotations:对 CronJob 的额外说明,可通过该参数设置腾讯云 TKE 的额外增强能力。
spec.schedule:CronJob 执行的 Cron 的策略。
spec.jobTemplate:Cron 执行的 Job 模板。

创建 CronJob

方法一

1. 参考 YAML 示例,准备 CronJob YAML 文件。
2. 安装 Kubectl,并连接集群。操作详情请参考 通过 Kubectl 连接集群
3. 执行以下命令,创建 CronJob YAML 文件。
kubectl create -f CronJob YAML 文件名称
例如,创建一个文件名为 cronjob.yaml 的 CronJob YAML 文件,则执行以下命令:
kubectl create -f cronjob.yaml

方法二

1. 通过执行kubectl run命令,快速创建一个 CronJob。 例如,快速创建一个不需要写完整配置信息的 CronJob,则执行以下命令:
kubectl run hello --schedule="*/1 * * * *" --restart=OnFailure --image=busybox -- /bin/sh -c "date; echo Hello"
2. 执行以下命令,验证创建是否成功。
kubectl get cronjob [NAME]
返回类似以下信息,即表示创建成功。
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
cronjob * * * * * False 0 <none> 15s

删除 CronJob

注意:
执行此删除命令前,请确认是否存在正在创建的 Job,否则执行该命令将终止正在创建的 Job。
执行此删除命令时,已创建的 Job 和已完成的 Job 均不会被终止或删除。
如需删除 CronJob 创建的 Job,请手动删除。
执行以下命令,删除 CronJob。
kubectl delete cronjob [NAME]


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈