研发工程师玩转Kubernetes——定时任务

这篇具有很好参考价值的文章主要介绍了研发工程师玩转Kubernetes——定时任务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

定时任务是指可以制定周期的任务,比如每周二0点1分执行一次。在《研发工程师玩转Kubernetes——非定时任务》中,我们介绍了单次执行的任务。现在我们只要对其清单稍作修改,就可以实现定时任务。

# wrk_cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: wrk-cronjob
spec:
  schedule: "0/1 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: wrk
            image: localhost:32000/wrk:v1
            command: ["wrk", "-t20", "-c20",  "-d30", "http://192.168.137.248:30000"]
          restartPolicy: Never

和单次任务清单相比,主要的修改点是:新增了spec.schedule字段。它用于描述周期。
研发工程师玩转Kubernetes——定时任务
可以见得,我们可以控制的最短周期是分钟。
在表达式中,*表示”所有”。比如:

  • *****表示:每分钟、每小时、每天、每月和每周的每天,直白点说就是每分钟执行一次。
  • 1**** 表示每月每天每小时的1分钟时执行一次。
  • 1 22 30 5 *表示每年的5月30日22时1分执行一次。
  • 1 22 * * 2表示每个星期2的22时1分执行一次。
    除了指定时间执行,还可以指定周期。即用/表示切分周期。比如:
  • */2 * * * *表示每两分钟执行一次。

我们还可以使用https://crontab.guru/来查看表达式的表意。
比如例子中的*/1 * * * *表达的是每一分钟执行一次。
我们使用下面指令创建cronjob。

 kubectl create -f wrk_cronjob.yaml

cronjob.batch/wrk-cronjob created

可以看到每隔一分钟,我们创建了一个Job;每个Job也创建了一个Pod
研发工程师玩转Kubernetes——定时任务
研发工程师玩转Kubernetes——定时任务
如果没有dashboard,可以使用命令查看。

kubectl get jobs.batch --watch
NAME                   COMPLETIONS   DURATION   AGE
wrk-cronjob-28090472   1/1           33s        3m21s
wrk-cronjob-28090473   1/1           33s        2m21s
kubectl get pod --watch
NAME                                      READY   STATUS      RESTARTS   AGE
simple-http-deployment-58dd5b649b-4p429   1/1     Running     0          5d13h
simple-http-deployment-58dd5b649b-pcnw9   1/1     Running     0          5d13h
wrk-cronjob-28090472-8snlv                0/1     Completed   0          39s
wrk-cronjob-28090473-ptbgg                0/1     Pending     0          0s
wrk-cronjob-28090473-ptbgg                0/1     Pending     0          0s
wrk-cronjob-28090473-ptbgg                0/1     ContainerCreating   0          0s
wrk-cronjob-28090473-ptbgg                0/1     ContainerCreating   0          0s
wrk-cronjob-28090473-ptbgg                1/1     Running             0          1s
wrk-cronjob-28090473-ptbgg                0/1     Completed           0          31s
wrk-cronjob-28090473-ptbgg                0/1     Completed           0          32s
wrk-cronjob-28090473-ptbgg                0/1     Completed           0          33s
wrk-cronjob-28090473-ptbgg                0/1     Completed           0          33s

如果我们希望CronJob创建的Job和Pod在执行结束后自动删除,可以给
spec.jobTemplate.spec.ttlSecondsAfterFinished设定一个值,例子如下:

# wrk_cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: wrk-cronjob
spec:
  schedule: "0/1 * * * *"
  jobTemplate:
    spec:
      ttlSecondsAfterFinished: 0
      template:
        spec:
          containers:
          - name: wrk
            image: localhost:32000/wrk:v1
            command: ["wrk", "-t20", "-c20",  "-d30", "http://192.168.137.248:30000"]
          restartPolicy: Never

我们可以通过下面指令删除CronJob,这样它创建的Job和Pod都会被删除。

kubectl delete cronjobs.batch wrk-cronjob 

cronjob.batch “wrk-cronjob” deleted文章来源地址https://www.toymoban.com/news/detail-469113.html

参考资料

  • https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/cron-jobs/
  • https://man.freebsd.org/cgi/man.cgi?crontab%285%29

