一、Job 控制器简介 Job负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束。 Job 控制器用于管理批处理任务, 确保指定数量的 Pod 成功完成其任务。 它适用于需要一次性执行的任务, 如数据处理、备份等。Job 控制器会创建一个或多个 Pod 来执行任务, 并监控其状态, 直到所有 Pod 成功完成任务为止。 如果某个 Pod 失败, Job 控制器会根据配置重新创建 Pod 以确保任务完成。 特殊说明: * spec.template 格式同 Pod * RestartPolicy 仅支持 Never 或 OnFailure * 单个 Pod 时, 默认 Pod 成功运行后 Job 即结束 * .spec.completions 标志 Job 结束需要成功运行的 Pod 个数, 默认为 1 * .spec.parallelism 标志并行运行的 Pod 的个数, 默认为 1 * spec.activeDeadlineSeconds 标志失败 Pod 的重试最大时间, 超过这个时间不会继续重试 #----------------------------------------------------------------------------------------------- 二、job 控制器资源清单 apiVersion: batch/v1 kind: Job metadata: name: my-job spec: completions: 3 # 需要成功运行的 Pod 个数, 默认为 1 parallelism: 2 # 并行运行的 Pod 的个数, 默认为 1 backoffLimit: 4 # 失败 Pod 的重试次数, 默认为 6 activeDeadlineSeconds: 100 # 失败 Pod 的重试最大时间, 超过这个时间不会继续重试, 单位秒 template: spec: containers: - name: my-job image: my-job-image restartPolicy: Never