2

我注意到同一 hpa 中 pod 的 cpu 利用率从 31m 到 1483m 不等。这是预期的和正常的吗?请参阅下面的 8 个具有相同 hpa 的 pod 的 cpu 利用率。

NAME                   CPU(cores)


myapp-svc-pod1            31m
myapp-svc-pod2            87m
myapp-svc-pod3            1061m
myapp-svc-pod4            35m
myapp-svc-pod5            523m
myapp-svc-pod6            1483m
myapp-svc-pod7            122m
myapp-svc-pod8            562m
4

1 回答 1

1

HPA 的主要目标是生成更多 pod,以将一组 pod 的平均负载保持在指定级别。

HPA 不负责负载平衡和平均连接分配。

对于平等的连接分配是负责任的 k8s 服务,它在 iptables 模式下默认工作,并且 -根据 k8s 文档- 它随机挑选 pod。

您不均匀的 CPU 负载分布很可能是由它处理的数据引起的。为了确保这不是 k8s 服务的问题,我建议您导出一些指标,例如连接数和处理一个请求所需的时间。在你收集了这些数据之后,看看它,看看是否出现了一种模式。

现在回答你的问题:

这是预期的和正常的吗?

这取决于您认为正常的情况,但如果您期望更均匀的 CPU 负载分布,那么您可能需要重新考虑您的设计。很难说你能做些什么来让它更平等,因为我不知道 myapp-svc-pods 做了什么,但正如我已经提到的,最好看看指标。

于 2021-02-22T09:45:08.313 回答