在 Kubernetes 作业中,有一个 .spec.activeDeadlineSeconds 规范。如果不明确设置,默认值是多少?600秒?
这是 k8s 文档中的示例
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-timeout
spec:
backoffLimit: 5
activeDeadlineSeconds: 100
template:
spec:
containers:
- name: pi
image: perl
command: ["perl", "-Mbignum=bpi", "-wle", "print bpi(2000)"]
restartPolicy: Never
Run Code Online (Sandbox Code Playgroud)
假设我删除了该行
activeDeadlineSeconds: 100
Run Code Online (Sandbox Code Playgroud)
默认情况下,作业将不间断地运行。如果您不设置activeDeadlineSeconds,该作业将没有有效的截止日期限制。这意味着activeDeadlineSeconds没有默认值。
顺便说一句,终止作业的方法有多种。(当然,当作业完成时,不会再创建更多的 Pod。)
Pod 退避失败策略( .spec,.backofflimit) 您可以设置.spec.backoffLimit指定在将作业视为失败之前重试的次数。退避限制默认设置为 6。作业控制器将重新创建与作业关联的失败 Pod,并以指数退避延迟(10 秒、20 秒、40 秒...)上限为 6 分钟。当作业的 Pod 被删除或成功且该作业的任何其他 Pod 在此期间失败时,回退计数将被重置。
设置活动截止时间( .spec.activeDeadlineSeconds) activeDeadlineSeconds 适用于作业的持续时间,无论创建了多少个 Pod。一旦作业达到 activeDeadlineSeconds,其所有正在运行的 Pod 都会终止,并且作业状态将变为类型:失败,原因:DeadlineExceeded。
请注意,作业的 .spec.activeDeadlineSeconds 优先于其 .spec.backoffLimit。因此,重试一个或多个失败 Pod 的作业一旦达到 activeDeadlineSeconds 指定的时间限制,即使尚未达到 backoffLimit,也不会部署其他 Pod。
| 归档时间: |
|
| 查看次数: |
8777 次 |
| 最近记录: |