gpt4 book ai didi

kubernetes - 调度尽可能多的 Pod 以适合集群?

转载 作者:行者123 更新时间:2023-12-02 12:09:42 25 4
gpt4 key购买 nike

我有一个批处理作业要运行:处理大量媒体文件。我有一个 Kubernetes 集群来运行它,但我不想更改集群的大小。我想将处理作为低优先级作业运行。只要有空闲的计算资源,它们就应该进行媒体处理。任何时候有其他作业需要资源,媒体进程都应该暂停。
目前,我正在运行 Deployment我的集群中的每个节点都有一个副本。我定义了一个 PriorityClass对于批处理作业和其他所有内容的不同 PriorityClass(具有更高优先级)。当其他东西需要资源时,这似乎正在努力驱逐正在运行的批处理作业。
我定义了 Affinity ,特别是 WeightedPod(Anti)Affinity阻止批处理作业在同一台机器上调度。
代码本身是一个队列 worker :它从共享队列中拉出一个工作项并处理它,然后返回下一个。如果它被中断(因为它被驱逐),部分工作就会丢失(这很好)。
这工作正常,但我仍然在桌面上留下了很多资源。有没有办法将我的副本数定义为“尽可能多地安排”?我可以要求比集群处理更多的副本;那会是一个很好的解决方案吗?或者 Kubernetes 是否有 10 个 Pod 一次被“挂起”几个月的问题?

最佳答案

我认为请求比集群可以处理的更多的 pod 并让它们永远挂起并没有什么坏处。我唯一关心的是调度程序是否能够区分正常优先级的挂起 pod 而不是低优先级的挂起 pod,并能够优先处理更紧急的 pod。
恕我直言,解决这个问题的专业方法是利用 prometheus adapter并使用 HPA 使用 prometheus 查询来定位集群的当前容量。这可以为您提供连续的集群容量以及相应地自动扩展的能力。 This medium article对这个概念有很好的介绍。

关于kubernetes - 调度尽可能多的 Pod 以适合集群?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64186983/

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