Job
Job 会创建一个或多个 Pod,并将继续重试 Pod 的执行,直接指定数量的 Pod 成功为止。随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数。当数量达到指定的个数阀值时,任务结束。删除 Job 的操作会清除所创建的全部 Pod。挂起 Job 的操作会删除 Job 的所有活跃 Pod,直接 Job 被两次恢复执行。
一种简单的使用场景,创建一个 Job 对象以便以一种可靠的方式运行某 Pod 直到完成。当第一个 Pod 失败或者被删除(比如,因为节点硬件失效或重启)时,Job 对象会启动一个新的 Pod。
也可以使用 Job 以并行的方式运行多个 Pod。
如果想按某种时间预期来运行 Job(单个任务或多个并行任务),请参阅 CronJob。
示例
下面是一个 Job 配置示例。它负责计算 π 到小数点后 2000 位,并将结果打印出来。此计算大约需要 10 秒种完成。
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执行
输出
检查 Job 状态
输出
查看 Job 对应的已完成的 Pod
查看隶属于某个 Job 的全部 Pod
这里,选择算符与 Job 的选择算符相同。--output=jsonpath 选项给出了一个表达式,用来从返回的列表中提取每个 Pod 的 name 字段。
查看其中一个 Pod 的标准输出:
输出
最后更新于
这有帮助吗?