kubernetes 资源请求/限制定义会减慢 Pod 的速度吗?

Nic*_*rel 5 kubernetes kubernetes-helm

我正在 kubernetes 集群上运行同一个应用程序的 3 个部署。我最近开始为其中一个部署设置资源请求和限制。

resources:
    limits:
        cpu: 350m
        memory: 225Mi
    requests:
        cpu: 250m
        memory: 150Mi
Run Code Online (Sandbox Code Playgroud)

设置这些后,与2 个未更改的部署相比,受影响的 Pod 的计算时间要长得多,这对我理解的 kubernetes 文档没有意义。

运行kubectl top pods允许我确认我的 pod 正在或低于请求的资源运行。在可视化计算时间(Prometheus+Grafana)时,很明显其中一个部署明显变慢:

在此处输入图片说明

两次部署在 ~ 60 毫秒,一次部署在 ~ 120 毫秒

由于这是我所做的唯一更改,我不明白为什么会出现性能下降。我错过了什么吗?


编辑

移除 cpulimit但保留requestpod 性能,使其恢复到应有的水平。请记住,这些 pod 运行在 cpu 请求级别(大约 250mCPU),比限制低 100mCPU。

在此处输入图片说明

附加信息:这些 pod 正在运行 NodeJS 应用程序。

Kim*_*Kim 1

Kubernetes CPU 限制可能不会像人们想象的那样起作用。我建议从 13:38 开始观看此演示。

解决 k8s 中 CPU 限制负面影响的方法可能是设置不同的 CFS 配额值。默认情况下,它设置为 100 毫秒,更好的值可能是 5 毫秒。关于这一点,还有一个问题