Kubernetes 使用什么来计算 CPU 比率、请求或限制?

What Kubernetes uses to calculate the CPU ratio, request or limit?

当您在 Kubernetes 中指定 Horizo​​ntal Pod Autoscaler 时,例如 targetCPUUtilizationPercentage 为 50,Kubernetes 使用什么来计算 CPU 比率,容器的请求或限制?

因此,例如,使用 request=250limit=500 并且您想在其限制的一半时扩大:

targetCPUUtilizationPercentage 为 50 意味着如果所有 Pods 的平均 CPU 利用率上升到 50% 以上,则 HPA 将扩大部署,如果平均 CPU 所有 Pods 的利用率低于 50%,然后如果副本数量超过 1

,HPA 将缩减部署

我刚刚查看了代码,发现targetUtilization 百分比计算使用了资源请求。 参考下面的代码

currentUtilization = int32((metricsTotal * 100) / requestsTotal)

这是 link https://github.com/kubernetes/kubernetes/blob/v1.9.0/pkg/controller/podautoscaler/metrics/utilization.go#L49