【发布时间】:2021-12-19 11:26:54
【问题描述】:
我正在使用来自应用程序的自定义指标测试 HPA,并使用 Prometheus-adapter 向 K8s 公开。
我的应用公开了一个“jobs_executing”自定义指标,它是 golang 中的一个数值指标 (prometheus-client),公开了应用 (pod) 执行的作业数量。
现在为了在 hpa 中解决这个问题,我的 HPA 配置如下所示:
apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
name: myapp
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
minReplicas: 1
maxReplicas: 10
metrics:
- type: Pods
pods:
metric:
name: jobs_executing
target:
type: AverageValue
averageValue: 5
我希望自动缩放器在平均没有时缩放我的 pod。整个 pod 执行的作业数等于“5”。这可行,但有时 HPA 配置会显示如下值:
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
my-autoscaler Deployment/my-scaling-sample-app 7700m/5 1 10 10 38m
这里的目标显示为“7700m/5”,即使平均没有。执行的工作总数为 7.7。这使得 HPA 只是积极地水平扩展。我不明白为什么将“7700m”放入当前目标值”?
我的问题是,如果有一种方法可以在 HPA 中定义一个浮点,不会将普通整数与 7700m(CPU 单元?)混淆?
或者我错过了什么?谢谢
【问题讨论】:
标签: kubernetes prometheus metrics autoscaling hpa