k8s-job使用

一、job特性

 

  1. 运行完成后退出,但是不会被删除,便于用户查看日志信息,了解任务完成的情况
  2. 删除job时产生的pod也会被一起删除
  3. job中可以运行多个pod(任务执行多次),且可以并行运行缩短任务完成的时间
  4. 限制job中的pod的完成时间,即设置超时时间
  5. 可以设置类似定时计划任务的job,定期执行 
二、job的yaml文件示例

apiVersion: batch/v1

kind: Job

medatada:

  name: test-job

spec:

  completions: 5 #需要运行的pod数量

  parallelism: 2  #允许并发运行的pod数量

  activeDeadlineSeconds: 360s #pod运行的超时时间 

  template:

    medatada:

       labels:

         app: test-job

    spec:

      restartPolicy: OnFailure

      containers:

      - name: test-job

        image: luksa/batch-job 

 

三、cronjob定时计划任务 

apiVersion: batch/v1beta1

kind: Cronjob

medatada:

  name: test-cronjob

spec:

  schedule: "30 * * * *" #参考定时计划任务(分时日月周)

  startingDeadlineSeconds: 15 #pod必须在规定时间后的15秒内开始执行,若超过该时间未执行,则任务将不运行,且标记失败    

  jobtemplate:

    spec:

      template:

labels:

  app: test-cronjob 

    spec:

      restartPolicy: OnFailure

      containers:

      - name: test-job

        image: luksa/batch-job 

 

posted @ 2019-03-29 14:05  jayce9102  阅读(1307)  评论(0编辑  收藏  举报