在 kubernetes HPA 中,如果配置同时具有 targetCPUUtilizationPercentage 和 targetMemoryUtilizationPercentage,哪个优先?

在 kubernetes HPA 中,如果配置同时具有 targetCPUUtilizationPercentage 和 targetMemoryUtilizationPercentage,哪个优先?

我是 Kubernetes 和 HPA 的新手。我没有在官方文档可以做下面这样的事情吗?

我当前的样本 hpa 规格:-

hpaSpec:
        maxReplicas: 10
        minReplicas: 5
        targetCPUUtilizationPercentage: 50
        targetMemoryUtilizationPercentage: 80

这是否意味着豆荚将放大在以下两种情况下:-

  1. CPU utilization > 50% even if memory utilization <80%    
  2. memory utilization > 80% even if CPU utilization <50% 

或者

 1. If both CPU utilization > 50%  and memory utilization >80% 

同样地,缩小如果CPU 利用率低于 50% 或内存利用率低于 80% 或者只有同时满足两个阈值条件?(阈值上的“或”条件还是“与”条件?)

有没有更好的方法做这个即改用averageUtilization?TIA

答案1

在里面水平 Pod 自动扩缩器文档,算法细节部分,您可以阅读:

如果在 Horizo​​ntalPodAutoscaler 中指定了多个指标,则将针对每个指标进行此计算,然后选择所需的最大副本数。如果这些指标中的任何一个无法转换为所需的副本数(例如,由于从指标 API 获取指标时出错)并且可获取的指标建议缩减,则跳过扩展。这意味着,如果一个或多个指标给出的 DesiredReplicas 大于当前值,HPA 仍然能够扩大规模。

这意味着,如果其中一个指标达到阈值,部署就会扩大。
缩小部署也是如此。

相关内容