3.4.3. Job.yml¶
Job实例:
apiVersion: batch/v1
kind: Job
metadata:
name: busybox
labels:
name: busybox
spec:
parallelism: 10 # 设定并发执行的个数
backoffLimit: 5 # 重启次数限制(默认为6), 超过些限制会不再重启
activeDeadlineSeconds: 20 # 最长运行时间(单位s), 默认应该是可以一直运行
ttlSecondsAfterFinished: 60 # 自动清理已结束的作业
template:
metadata:
name: busybox
labels:
app: busybox
spec:
containers:
- name: busybox
image: registry.cn-beijing.aliyuncs.com/octopus-test/analysis-once:v1
imagePullPolicy: IfNotPresent
command: ["/analysis-once", "--start=20190101", "--end=20190819"]
restartPolicy: Never
# restartPolicy: Never: 容器启动后未成功就会一直创建新的容器
# 如果最后也没重启成功, 则失败几次就会有几个失败的pod
# restartPolicy: OnFailure: 容器启动后未成功不会在创建新的容器,他会一直重启此容器
# 如果最后也没重启成功, 则一个pod都没有
# imagePullPolicy: IfNotPresent
# imagePullPolicy: Always
.spec.ttlSecondsAfterFinished¶
以下是设置 Job 的 .spec.ttlSecondsAfterFinished 字段的一些示例:
1. 在资源清单(manifest)中指定此字段,以便 Job 在完成后的某个时间被自动清除
2. 将此字段设置为存在的、已完成的资源,以采用此新功能
3. 在创建资源时使用 mutating admission webhook 动态设置该字段
集群管理员可以使用它对完成的资源强制执行 TTL 策略
4. 使用 mutating admission webhook 在资源完成后动态设置该字段
并根据资源状态、标签等选择不同的 TTL 值