hpa 中 pods 之间的负载分配
load distribution between pods in hpa
我注意到 cpu 在同一 hpa 中 pods 的利用率从 31m 到 1483m 不等。这是预期的和正常的吗?请参阅下文了解具有相同 hpa 的 8 pods 的 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
HPA 的主要目标是生成更多 pods 以将一组 pods 的平均负载保持在特定水平。
HPA 不负责负载平衡和平均连接分配。
对于相等的连接分配负责 k8s 服务,它默认在 iptables 模式下工作,并且 - according to k8s docs - 它随机选择 pods。
您的 cpu 负载分布不均匀很可能是由它处理的数据造成的。为确保这不是 k8s 服务的问题,我建议您导出一些指标,例如连接数和处理一个请求所需的时间。收集完这些数据后,查看一下是否出现了规律。
现在回答你的问题:
Is this expected and normal?
这取决于您认为什么是正常的,但如果您希望 cpu 负载分布更均等,那么您可能需要重新考虑您的设计。很难说你可以做些什么来让它更平等,因为我不知道 myapp-svc-pods 做了什么,但正如我已经提到的,最好看看指标。
我注意到 cpu 在同一 hpa 中 pods 的利用率从 31m 到 1483m 不等。这是预期的和正常的吗?请参阅下文了解具有相同 hpa 的 8 pods 的 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
HPA 的主要目标是生成更多 pods 以将一组 pods 的平均负载保持在特定水平。
HPA 不负责负载平衡和平均连接分配。
对于相等的连接分配负责 k8s 服务,它默认在 iptables 模式下工作,并且 - according to k8s docs - 它随机选择 pods。
您的 cpu 负载分布不均匀很可能是由它处理的数据造成的。为确保这不是 k8s 服务的问题,我建议您导出一些指标,例如连接数和处理一个请求所需的时间。收集完这些数据后,查看一下是否出现了规律。
现在回答你的问题:
Is this expected and normal?
这取决于您认为什么是正常的,但如果您希望 cpu 负载分布更均等,那么您可能需要重新考虑您的设计。很难说你可以做些什么来让它更平等,因为我不知道 myapp-svc-pods 做了什么,但正如我已经提到的,最好看看指标。