问题描述
随着 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/
如果您有其他问题,欢迎您联系火山引擎技术支持服务