【发布时间】:2021-07-15 04:10:13
【问题描述】:
有没有办法让Deployment 或Job 在完成后完全删除自己?
我希望这样当我执行kubectl get jobs/deployments/pods 时,它们在完成(容器退出)后不会出现。
我想到的一种可能的方法是从容器内调用kubectl delete jobs/deployments/pods,但我不确定这是否安全。
【问题讨论】:
标签: kubernetes
有没有办法让Deployment 或Job 在完成后完全删除自己?
我希望这样当我执行kubectl get jobs/deployments/pods 时,它们在完成(容器退出)后不会出现。
我想到的一种可能的方法是从容器内调用kubectl delete jobs/deployments/pods,但我不确定这是否安全。
【问题讨论】:
标签: kubernetes
我找到了一个相关的question and answer,但发现它是针对CronJobs。
根据这个答案,在1.12 和1.21 中引入了TTL Controller Alpha 和Beta。
您必须在Feature Gates 之前在v1.21 之前手动启用它。
根据文档:
提供 TTL(生存时间)机制来限制已完成执行的资源对象的生命周期。 TTL 控制器目前只处理 Job,可能会扩展以处理其他将完成执行的资源,例如 Pod 和自定义资源。
它可以清理当前的Jobs 和计划中的其他人。
【讨论】: