GKE Autoscaling:如何告诉自动缩放器先删除旧的 pods? (FILO 而不是 FIFO)

GKE Autoscaling: How do I tell the autoscaler to remove older pods first? (FILO insteado FIFO)

我们的应用程序中存在小的内存泄漏。由于某些业务原因,我们没有资源来修复此内存泄漏。相反,如果我们的 pods 在一段时间后被删除或缩容会更好。

与其调试此内存泄漏,是否可以更改 Google Kubernetes Engine 自动缩放配置文件以通过先删除较旧的 pods 而不是较新的 pods 来缩小规模?本质上,我正在寻找一种按比例缩小的“先进后出”方法 pods 而不是“先进先出”方法,这是 GKE 目前在自动缩放时使用的方法(根据我的理解)。

这可能吗?我在文档中找不到任何关于此的信息。谢谢!

cluster-autoscaler 中的缩减实际上不是其中任何一个。它正在寻找利用率低的节点,并模拟如果那些 pods 被驱逐,集群是否有足够的容量。在实践中,FIFO 或接近 FIFO 是常见的,因为较新的 pods 最终会出现在较新的节点上,而这些节点的利用率较低。但是您可以使用像 Descheduler 这样的工具来帮助平衡一些东西。