k8s Job工作模式,Crontab

一:批处理任务模式

  • Job Template Expansion模式:一个Job对象对应一个待处理的Work item,
  • Queue with Pod for Work Item:任务队列存放Work item,job启动多个Pod,每个Pod对应一个Work item。
  • Queue with Variable Pod Count模式:任务队列存放Work item,Job启动的Pod数量是可变。

二:k8s 并行批处理3种Job

  1. 非并行Job
    1. 一个Job启动一个Pod,一旦Pod正常结束,Job将结束
  2. 固定完成次数的并行Job
    1. 并发运行指定数量的Pod,直到指定数量的Pod成功,Job结束
    2. spec.completions 指定Pod数量
    3. spec.parallelism 指定同时运行几个Pod
  3. 带有工作队列的并行Job
    1. 用户可以指定并行的Pod数量,当任何Pod成功结束后,不会再创建新的Pod
    2. 一旦有一个Pod成功结束,并且所有的Pods都结束了,该Job就成功结束
    3. 一旦有一个Pod成功结束,其他Pods都会准备退出
  4. Job 模板文件
    apiVersion: batch/v1
    kind: Job
    metadata:
      name: pai
      labels:
        jobgroup: jobexample
    spec:
       parallelism: 2   #并行几个任务
       completions: 4   #期望几个任务可以完成  
      template:
        metadata:
          name: jobexample
          labels:
            jobgroup: jobexample
        spec:
          containers:
          - name: pai
            image: perl
            imagePullPolicy: IfNotPresent
            command: ["perl", "-Mbignum=bi", "-wle", "print bpi(2000)"]
          restartPolicy: OnFailure  #Never 没有always用法
      #最多尝试几次任务
      backoffLimit: 4
      #任务最多运行多长时间
      activeDeadlineSeconds: 100
  5. Crontab 与linux cron用法一致
    apiVersion: batch/v1beta1
    kind: CronJob
    metadata:
      name: hello
    spec:
      #Forbid 当前job没有运行完成,不会创建新的job
      #Allow 运行多个job同时运行,不建议使用这个策略
      #Replace 这个job会替换前一个没有运行完成的job,重新产生一个新job
      concurrencyPolicy: Replace
      suspend: true  #暂停job任务执行
      schedule: "*/1 * * * *"
      successfulJobsHistoryLimit: 3
      failedJobsHistoryLimit: 2
      jobTemplate:
        spec:
          template:
            spec:
              containers:
              - name: hello
                image: busybox
                imagePullPolicy: IfNotPresent
                args:
                - /bin/sh
                - -c
                - date; echo Hello from the Kubernetes cluster
              restartPolicy: OnFailure

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值