我正在尝试为在kubernetes容器中运行的服务分配CPU资源。服务主要是基于Nodejs的REST端点,具有一些数据库操作。
在负载测试期间,尝试对吊舱在100m和1000m之间进行不同的组合。 对于期望的每秒请求数,当值小于<500m时,与值大于> 500m时相比,作为HPA的一部分将生成更多的Pod。我正在使用基于CPU的HPA触发器。
根据要选择的特定CPU资源值,我无法弄清楚。有人可以在这方面帮助我吗?
答案 0 :(得分:1)
两点:
如果将HPA配置为基于CPU使用率自动缩放,则有意义的是,如果CPU请求为500m,则副本数量将大于1000m。这是因为您为HPA定义的目标利用率相对于Pod的CPU请求。
例如,如果您的目标利用率为80%,并且Pod的CPU请求为500m,那么如果实际CPU使用率超过400m,则HPA会扩展您的应用程序。另一方面,如果CPU请求为1000m,则HPA仅在CPU使用率超过800m时才向上扩展。
为容器选择资源请求(例如CPU)非常重要,但这本身也是一门艺术。 CPU是容器可靠运行所需的最小CPU数量。您可以执行以下操作来找出此值:正在本地运行您的应用程序,并尝试评估它实际使用了多少CPU,例如使用ps
或top
。