到了这里,关于研发工程师玩转Kubernetes——定时任务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 研发工程师玩转Kubernetes——使用Node特性定向调度Pod

    在《研发工程师玩转Kubernetes——使用污点(taint)驱逐Pod》中我们提到亲和性(affinity)中的requiredDuringSchedulingIgnoredDuringExecution,它可以定向调度Pod。本节我们将使用相关特性完成定向调度的介绍。 我们先模拟Pod被部署在Master Node上的场景。这个时候我们可以使用nodeSelector对

    2024年02月08日
    浏览(32)
  • 【个人介绍】后端研发工程师

    1. 熟悉JAVA基础、多线程、并发编程、设计模式、数据结构与算法、JVM原理与调优等。 2. 熟悉SpringBoot、SpringCloud、SpringCloud Alibaba、JPA、MyBatis等框架。 3. 熟悉数据库设计、MySQL原理与索引优化、Redis、Memecache、MongoDB等。 4. 熟悉Nginx、主从集群、TCP/IP、NIO编程、Reactor模式、Nett

    2023年04月09日
    浏览(42)
  • 一些研发工程师在Springboot注意点

    1. 正确设计代码目录结构 虽然您有很大的自由度,但有一些基本规则值得遵循来设计您的源代码结构。 避免使用默认包。确保所有内容(包括入口点)都在命名良好的包中,这样您就可以避免与组装和组件扫描相关的意外情况; 将 Application.java(应用程序的入口类)放在顶

    2024年02月08日
    浏览(31)
  • 技术精英求职必备:大数据研发工程师简历模板

    原则 撰写针对大数据研发工程师职位的简历时,关键在于准确展现您在 大数据处理、分析和应用开发方面的综合技能、项目经验和技术成就 。简历应作为您展示跨多个技术栈的 编程能力、构建完整大数据解决方案和有效解决大数据技术问题 的能力的窗口。确保每一项经历

    2024年02月21日
    浏览(39)
  • 《研发效能(DevOps)工程师》课程简介(二)丨IDCF

    为贯彻落实《关于深化人才发展体制机制改革的意见》,推动实施人才强国战略,促进专业技术人员提升职业素养、补充新知识新技能,实现人力资源深度开发,推动经济社会全面发展,根据《中华人民共和国劳动法》有关规定,工业和信息化部教育与考试中心联合有关部门

    2024年02月07日
    浏览(37)
  • 技术精英求职必备:AIGC(图像生成)研发工程师简历指南

    核心原则 撰写针对AIGC(图像生成)研发工程师职位的简历时,关键在于准确展现您在深度学习、计算机视觉和图像生成算法方面的综合技能、项目经验和技术成就。简历应作为您展示跨多个技术栈的编程能力、构建完整的图像生成解决方案和有效解决AIGC技术问题的能力的窗口

    2024年03月25日
    浏览(48)
  • 【社招】【中国电信-天翼云】诚聘高级FPGA研发工程师

    基础架构部门介绍: 天翼云是中国电信旗下云计算品牌,致力于成为领先的云计算服务提供商。 基础架构部作为天翼云的核心部门,负责构建天翼云的整个物理基础设施。打造了包括紫金DPU、物理服务器、物理网络、RDMA网络、操作系统、虚拟化、IDC在内的核心底座产品。基

    2024年02月03日
    浏览(33)
  • 阿里云研发工程师刘睿:阿里云消息生态及最佳实践

    2022 年 9 月 24 日,阿里云用户组(AUG)第 12 期活动在厦门举办。活动现场,阿里云消息中间件研发工程师刘睿,向参会企业代表分享了阿里云消息生态及最佳实践。本文根据演讲内容整理而成。 众所周知,消息中间件作为现代软件体系中的底层基础软件,和数据库一样广泛

    2023年04月09日
    浏览(25)
  • 博冠光电8K事业部招聘研发工程师及产品经理

    一、高级结构工程师 工作职责:1、负责公司产品的机械结构设计、模具开发和量产导入;2、负责机械结构方向的技术预研,包括技术专题研究,技术难题攻关; 3、负责结构组的技术管理工作,包括带新人,材料选型,设计审核;4、领导安排的其他工作。任职要求:1.、本

    2024年02月12日
    浏览(25)
  • 突破职场竞争,引领未来发展:考取《研发效能(DevOps)工程师职业技术认证》

    就业形势堪忧,什么最有保障?考个“国家级”证书傍身吧! 工信部教考中心作为中国领先的行业技能认证机构,其颁发的认证证书不仅代表了个人在信息技术领域的专业能力,更可以录入工业和信息化技术技能人才数据库,这是一个重要的信息资源平台,它可以帮助企业和

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包