【问题标题】:cronjob can't delete failed podcronjob 无法删除失败的 pod
【发布时间】:2021-12-08 05:33:02
【问题描述】:

我有一个每天午夜运行一次的 cronjob,但是有一天我部署了错误的版本,因此它制作的 pod 很快就失败了。

所以.. 问题是当我删除失败的 pod 时,cronjob 会立即重新创建它。我怎样才能阻止它?好吧,无论如何它的图像已经被破坏了,所以它一次又一次地重新创建新的 pod,它会失败。

我的问题是“如何删除由 cronjob 创建的失败 pod?”

附:我正在使用牧场主,但我不确定我的问题是否与它有关。

【问题讨论】:

  • 使用哪个kubernetes集群版本?我在1.16下面的cmets中看到,如果这是真的,根本不会解决。

标签: kubernetes devops kubernetes-pod rancher kubernetes-cronjob


【解决方案1】:

my question is "How can I delete failed pod created by cronjob?"

您可以使用ttlSecondsAfterFinished 来控制您希望在集群中保留完成任务还是失败任务的时间。

apiVersion: batch/v1
kind: CronJob
metadata:
  ...
spec:
  schedule: ...
  ...
  jobTemplate:
    spec:
      ttlSecondsAfterFinished: 43200 <-- example 12 hrs. 0 to clean immediately.
      template:
      ...

在撰写本文时要注意的另一件事是 K8s v1.21 测试版功能。

【讨论】:

  • 但它会保留任何历史记录吗?如果failedJobsHistoryLimit 为 0,我该如何排查失败的作业?
  • 已根据您的评论进行了调整。 K8s v1.16 早就停产了,这里不再赘述。由于您实际上希望将失败的作业保留一段时间以进行故障排除,因此您可以单独调整ttlSecondsAfterFinished
猜你喜欢
  • 1970-01-01
  • 2022-01-28
  • 2019-07-31
  • 1970-01-01
  • 2017-08-30
  • 1970-01-01
  • 2021-11-14
  • 1970-01-01
  • 2019-04-23
相关资源
最近更新 更多