首页 > 解决方案 > 在 kubernetes 上查找和设置应用程序资源限制/请求的最佳方法

问题描述

希望你能帮我解决这个问题!

获取和设置请求并限制每个 pod 资源的最佳方法是什么?

我正在考虑设置预期的流量数量并编写一些负载测试,然后以一些“低限制”启动一个 pod 并运行负载测试直到 OOMed,然后再次调整(例如超频)内存直到找到瓶颈,然后攻击CPU,直到一切都“稳定”等等。然后我会将该“限制”用作“请求值”,并将“请求值”的两倍用作“限制”(或基于结果的安全值)。最后将它们扩展为平均流量(固定数量的 Pod),并为峰值生产值设置自动缩放 Pod 规则。

这是一个好方法吗?您推荐哪些工具和指标?我使用 prometheus-operator 进行监控,使用 vegeta 进行负载测试。

垂直 Pod 自动缩放怎么样?你用过吗?准备好生产了吗?

顺便说一句:我正在使用 AWS 托管解决方案部署 w/ terraform 模块

谢谢阅读

标签: performancekubernetesresourcesload-testingdevops

解决方案


我通常在没有限制或资源设置的情况下启动我的 pod。然后我让它们在正常负载下运行一段时间以收集有关资源消耗的指标。

然后,我将内存和 CPU 请求设置为测试期间获得的最大消耗的 +10%,并将请求限制为 +25%。

这只是一个示例策略,因为没有一种适合所有方法的方法。


推荐阅读