gpt4 book ai didi

kubernetes - HPA无法获取现有的自定义指标?

转载 作者:行者123 更新时间:2023-12-02 12:14:53 24 4
gpt4 key购买 nike

我正在使用mongodb-exporter通过prometheus存储/查询指标。我已经设置了一个自定义指标服务器并存储了该值。

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

查询:

kubectl get --raw "/apis/custom.metrics.k8s.io/v1beta1/namespaces/monitoring/pods/*/mongodb_mongod_wiredtiger_cache_bytes"

结果:
{"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会向我返回此错误:
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

我的案子的主要问题是什么?我已经检查了所有配置,并且流程看起来还不错,但是我的错误在哪里?

救命

谢谢 :)

最佳答案

在您写的注释中,您已启用external.metrics,但是在原始问题中,您遇到了custom.metrics的问题

简而言之:

  • metrics仅支持诸如CPU或内存之类的基本指标。
  • custom.metrics允许您将基本指标扩展到所有Kubernetes对象(http_requests,pod数量等)。
  • external.metrics允许收集不是Kubernetes对象的指标:

  • External metrics allow you to autoscale your cluster based on any metric available in your monitoring system. Just provide a metric block with a name and selector, as above, and use the External metric type instead of Object



    有关详细说明,请检查 this doc

    Minikube

    要验证是否启用了 custom.metrics,您需要执行以下命令并检查是否可以看到任何 metrics-server... Pane 。
    $ kubectl get pods -n kube-system
    ...
    metrics-server-587f876775-9qrtc 1/1 Running 4 5d1h

    第二种方法是通过检查 minikube是否启用了 metrics-server
    $ minikube addons list
    ...
    - metrics-server: enabled

    如果禁用,则执行
    $ sudo minikube addons enable metrics-server
    ✅ metrics-server was successfully enabled

    GKE

    当前在GKE上,默认启用 heapstermetrics-server,但默认情况下不支持 custom.metrics
    您必须安装 prometheus adapterstackdriver

    库贝姆

    Kubeadm开头不包含 heapstermetrics server。为了易于安装,可以使用 this YAML

    稍后,您必须安装 prometheus adapter

    应用custom.metrics
    MinikubeKubeadmGKE相同。

    应用 custom.metrics的最简单方法是通过 Helm安装 prometheus adapter

    安装 Helm 后,您将看到以下注释:
    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 .

    关于kubernetes - HPA无法获取现有的自定义指标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58151513/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com