如何自动杀死使用过多 CPU 的 Kubernetes pod?

如何自动杀死使用过多 CPU 的 Kubernetes pod?

我管理的 Kubernetes 集群运行的软件并不总是完美的。有些有内存泄漏,有些有 CPU 泄漏,有些两者都有。

我想自动杀死泄漏内存的 pod。泄漏内存的 pod 很容易,我只需设置内存限制,当它们达到限制时最终就会死亡。但是 CPU 似乎更棘手。我不想设置 CPU 限制,这只会让它们变慢而不是杀死它们。

这些天我经常访问 grafana,查看 prometheus 的 CPU 图表,偶尔我会发现某个 pod 陷入了无限循环,或者某个 pod 的 CPU 使用率在稳步上升。然后我会手动杀死它们。

我相信 kubernetes 中没有这样的标准功能,但我想知道是否存在插件或简单的黑客攻击。

相关内容