【云原生】CronJob周期性任务详解

devtools/2024/9/25 10:38:38/

CronJob周期性任务

文章目录

  • CronJob周期性任务
    • 一、CronJob介绍
    • 二、创建CronJob
    • 三、查看资源
        • 3.1、查看Cronjob
        • 3.2、查看Job
        • 3.3、查看Pod

一、CronJob介绍

  • CronJob用于执行排期操作,例如备份、生成报告等。一个CronJob对象就像Linux系统上的crontab(cron table)文件中一行。它用Cron格式进行编写,并周期性地给定的调度事件执行Job。
  • CronJob有所限制,也比较特殊。例如在某些情况下,单个CronJob可以创建多个并发任务。
  • 当控制平面为CronJob创建新的Job和(间接)Pod时,CronJob的.metadata.name是命名这些Pod的部分基础。CronJob的名称必须是一个合法的DNS子域值,但这会对Pod的主机名产生意外的结果。未获得最佳兼容性,名称应遵循更严格的DNS标签规则。即使名称是一个DNS子域,它也不能超过52个字符。这是因为CronJob控制器将自动在你所提供的Job名称后附加11个字符,并且存在Job名称的最大长度不能超过53个字符的限制。

二、创建CronJob

  • CronJob需要一个配置文件。以下是针对一个CronJob的清单,该CronJob每分钟运行一个简单的演示任务:
[root@master ~]# vim cronjob.yaml
apiVersion: "batch/v1"
kind: CronJob
metadata:name: hello
spec:# 周期性执行任务# 分 时 日 月 周schedule: "* * * * *"# 定义了当CronJob触发时要运行的作业模板jobTemplate:spec:template:spec:containers:- name: helloimage: busybox:latestimagePullPolicy: IfNotPresent# Pod内部执行的shell命令command: ["/bin/sh","-c","date; echo Hello from the Kubernetes cluster"]# 以非零状态退出Pod,才会重启PodrestartPolicy: OnFailure

三、查看资源

  • Cronjob是一级一级的去创建的,cronjob创建的是job然后由job创建任务pod
  • 也可以通过cronjob、job、pod的名称可以很明显的看出,它们的层级关系
3.1、查看Cronjob
[root@master ~]# kubectl get cronjob
NAME    SCHEDULE    SUSPEND   ACTIVE   LAST SCHEDULE   AGE
hello   * * * * *   False     0        12s             2m23s
3.2、查看Job
[root@master ~]# kubectl get job
NAME             COMPLETIONS   DURATION   AGE
hello-28710961   1/1           1s         2m49s
hello-28710962   1/1           1s         109s
hello-28710963   1/1           0s         49s
3.3、查看Pod
[root@master ~]# kubectl get pod
NAME                   READY   STATUS      RESTARTS   AGE
hello-28710962-gx4gm   0/1     Completed   0          2m26s
hello-28710963-bvjrv   0/1     Completed   0          86s
hello-28710964-4clln   0/1     Completed   0          26s

http://www.ppmy.cn/devtools/91149.html

相关文章

Moba案例帧同步

1.设置环境光 2.搭建客户端框架 a.对上述的模块基类(都是单例类,都有初始化方法) b.隐藏登录页面(得到Canvas的子对象失活) c.设置根对象过场景不被移除 tip:模块都是继承mono的,不能直接ne…

常用的 git 和 linux 命令有哪些?

对于 Git 命令: 1. git init:初始化一个新的 Git 仓库。 2. git clone:克隆一个远程仓库到本地。 3. git add:将文件添加到暂存区。 4. git commit:提交暂存区的更改。 5. git status:查看工作区和暂存…

前端面试:项目细节重难点问题分享(16)

💁💁更多详情:爱米的前端小笔记(csdn~xitujuejin~zhiHu~Baidu~小红shu)同步更新,等你来看!都是利用下班时间整理的,整理不易,大家多多👍💛➕&…

一文搞懂英伟达的数据中心和消费级GPU的10点区别

Tesla卡和GeForce卡都是由英伟达生产的显卡系列,但它们针对的市场和应用场景有所不同: Tesla卡: Tesla是NVIDIA推出的一系列高性能计算卡,主要面向数据中心、科研和专业计算市场; 这些显卡专为计算密集型任务设计&…

git clone private repo

Create personal access token Clone repo $ git clone https://<user_name>:<personal_access_tokens>github.com/<user_name>/<repo_name>.git

【时时三省】unity test 测试框架 使用 code blocks 移植(核心文件:unity.c)

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 目录 1,使用 Code::Blocks 17.12 创建工程 2,移植文件至该工程下: 移入的文件为: 被移入的文件介绍: 更改代码: 向工程添加文件: 3,编译运行 4,运行结果说明 5,资源下载 1,使用 Code::Blocks …

你体验过让大模型自己写代码、跑代码吗?

你体验过让大模型自己写代码、跑代码吗&#xff1f; 体验通义千问自己写代码、跑代码吗目前大模型生成的代码可能会曲解开发者需求&#xff0c;遇到这种情况如何优化&#xff1f; 随着大模型的快速发展&#xff0c;大模型涉及到的领域也越来越多&#xff0c;比如我们网上购物经…

一六四、技术文档模版

1、概要 1.1 目的 本文档阐述智舱文心一言进阶场景 AI故事的整体技术方案。为了更好地对齐PM、RD&#xff08;工程、算法&#xff09;、QA等相关人员对于技术方案的理解。 1.2 适用范围 适用于xxx 1.3 参考文档 文档链接/版本 2、方案选型 xxxxxx 2.1 扩展性 2.2 通用…