我正在使用牧场主 CLI 在牧场主中运行数千个工作。我想在任务完成后立即删除作业。问题是当作业完成时,作业在那里保持“活动”。 我尝试了如何自动删除由CronJob创建的已完成的Kubernetes作业?但这对我不起作用。正如我所看到的,底层docker容器进入“终止”状态,但是部署的作业仍然是活动的。 现在我必须同步等待工作完成,然后我触发“kubectl删除”命令来删除工作。但我想异步执行此操
或是否有办法在完成后完全删除自身? 我希望这样,当我< code > kubectl get jobs/deployments/pods 时,它们不会在完成后出现(容器退出)。 我想到的一种可能的方法是调用,但我不确定这是否安全。
我有一项服务,每天在Kubernetes上部署数千个短期工作。我试图让Kubernetes在完成后使用这里描述的功能删除这些作业: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#clean-up-finished-jobs-automatically 作业完成,但在表示的时间限制之
我们使用作业 属性来自动清理已完成的作业。当我们的作业数量非常少(10-50 个)时,作业(及其 Pod)将在完成后大约 60 秒被清理。但是,现在我们的集群上运行了 ~5000 个作业,完成后需要 30 分钟才能清理 Job 对象。 这是一个问题,因为尽管作业就在那里,不消耗资源,但我们确实使用< code>ResourceQuota(选择器计数/jobs.batch)来控制我们的工作负载,并且
我正在研究如何在RedHat OpenShift上运行Spring Batch作业作为Kubernetes计划作业。步骤已经完成, 1) 创建了一个示例 Spring Batch 应用程序,该应用程序读取一个执行简单处理的 .csv 文件并将一些数据放入内存中的 h2 数据库中。作业启动器作为 REST 终结点 (/load) 调用。源代码可以在这里找到。有关endpoint信息,请参阅自述文件。
一些上下文:我有多个cron作业每天、每周、每小时运行,其中一些需要很大的处理能力。我想向这些容器cron pod添加请求和限制,以尝试启用垂直扩展,并确保所分配的节点在初始化时具有足够的容量。这将使我不必在任何时候都有多个大型节点可用,也可以让我轻松地修改并行运行的cron数量。我想尽量避免定时缩放,因为cron作业的处理时间会随着应用程序的增长而增加。 编辑 - 附加信息 : 目前我正在使用数
我想知道kubernetes在有多个等待作业时是如何选择要运行的作业的。它不是FIFO,而是LIFO? 这是我的实验设置。 Kubernetes服务器版本1.21.5 kubernetes集群中的1个节点 通过将<code>ResourceQuota</code>设置为命名空间,限制每个节点3个pod 我安排了9个< code > cron jobs (< code > cron job 1 ..
我们在晚上安排的cron作业正确启动,但映像本身的运行时间比计划的晚得多。我们预计拉取映像或从集群请求资源时会出现问题。通常我可以在输出的事件部分中看到此类错误。在本节中,我可以看到诸如等事件。但是作业完成后,不再显示任何事件。 是否可以查看已完成作业的这些事件? 或者有没有另一种方法来调查这样的问题?
我们已经设置了一个库伯内特斯网络抓取cron作业集群。在cron作业开始失败之前,一切似乎都很顺利(例如,当站点结构发生变化并且我们的抓取器不再工作时)。看起来偶尔会有一些失败的cron作业会继续重试,直到它导致我们的集群崩溃。运行(在集群失败之前)会显示有太多作业正在为失败的作业运行。 我试图遵循这里描述的关于pod退避失败策略的已知问题的注释;然而,这似乎不起作用。 以下是我们的配置供参考:
我已经在 GCP Kubernetes 上设置了一个 cron 作业。它每天上午10:00运行一次。作业按预期运行,但是,我真的不明白 GCP K8S 控制台上的图表是什么。 如图所示,当cron作业没有运行时,此时大约有1.5个CPU和8G RAM。我希望当前的使用应该为零,因为它没有运行。 谁能看出出了什么问题?还是我看错了图表? 请注意,我在历史中保留了7个作业。每个作业运行了大约15秒并成
编辑:问题解决了,这是我的错误,我只是使用了错误的cron设置。我假设“*2***”在2点时每天只运行一次,但实际上它在2点后每分钟运行一次。所以Kubernetes的行为是正确的。 我一直在一个 cron 执行点运行多个作业。但似乎只有当这些作业的运行时间非常短时。知道为什么会发生这种情况以及如何防止它吗?我使用策略:禁止,和。 一个cron作业的示例,该作业应该每天运行一次,但在其预定运行时间
我们的应用程序在库伯内特斯上运行作业。我们目前正在查询kubernetes,向用户反馈作业的状态,一旦作业完成,还想向他们提供作业(pod)日志。这种情况经常发生,例如每30次。我们现在有如此多的作业,以至于这个pod查询和处理信息需要太长时间。 如果能被告知kubernetes事件就太好了:一个pod正在等待、计划、拉动、运行、成功/失败。不确定在我们的应用程序中获取这些事件的最佳方式是什么,但
我正在开发和运行基于groovy的Jenkins管道作业,我们的代码执行多个线程,需要高CPU和内存。 由于JProfiler是一个功能强大的Java评测工具,因此我想在Jenkins管道作业中收集有关我的groovy代码的性能信息,这些作业在代理上运行,因此我将能够排除代码缺陷并优化代码。 安装JProfiler的最佳实践是什么?(远程KVM或在Jenkins或本地代理上?)
我使用Jenkins和Build Pipeline插件来构建一些相当复杂的项目,这些项目需要多个编译步骤: 构建源RPM。 构建二进制RPM(这是执行两次,一次为每个平台)。 部署到YUM仓库。 我解决构建需求的策略包括将公共工作拆分为参数化作业,这些作业可以跨项目和分支重用,每个作业代表管道中的一个阶段。每个阶段都由参数触发,并将构建工件传递给管道中的下一个作业。然而,我在这个策略上遇到了一些麻
我必须执行简单的cron作业。例如,每天上午10点,我必须打开一个链接,然后链接做所有的工作。为此,我使用cron-job.org。 然而事情变得复杂了,我需要一个关于我应该如何进行的建议。 这个任务很简单,每天在某个时间,我必须执行这个作业(打开一个链接),但是这个时间是动态的,我从JSON数据中获取。 真正的问题是,我需要在每天00:00阅读一个json,其中包含作业在该特定日子必须执行的时间