如何自动清理已完成的Job

问题描述

随着 K8s 中的 Job 越来越多,系统中会出现很多已经完成或者失败的 Job,如何实现自动删除这些 Job?

问题分析

创建 Job 时可以添加 ttlSecondsAfterFinished 字段,指定多长时间之后自动删除 Job,该字段在 Kubernetes 1.23 版本之前需要在 kube-apiserver 和 kube-controller-manager 开启Feature Gate,开启方式参考此链接

问题解决

Job yaml文件配置 ttlSecondsAfterFinished 字段

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-ttl
spec:
  ttlSecondsAfterFinished: 100
  template:
    spec:
      containers:
      - name: pi
        image: perl
        command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
      restartPolicy: Never
参考链接

[1] https://kubernetes.io/zh/docs/concepts/workloads/controllers/ttlafterfinished/

如果您有其他问题,欢迎您联系火山引擎技术支持服务

53
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论