You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何防止Kubernetes Job Pod执行完成后自动删除?含Helm配置方法

保留Job执行完成后的Pod及Helm配置方法

要保留Job执行完成后的Pod,核心是利用Kubernetes Job的ttlSecondsAfterFinished参数,具体配置和Helm集成方式如下:

直接修改Job配置

在Job的spec字段下添加ttlSecondsAfterFinished,设置为-1即可永久保留完成后的Pod;如果只是临时保留,可以设置具体秒数(比如86400表示保留1天)。修改后的Job配置片段:

apiVersion: batch/v1
kind: Job
...
spec:
  backoffLimit: 1
  # -1 表示永久保留完成状态的Pod,也可设置具体秒数
  ttlSecondsAfterFinished: -1
  template:
    spec:
      restartPolicy: Never
      containers:
...

在Helm Chart中做可配置化设置

为了灵活控制Pod保留策略,可以把这个参数抽到Helm的values.yaml中,方便不同环境调整:

  1. 在values.yaml中添加配置项:
job:
  # 配置Job完成后Pod的保留时间,-1=永久保留,单位:秒
  ttlSecondsAfterFinished: -1
  backoffLimit: 1
  1. 在templates/job.yaml的Job spec部分引用该配置:
apiVersion: batch/v1
kind: Job
...
spec:
  backoffLimit: {{ .Values.job.backoffLimit }}
  ttlSecondsAfterFinished: {{ .Values.job.ttlSecondsAfterFinished }}
  template:
    spec:
      restartPolicy: Never
      containers:
...

注意事项

如果你的Kubernetes集群版本低于1.21,ttlSecondsAfterFinished属于Beta特性,需要先开启TTLAfterFinished特性门控才能使用。目前主流集群版本都已支持稳定版该特性,无需额外配置。

内容的提问来源于stack exchange,提问作者Dante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 09:45:40