Job和CronJob

  • Post author:
  • Post category:其他

文章目录

Job

Job 会创建一个或者多个 Pods,并将继续重试 Pods 的执行,直到指定数量的 Pods 成功终止。 随着 Pods 成功结束,Job 跟踪记录成功完成的 Pods 个数。 当数量达到指定的成功个数阈值时,任务(即 Job)结束。
在这里插入图片描述
在这里插入图片描述

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  ttlSecondsAfterFinished: 10 # 任务执行完成后10秒清理
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never  # 重启策略
  backoffLimit: 4	# 重试次数

并行job

apiVersion: batch/v1
kind: Job
metadata:
  name: job-paralle
spec:
  completions: 8  # 执行的次数
  parallelism: 2  # 并行执行的job数
  template:
    spec:
      containers:
      - name: job-paralle
        image: perl
        command: ["/bin/sh"]
        args: ["-c", "sleep 30; date"]
      restartPolicy: OnFailure  # 重启策略

CronJob

定时任务:CronJob 创建基于时间可重复调度的 Jobs。简称cj

$ kubectl get job,cj -A

在这里插入图片描述
下面的 CronJob 示例清单会在每分钟打印出当前时间和问候消息:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: hello
spec:
  schedule: "* * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: hello
            image: busybox:1.28
            imagePullPolicy: IfNotPresent
            command:
            - /bin/sh
            - -c
            - date; echo Hello from the Kubernetes cluster
          restartPolicy: OnFailure

参考


版权声明:本文为u010275850原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。