【问题标题】:load distribution between pods in hpahpa 中 pod 之间的负载分布
【发布时间】:2021-05-23 01:04:42
【问题描述】:

我注意到同一 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

【问题讨论】:

    标签: kubernetes cpu-usage autoscaling kubernetes-pod hpa


    【解决方案1】:

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

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

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

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

    现在回答你的问题:

    这是意料之中的正常现象吗?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-12
      • 1970-01-01
      • 2021-03-08
      • 2018-02-17
      • 2020-04-16
      • 2020-01-11
      • 2011-08-04
      • 1970-01-01
      相关资源
      最近更新 更多