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

如何删除已完成的Kubernetes作业中的pod?

夏和雅
2023-03-14

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

共有1个答案

东门修文
2023-03-14

看看下面的属性。下面的设置将在历史记录中保留3个成功的作业。您将有一个失败的作业历史记录。您可以根据需要更改计数

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

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

  • 我正在尝试使用golang-kubernetes客户端go-lib根据作业的状态筛选完成的作业。 我已经检查了其他答案,解释了如何使用kubectl获取作业,如下所示: 但我不知道如何将jsonpath输出“转化”为过滤器或列表选项 如果我按状态阶段和标签搜索pod,我会这样做: 但是,如果我要实现jsonpath 这将遍历所有作业,并检查状态下的succeeded键是否等于1。适用于所有工作。

  • 我们在晚上安排的cron作业正确启动,但映像本身的运行时间比计划的晚得多。我们预计拉取映像或从集群请求资源时会出现问题。通常我可以在输出的事件部分中看到此类错误。在本节中,我可以看到诸如等事件。但是作业完成后,不再显示任何事件。 是否可以查看已完成作业的这些事件? 或者有没有另一种方法来调查这样的问题?

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

  • 我们的应用程序在库伯内特斯上运行作业。我们目前正在查询kubernetes,向用户反馈作业的状态,一旦作业完成,还想向他们提供作业(pod)日志。这种情况经常发生,例如每30次。我们现在有如此多的作业,以至于这个pod查询和处理信息需要太长时间。 如果能被告知kubernetes事件就太好了:一个pod正在等待、计划、拉动、运行、成功/失败。不确定在我们的应用程序中获取这些事件的最佳方式是什么,但