此文为学习《Kubernetes权威指南》的相关笔记
学习笔记:
Job:批处理调度,用于定义并启动一个批处理任务,与RS\RC\Deployment\DaemonSet类似,Job同样作为副本控制器的一种,来控制一组Pod容器,批处理任务的建立目标在于处理一批工作项(work item),在处理完成后,整个批处理任务结束,与其他副本控制器的差别在于:
- Job所控制的Pod副本短暂运行,且RestartPolicy为Never,当控制的所有Pod副本运行结束后,Job随之结束。
- Job所控制的Pod副本的工作模式能够实现段多实例并行运算。
K8s在1.5版本之后提供了Cronjob:定时任务,使得让某些批处理任务根据定时反复执行成为可能。
阿里云大学云原生公开课上,对Job给出的介绍如下:
下面是Job和CronJob的运行实例
一、Job运行实例
1、建立配置文件模板job.yaml.txt
Job所在的apiVersion应指定为batch/v1
与RC等副本控制器相同,Job在.spec.template域中定义它控制的Pod属性, restartPolicy域应当设置为Never
在本次Job的定义中,设置每次运行时打印此批处理任务的名称
apiVersion: batch/v1
kind: Job
metadata:
name: process-item-$ITEM
labels:
jobgroup: jobexample
spec:
template:
metadata:
name: jobexample
labels:
jobgroup: jobexample
spec:
contai