美文网首页
Kubernetes YAML 详解之 Job CronJob

Kubernetes YAML 详解之 Job CronJob

作者: 河码匠 | 来源:发表于2023-05-07 11:21 被阅读0次

一、Job YAML

kubectl explain job.spec
字段 值类型 说明
activeDeadlineSeconds integer Job 存活时间;一旦 Job 运行时间达到 activeDeadlineSeconds 秒,其所有运行中的 Pod 都会被终止, 并且 Job 的状态更新为 type: Failedreason: DeadlineExceeded
backoffLimit integer 重启几次后为失败。默认: 6
completionMode string 完成模式

NonIndexed: 当成功完成的 Pod 个数达到 .spec.completions 所 设值时认为 Job 已经完成。换言之,每个 Job 完成事件都是独立无关且同质的

Indexed: Job 的 Pod 会获得对应的完成索引。当每个索引都对应一个成功完成的 Pod 时,Job 被认为是已完成的
completions integer 成功完成任务数量,当达到指定数量时表示 job 完成
manualSelector boolean 系统生成 selector 匹配符
parallelism integer 并行性请求(.spec.parallelism)可以设置为任何非负整数。 如果未设置,则默认为 1。 如果设置为 0,则 Job 相当于启动之后便被暂停,直到此值被增加。
selector Object POD 选择器
suspend boolean 挂起 job
template Object 一个 pod 模板
ttlSecondsAfterFinished integer 清理已完成的 job

示例:

apiVersion: batch/v1
kind: Job
metadata:
  name: pi
spec:
  template:
    spec:
      containers:
      - name: pi
        image: perl:5.34.0
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
  backoffLimit: 4

一、CronJob YAML

字段 值类型 说明
concurrencyPolicy string 声明了 CronJob 创建的任务执行时发生重叠如何处理

Allow:默认。CronJob 允许并发任务执行

Forbid: CronJob 不允许并发任务执行;如果新任务的执行时间到了而老任务没有执行完,CronJob 会忽略新任务的执行

Replace: 如果新任务的执行时间到了而老任务没有执行完,CronJob 会用新任务替换当前正在运行的任务
* jobTemplate Object 一个 pod 模板
* schedule string 计划任务。语法 * (分钟 0 - 59) * (小时 0 - 23) * (月的某天 1 - 31) * (月份 1 - 12) * (周的某天 0 - 6)
startingDeadlineSeconds integer 任务延迟开始的最后期限。也就是说任务如果由于某种原因错过了调度时间,开始该任务的截止时间的秒数
suspend boolean 挂起针对 CronJob 执行的任务
failedJobsHistoryLimit / successfulJobsHistoryLimit integer 这两个字段指定应保留多少已完成和失败的任务。 默认设置分别为 3 和 1。将限制设置为 0 代表相应类型的任务完成后不会保留

示例:

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

相关文章

网友评论

      本文标题:Kubernetes YAML 详解之 Job CronJob

      本文链接:https://www.haomeiwen.com/subject/xzxkrdtx.html