Kubernetes 使用什么来计算 CPU 比率、请求或限制?
What Kubernetes uses to calculate the CPU ratio, request or limit?
当您在 Kubernetes 中指定 Horizontal Pod Autoscaler 时,例如 targetCPUUtilizationPercentage
为 50,Kubernetes 使用什么来计算 CPU 比率,容器的请求或限制?
因此,例如,使用 request=250
和 limit=500
并且您想在其限制的一半时扩大:
- 如果它使用
request
,我至少会将目标设置为 100%,因为它可以提高到 200%。
- 如果它使用
limit
,我会使用目标 = 50%,因为 100% 表示已达到限制。
targetCPUUtilizationPercentage 为 50 意味着如果所有 Pods 的平均 CPU 利用率上升到 50% 以上,则 HPA 将扩大部署,如果平均 CPU 所有 Pods 的利用率低于 50%,然后如果副本数量超过 1
,HPA 将缩减部署
我刚刚查看了代码,发现targetUtilization 百分比计算使用了资源请求。
参考下面的代码
currentUtilization = int32((metricsTotal * 100) / requestsTotal)
当您在 Kubernetes 中指定 Horizontal Pod Autoscaler 时,例如 targetCPUUtilizationPercentage
为 50,Kubernetes 使用什么来计算 CPU 比率,容器的请求或限制?
因此,例如,使用 request=250
和 limit=500
并且您想在其限制的一半时扩大:
- 如果它使用
request
,我至少会将目标设置为 100%,因为它可以提高到 200%。 - 如果它使用
limit
,我会使用目标 = 50%,因为 100% 表示已达到限制。
targetCPUUtilizationPercentage 为 50 意味着如果所有 Pods 的平均 CPU 利用率上升到 50% 以上,则 HPA 将扩大部署,如果平均 CPU 所有 Pods 的利用率低于 50%,然后如果副本数量超过 1
,HPA 将缩减部署我刚刚查看了代码,发现targetUtilization 百分比计算使用了资源请求。 参考下面的代码
currentUtilization = int32((metricsTotal * 100) / requestsTotal)