gpt4 book ai didi

kubernetes - 是否可以停止 Kubernetes 中的作业而不删除它

转载 作者:行者123 更新时间:2023-12-02 11:32:18 24 4
gpt4 key购买 nike

由于 Kubernetes 可以处理作业规范中存在拼写错误的情况,因此无法找到容器镜像,因此通过让作业永远处于运行状态,我有一个进程可以监控作业事件以检测此类情况,并且发生时删除作业。

我宁愿停止这项工作,以便有记录。有没有办法停止工作?

最佳答案

1) 根据 K8S 文档 here .

Finished Jobs are usually no longer needed in the system. Keeping them around in the system will put pressure on the API server. If the Jobs are managed directly by a higher level controller, such as CronJobs, the Jobs can be cleaned up by CronJobs based on the specified capacity-based cleanup policy.



Here是 CronJobSpec 中 failedJobsHistoryLimit 属性的详细信息。

这是在特定持续时间内保留失败作业的详细信息的另一种方式。 failedJobsHistoryLimit可以根据每天运行的大致作业数和必须保留日志的天数来设置属性。同意 Jobs 仍然存在并对 API 服务器施加压力。

这很有趣。一旦作业以失败的方式完成,如图像拼写错误,pod 将被删除,资源不再被阻塞或消耗。不确定到底是什么 kubectl job stop在这种情况下将实现。但是,当具有正确镜像的作业成功运行时,我仍然可以在 kubectl get pods 中看到 pod。 .

2) 另一种不使用 CronJob 的方法是指定 ttlSecondsAfterFinished如前所述 here .

Another way to clean up finished Jobs (either Complete or Failed) automatically is to use a TTL mechanism provided by a TTL controller for finished resources, by specifying the .spec.ttlSecondsAfterFinished field of the Job.

关于kubernetes - 是否可以停止 Kubernetes 中的作业而不删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52597335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com