首页 > 解决方案 > Kubernetes Pod 是否会在成功完成后过期?

问题描述

我正在运行具有大量完成的作业,因此创建了数百个 pod 并最终进入COMPLETED状态。

有没有办法让豆荚在它们完成时过期,这样我就不会得到一长串已完成的豆荚?

我们可以使用以下方法对作业执行此操作:

spec:
  ttlSecondsAfterFinished: 300
  successfulJobsHistoryLimit: 1

但是我还没有看到一种方法可以为作业创建的 pod 做到这一点。

标签: kubernetes

解决方案


不,它们是故意留下的,您必须手动清理它们。我们有一个定制的清洁工工作,在 7 天后将它们移除。

当 Job 完成时,不会再创建 Pod,但也不会删除 Pod。保留它们允许您仍然查看已完成 pod 的日志以检查错误、警告或其他诊断输出。作业对象在完成后也会保留,以便您查看其状态。用户可以在记录其状态后删除旧作业。

https://kubernetes.io/docs/concepts/workloads/controllers/job/#job-termination-and-cleanup


推荐阅读