如何在AKS中删除外部Metrics Server内的queuemessages指标
删除AKS中外部Metrics Server的queuemessages指标
要删掉这个queuemessages外部指标,关键得从它的源头配置下手——毕竟外部Metrics Server只是负责把采集到的指标暴露出来,指标本身是由你配置的采集规则或者适配器定义的。下面是具体操作步骤:
定位外部Metrics适配器组件
首先确认你集群里用的是哪款外部Metrics适配器(比如最常用的prometheus-adapter,或者Azure特定的指标适配器),执行以下命令查看相关资源:kubectl get deployments -n kube-system | grep metrics kubectl get pods -n kube-system | grep adapter比如如果是
prometheus-adapter,它的配置是通过ConfigMap管理的。编辑指标配置规则
找到对应的ConfigMap(以prometheus-adapter为例)并编辑:kubectl edit configmap prometheus-adapter -n kube-system在ConfigMap的
data.config.yaml字段里,找到定义queuemessages指标的规则段,类似这样:rules: - seriesQuery: 'queuemessages{namespace!=""}' resources: overrides: namespace: {resource: "namespace"} name: matches: "^(queuemessages)$" as: "queuemessages" metricsQuery: 'sum(<<.Series>>) by (<<.GroupBy>>)'删除这段规则后保存退出编辑器。
重启适配器使配置生效
修改ConfigMap后需要重启对应的适配器Pod,让新配置加载:kubectl rollout restart deployment prometheus-adapter -n kube-system验证指标是否已移除
再次执行你之前的查询命令,确认指标不再返回:kubectl get --raw "/apis/external.metrics.k8s.io/v1beta1/namespaces/default/queuemessages" | jq .如果返回404错误或者空的
ExternalMetricValueList,就说明删除成功了。
特殊情况说明
如果你的外部Metrics Server是Azure专门针对服务总线队列等资源提供的适配器,那你需要找到对应的部署和配置文件,移除队列相关的连接信息或采集配置,再重启组件即可。
内容的提问来源于stack exchange,提问作者java_geek
相关产品推荐
相关产品推荐

