在CoreOS Prometheus Operator抓取所有标准集群度量的Kubernetes集群上,什么Prometheu斯度量会向我显示简单HPA(水平吊舱自动缩放器(的currentCPUUtilizationPercentage
值?
如果我设置一个简单的hpa,比如:
$ kubectl autoscale deployment php-apache --cpu-percent=30 --min=3 --max=10
然后如果我做kubectl get hpa php-apache -o yaml
,我会看到类似的东西:
spec:
maxReplicas: 10
minReplicas: 3
targetCPUUtilizationPercentage: 30
...
status:
currentCPUUtilizationPercentage: 28
currentReplicas: 9
desiredReplicas: 9
...
我想看看《普罗米修斯》中的currentCPUUtilizationPercentage
。我做了一堆普罗米修斯的查询来寻找这个。
我搜索了所有标记为{hpa="php-apache"}
的度量,我看到了许多hpa度量,但没有我正在查找的度量或。我可以看到kube_hpa_spec_target_metric
设置为30,我可以看到像kube_hpa_status_condition
这样的当前状态度量,但不能看到我想要看到的当前cpu度量值。
我搜索了所有标记为{metric_name="cpu"}
的度量,只看到kube_hpa_spec_target_metric
我已经搜索了所有标记为{container="my-container-name"}
和{pod=~"my-pod-prefix.*"}
的容器和pod相关度量,我看到了一些与cpu相关的度量,如container_cpu_usage_seconds_total
和container_spec_cpu_quota
,但没有类似的度量,或者似乎没有能够用于计算我要查找的currentCPUUtilizationPercentage
值的度量?
仅供参考,这是在Kubernetes 1.17.x上,使用的是最新版本的CoreOS Prometheus Operator。
如果我没记错的话,currentCPUUtilizationPercentage是HPA的一个k8内部指标,而不是直接暴露为一个指标,您可以用Prometheus刮。看见https://github.com/kubernetes/community/blob/master/contributors/design-proposals/autoscaling/horizontal-pod-autoscaler.md#autoscaling-算法
您可能可以抓取currentCPUUtilizationPercentage度量的组件,并创建自定义度量以在Prometheus中看到它。