下午好。我正在使用HPA (HorizontalPodAutoscaler)自动缩放pod的副本,在这种情况下,我使用内存使用率作为参考,我声明如下:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: find-complementary-account-info-1
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: find-complementary-account-info-1
minReplicas: 2
maxReplicas: 5
metrics:
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 70我想要的是当pod的内存使用率大于70%时自动缩放我的pod,当这个百分比下降到声明的最小值时,我的副本返回到声明的最小值,但是,在进行测试时,我将限制设置为70,但是,当内存使用率低于此值时,副本继续为4。
5分钟过去了,HPA显示如下:
[dockermd@tmp108 APP-MM-ConsultaCuentaPagadoraPospago]$ kubectl get hpa -o wide
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
find-complementary-account-info-1 Deployment/find-complementary-account-info-1 65%/70% 2 5 4 2d4h我对HPA有一个错误的概念,或者我以错误的方式声明了HPA的配置,或者如何在内存使用率低于指示的情况下立即减少副本的数量
我的环境是内部部署的,并配置了metalb,我使用LoadBalancer公开我的服务
发布于 2020-11-03 01:55:45
它正按照设计的方式工作。使用以下公式计算algorithm counts所需的副本数量:
desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]所以如果你的desiredMetricValue是70%,currentMetricValue是65%,那么
desiredReplicas=4*(65%/70%)=~3.7CEIL()函数返回大于或等于某个数字的最小整数值,因此在本例中为4。
如果要将复制副本数量减少到3个,则必须将利用率降低到52.5%:
3=4*(`currentMetricValue`/70)
currentMetricValue=52.5%https://stackoverflow.com/questions/64626991
复制相似问题