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

作业在完成后未删除 ttlSecondsAfterDone

公冶兴文
2023-03-14

我有一项服务,每天在Kubernetes上部署数千个短期工作。我试图让Kubernetes在完成后使用这里描述的功能删除这些作业:

https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically

作业完成,但在ttlSecondsAfterFinished表示的时间限制之后,作业仍在群集中。

我正在GKE上测试,我的主节点正在运行< code>1.12.7-gke.25我知道这是一个alpha特性,但我还没有删除一个作业。

apiVersion: batch/v1 
kind: Job
metadata:
  name: ttl-test
spec:
  ttlSecondsAfterFinished: 100
  template:
    metadata:
      name: ttl-test 
    spec:
      containers:
      - name: test-container
        image: myimage

共有1个答案

萧光华
2023-03-14

在Kubernetes v1.21中,TTL控制器处于beta版本,并且默认启用。

在库伯内特斯v1.20之前,它是一个alpha功能。如果您想将它与库伯内特斯v1.21之前的版本一起使用,请确保在您的GKE集群上启用了alpha功能。您可以在集群/下的GCP控制台UI上检查此项

 类似资料:
  • 我使用spring Boot2、jpa和Hibernate。Db是后置,我尝试删除一个带有子级的对象 如果我删除了Samplings,Samplings、testsamplings和Compressions也应该被删除。 从sample_letter=?的示例中删除和sampling_id=?和sampling_year=? 2018-10-03 22:21:05.832错误14511--[nio

  • 嗨,我正在用spring boot hibernate测试MySQL中的记录删除-插入-删除操作,我注意到一个问题,当插入发生时,记录似乎没有被完全删除。 3在hibernate kickstart上创建初始记录(通过类路径中的data.sql) 操作为 (1)创建的初始记录 (2)删除所有记录 (3)添加新记录 (4)删除所有记录 当执行断言时,发现结果列表中仍然包含最后一条记录,因此断言失败。

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

  • 我通过直接将作业文件夹删除到文件系统中来执行手动清理,现在我发现一个运行中的作业被阻塞,无法中止。 我尝试了这里的答案来迫使它停止,但它不起作用,因为它无法在系统中找到现有的工作。 此外,当我点击正在运行的作业时,会出现404错误: 我是否可以在不重新启动服务器的情况下中止正在运行的作业?

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

  • 我需要在rabbit mq中保存m条消息。我在SimpleMessageListenerContainer中将acknowledgeMode用作手册。这有助于我将值存储在unacked in rabbit mq中。但即使在作业完成后,这些消息仍然未经确认。我需要的邮件被删除后,作业成功完成。请帮我找到解决办法