当前位置: 首页 > 知识库问答 >
问题:

有没有办法让部署或作业在kubernetes中完成后自动删除自己?

方子安
2023-03-14

部署作业是否有办法在完成后完全删除自身?

我希望这样,当我< code > kubectl get jobs/deployments/pods 时,它们不会在完成后出现(容器退出)。

我想到的一种可能的方法是调用kubectl从容器中删除作业/部署/pods,但我不确定这是否安全。

共有1个答案

上官华池
2023-03-14

我找到了一个相关的问题和答案,但发现这是针对CronJobs的。

在这个答案之后,有一个TTL控制器在1.12中引入了Alpha,在1.21中引入了Beta。您必须在 v1.21 之前的功能门中手动启用它。

根据文档:

提供TTL(生存时间)机制来限制已完成执行的资源对象的生命周期。TTL控制器目前只处理作业,并且可以扩展为处理将完成执行的其他资源,例如Pods和自定义资源。

它可以清除当前的< code >作业和计划中的其他作业。

 类似资料:
  • 我无法自动删除由CronJob启动的已完成作业。正如我在此处和此处的QA中以及在官方文档中所阅读的,这可以通过建立作业历史限制< code > . spec . successfuljobshistorylimit 和< code > . spec . failed jobshistorylimit 来完成。我做过,两种情况下都成立为1。但是我的群集保存了不止一个已完成的作业,事实上,它保存的数据

  • 问题内容: 我正在尝试在32位Linux上使用LiteIDE(Go IDE)。除自动完成功能外,其他所有功能均可用。构建,运行,一切正常。该二进制文件似乎正在运行: 我可能做错了什么? 问题答案: 您可能需要设置GOROOT =。要在LiteIDE中进行设置,请寻找环境工具栏;它应该是一个下拉列表,可能已预先选择了“系统”和一个按钮。单击按钮以显示“编辑环境”窗格,然后双击“ system.env

  • 有没有一种方法,自动删除已完成的作业除了使一个Cron作业清理已完成的作业? K8s 作业文档指出,已完成作业的预期行为是让它们保持已完成状态,直到手动删除。因为我每天通过 CronJobs 运行数千个作业,我不想保留已完成的作业。

  • 我有一项服务,每天在Kubernetes上部署数千个短期工作。我试图让Kubernetes在完成后使用这里描述的功能删除这些作业: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically 作业完成,但在表示的时间限制之

  • 要部署我的架构体系,我需要部署一个具有自定义脚本扩展的VM。VM的唯一目的是执行脚本。脚本执行后,VM应该会自动删除。 如何做到这一点? 其他信息: 这是azure资源管理器部署 删除操作也应该在azure marketplace环境中起作用

  • 我正在运行一个Kubernetes的工作,并试图在它完成几个小时后查看它的日志。但是,当我执行时,没有列出pod(返回时只是),而当我执行时,该作业的pod不在那里。如何在已完成的作业中配置删除pod的操作,以及如何更改该操作以使pod保持更长的时间以便读取其日志?