相关疑难解决方法(0)

在可能缩小时防止杀死一些豆荚?

我需要扩展一组运行基于队列的工作程序的 pod。工人的工作可以运行很长时间(小时),不应中断。Pod 的数量基于工作队列的长度。缩放要么使用使用自定义指标的水平自动缩放器,要么使用一个改变副本数量的简单控制器。

任一解决方案的问题在于,在缩小规模时,无法控制终止哪个 Pod。在任何给定时间,大多数工人可能都在处理短期运行的工作、空闲或(更罕见的)处理长期运行的工作。我想避免杀死长时间运行的工作人员,空闲或短期运行的工作人员可以毫无问题地终止。

以低复杂度做到这一点的方法是什么?我能想到的一件事是根据 pod 的 CPU 使用情况来执行此操作。不理想,但它可能已经足够好了。另一种方法可能是工作人员以某种方式公开一个优先级,表明他们是否是要删除的首选 pod。不过,每次工人接受新工作时,这个优先级都会改变。

最终所有的工作都将是短期运行的,这个问题会消失,但这是目前的长期目标。

autoscaling kubernetes

10
推荐指数
1
解决办法
1360
查看次数

标签 统计

autoscaling ×1

kubernetes ×1