首页 > 其他分享 >阿里云-云原生技术公开课的笔记之二 Job & CronJobs、DaemonSet

阿里云-云原生技术公开课的笔记之二 Job & CronJobs、DaemonSet

时间:2023-02-21 18:14:12浏览次数:37  
标签:这个 重试 公开课 Job CronJobs DaemonSet 节点 运行

 

 

  • 第一个是 restartPolicy,在 Job 里面我们可以设置 Never、OnFailure、Always 这三种重试策略。在希望 Job 需要重新运行的时候,我们可以用 Never;希望在失败的时候再运行,再重试可以用 OnFailure;或者不论什么情况下都重新运行时 Alway;
  • 另外,Job 在运行的时候不可能去无限的重试,所以我们需要一个参数来控制重试的次数。这个 backoffLimit 就是来保证一个 Job 到底能重试多少次。

 

所以在 Job 里面,我们主要重点关注的一个是 restartPolicy 重启策略和 backoffLimit 重试次数限制

 

 

 

  • 首先第一个参数是用来指定本 Pod 队列执行次数。可能这个不是很好理解,其实可以把它认为是这个 Job 指定的可以运行的总次数。比如这里设置成 8,即这个任务一共会被执行 8 次;
  • 第二个参数代表这个并行执行的个数。所谓并行执行的次数,其实就是一个管道或者缓冲器中缓冲队列的大小,把它设置成 2,也就是说这个 Job 一定要执行 8 次,每次并行 2 个 Pod,这样的话,一共会执行 4 个批次。

 

 

 

  • schedule:schedule 这个字段主要是设置时间格式,它的时间格式和 Linux 的 crontime 是一样的,所以直接根据 Linux 的 crontime 书写格式来书写就可以了。举个例子: */1 指每分钟去执行一下 Job,这个 Job 需要做的事情就是打印出大约时间,然后打印出“Hello from the kubernetes cluster” 这一句话;

 

  • startingDeadlineSeconds:即:每次运行 Job 的时候,它最长可以等多长时间,有时这个 Job 可能运行很长时间也不会启动。所以这时,如果超过较长时间的话,CronJob 就会停止这个 Job;

 

  • concurrencyPolicy:就是说是否允许并行运行。所谓的并行运行就是,比如说我每分钟执行一次,但是这个 Job 可能运行的时间特别长,假如两分钟才能运行成功,也就是第二个 Job 要到时间需要去运行的时候,上一个 Job 还没完成。如果这个 policy 设置为 true 的话,那么不管你前面的 Job 是否运行完成,每分钟都会去执行;如果是 false,它就会等上一个 Job 运行完成之后才会运行下一个;

 

  • JobsHistoryLimit:这个就是每一次 CronJob 运行完之后,它都会遗留上一个 Job 的运行历史、查看时间。当然这个额不能是无限的,所以需要设置一下历史存留数,一般可以设置默认 10 个或 100 个都可以,这主要取决于每个人集群不同,然后根据每个人的集群数来确定这个时间。

 

 

 

 

 

DaemonSet 最常用的点在于以下几点内容:

  • 首先是存储,GlusterFS 或者 Ceph 之类的东西,需要每台节点上都运行一个类似于 Agent 的东西,DaemonSet 就能很好地满足这个诉求;
  • 另外,对于日志收集,比如说 logstash 或者 fluentd,这些都是同样的需求,需要每台节点都运行一个 Agent,这样的话,我们可以很容易搜集到它的状态,把各个节点里面的信息及时地汇报到上面;
  • 还有一个就是,需要每个节点去运行一些监控的事情,也需要每个节点去运行同样的事情,比如说 Promethues 这些东西,也需要 DaemonSet 的支持。

 

 

 

 

标签:这个,重试,公开课,Job,CronJobs,DaemonSet,节点,运行
From: https://www.cnblogs.com/xq0422/p/17136886.html

相关文章

  • 测试公开课资料系列01--Fiddler之AutoResponse在线调试利器
     前言做的技艺来自做的过程。明天晚上,笔者在腾讯课堂开播一堂Fiddler实战公开课,嗯~先预先筹备一些课堂资料给大家来分享一、Fiddler在线调试介绍Fiddler在线调试-->Fid......
  • XXL-JOB 分布式任务调度框架(Cron表达式、环境搭建、整合SpringBoot、广播任务与动态分
    (目录)xxl-Job分布式任务调度1.概述1.1什么是任务调度我们可以先思考一下业务场景的解决方案:某电商系统需要在每天上午10点,下午3点,晚上8点发放一批优惠券。某银行......
  • elastic-job服务启动报错,问题排查
     elastic-job服务启动报错,报错信息:org.quartz.SchedulerException:Jobthrewanunhandledexception.atorg.quartz.core.JobRunShell.run(JobRunShell.java:213)at......
  • 测试公开课资料系列02--Postman之chai.js断言应用
    前言如果要挖井,就要挖到水出为止。明晚公开课给大家讲讲如何用chai.js断言,有用过postman只会右侧点来自动生成断言代码,或在公司应用postman的朋友们都来听听。一、c......
  • xxl-job的基本使用
    xxl-job的基本使用xxl-job是分布式的调度平台调度执行器执行任务,使用的是DB锁(forupdate)来保证集群分布式调用的一致性,学习简单,操作容易,成本不高。准备阶段服务端配......
  • xxl-job 部署过程
    项目地址https://www.xuxueli.com/xxl-job/sql/xxl-job/doc/db/tables_xxl_job.sql修改xxl-job-admin配置文件/xxl-job/xxl-job-admin/src/main/resources/applicat......
  • Codeforces Round #442 (Div. 2)E. Danil and a Part-time Job 线段树+lazytag
    题意:一颗有根树,树上每一个节点有一个灯,要支持两种操作第一种操作是统计一颗子树内开着的灯个数。第二种操作是将一个子树内的所有灯状态改变(开灯->关灯,关灯->开灯)。解......
  • 创建cronjob用户和命名空间
    创建命名空间#注意命名规则kubectlcreatenamespacecyj-scheduleyaml创建用户createaccount.yamlapiVersion:v1kind:ServiceAccountmetadata:name:s......
  • GitLab CICD Day 04 - 新增 Pipeline Job
    编写.gitlab-ci.ymlhelloworld:#Jobtags:-shell#Gitlab-runnerbefore_script:-echo"脚本执行前的任务"scrip......
  • 【Flink】详解JobGraph
    ​ 【Flink】详解JobGraph大家好,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!!概述JobGraph......