如何清理旧的 Kubernetes 作业

x33g5p2x  于2022-08-17 转载在 Kubernetes  
字(0.6k)|赞(0)|评价(0)|浏览(521)

Kubernetes Jobs重复创建 Pod,直到指定数量的容器成功终止。作业通常与更高级别的CronJob机制一起使用,该机制会按循环计划自动启动新作业。

定期使用 Jobs 和 CronJobs 通常会导致大量对象在集群中徘徊。Jobs 及其 Pod 在完成后会被有意无限期保留。这样您就可以检查作业的状态并在将来检索其日志。kubectl get pods但是,当您运行类似或的命令时,太多已完成的作业会污染 Kubectl 输出kubectl get jobs。这会使人们更难专注于相关活动。

在本文中,我们将分享一些清理旧作业的方法。您将能够自动或按需从集群中删除冗余对象。

CronJob 历史保留限制

自 Kubernetes v1.6 起,由 CronJob 创建的作业支持自动清理。此方法允许您为已完成和失败的作业配置单独的删除阈值。
通过设置CronJob 对象上的spec.successfulJobsHistoryLimit和字段来启用清理策略:spec.failedJobsHistoryLimit

apiVersion: batch/v1
kind: CronJob
metadata:
  name: demo-cron
spec:
  schedule: "* * * * *"
  successfulJobsHistoryLimit: 5
  failedJobsHistoryLimit: 10
  jobTemplat

相关文章