首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hpa不获取现有的自定义度量吗?

Hpa不获取现有的自定义度量吗?
EN

Stack Overflow用户
提问于 2019-09-29 01:33:38
回答 1查看 3K关注 0票数 2

我使用mongodb-exporter来存储/通过prometheus查询度量。我已经设置了一个自定义度量服务器,并为此存储了值。

这就是prometheus-exportercustom-metric-server兼容的证据。

查询:

代码语言:javascript
复制
kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/monitoring/pods/*/mongodb_mongod_wiredtiger_cache_bytes"

结果:

代码语言:javascript
复制
{"kind":"MetricValueList","apiVersion":"custom.metrics.k8s.io/v1beta1","metadata":{"selfLink":"/apis/custom.metrics.k8s.io/v1beta1/namespaces/monitoring/pods/%2A/mongodb_mongod_wiredtiger_cache_bytes"},"items":[{"describedObject":{"kind":"Pod","namespace":"monitoring","name":"mongo-exporter-2-prometheus-mongodb-exporter-68f95fd65d-dvptr","apiVersion":"/v1"},"metricName":"mongodb_mongod_wiredtiger_cache_bytes","timestamp":"TTTTT","value":"0"}]}

在我的例子中,当我为来自mongo出口商的这个自定义度量标准创建一个hpa时,hpa将此错误返回给我:

代码语言:javascript
复制
failed to get mongodb_mongod_wiredtiger_cache_bytes utilization: unable to get metrics for resource mongodb_mongod_wiredtiger_cache_bytes: no metrics returned from resource metrics API

我的案子的主要问题是什么?我检查了所有的吐露和流动看起来很好,但哪里是我的错误。

帮助

谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-14 13:12:02

您在评论中写道,您已经启用了external.metrics,但是在最初的问题中,您对custom.metrics有问题。

简言之:

  • metrics只支持基本的度量,如CPU或内存。
  • custom.metrics允许您将基本度量扩展到所有Kubernetes对象(http_requests、荚数等)。
  • external.metrics允许收集不是Kubernetes对象的度量:

外部度量允许您根据监视系统中可用的任何度量自动调整集群的规模。只需提供一个具有名称和选择器的度量块,如上面所示,并使用外部度量类型而不是对象。

有关更详细的描述,请查看这位医生

Minikube

要验证是否启用了custom.metrics,您需要在下面执行命令,并检查是否可以看到任何metrics-server... pod。

代码语言:javascript
复制
$ kubectl get pods -n kube-system
...
metrics-server-587f876775-9qrtc    1/1     Running   4          5d1h

第二种方法是检查minikube是否通过

代码语言:javascript
复制
$ minikube addons list
...
- metrics-server: enabled

如果它被禁用,只需执行

代码语言:javascript
复制
$ sudo minikube addons enable metrics-server
✅  metrics-server was successfully enabled

GKE

目前,在GKE,heapstermetrics-server是默认打开的,但是默认情况下不支持custom.metrics。您必须安装prometheus adapterstackdriver

Kubeadm

在开始时,Kubeadm不包括heapstermetrics server。为了便于安装,您可以使用这个YAML

稍后,您必须安装prometheus adapter

应用custom.metrics

MinikubeKubeadmGKE也是一样。

应用custom.metrics的最简单方法是通过Helm安装普罗米修斯适配器

安装舵机后,您将看到注意事项:

代码语言:javascript
复制
NOTES:
my-release-prometheus-adapter has been deployed.
In a few minutes you should be able to list metrics using the following command(s):

  kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1

作为附加信息,您可以使用jq获得更友好的输出。

kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq .

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58151513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档