kubernetes - 使用 Prometheus Adapter 来自其他部署的 Kubernetes HPA 自定义指标
问题描述
是否可以根据 Prometheus 中从另一个 pod 而不是正在扩展的 pod 中抓取的指标来扩展pod?
记者 - 向 Prometheus 工人报告指标的
pod - 应根据该指标进行缩放的 pod
在普罗米修斯中,我有从reporter-1 pod中抓取的指标:
custom_metric{endpoint="http",job="reporter",namespace="ns1",pod="reporter-1",service="reporter"} 1
我还在普罗米修斯中创建了虚拟指标(pod=worker):
custom_metric{endpoint="http",job="reporter",namespace="ns1",pod="worker-1",service="reporter"} 2
我想使用该指标 (1) 来扩展 worker pod
api自定义指标:
kubectl get --raw="/apis/custom.metrics.k8s.io/v1beta1/namespaces/ns1/pods/*/custom_metric" | jq .
输出:
{
"kind": "MetricValueList",
"apiVersion": "custom.metrics.k8s.io/v1beta1",
"metadata": {
"selfLink": "/apis/custom.metrics.k8s.io/v1beta1/namespaces/ns1/pods//custom_metric"
},
"items": [
{
"describedObject": {
"kind": "Pod",
"namespace": "ns1",
"name": "worker-1",
"apiVersion": "/v1"
},
"metricName": "custom_metric",
"timestamp": "2021-10-06T16:25:26Z",
"value": "2",
"selector": null
}
]
}
这是错误的指标!我期待得到:
“值”:来自记者 1 的“1”
来自 HPA:
spec:
maxReplicas: 5
minReplicas: 1
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: worker
来自 promotheus afapter 配置图:
rules:
- seriesQuery: custom_metric{namespace="ns1",service="reporter}
seriesFilters: []
resources:
overrides:
namespace:
resource: namespace
pod:
resource: pod
name:
matches: custom_metric
as: custom_metric
metricsQuery: custom_metric{namespace="ns1",service="reporter}
解决方案
推荐阅读
- swift - 为什么 500/1000 打印的是 0?
- javascript - 同时可选择和拖动(JavaScript)?
- apache-beam - 无法使用 apache beam python 将 json 写入 Pubsub 主题
- swift - 自定义纸张设置文件中的错误信息 (Brother TD-4550DNWB)
- shell - 使用 vim 编辑器打开 shell 变量(使用路径分配)
- math - 投影矩阵的划分
- swift - 如何根据最近添加和单击的最受欢迎按钮在 ios 的集合视图中显示 2 组单独的图像
- java - 错误 java.lang.UnsatisfiedLinkError: 无法加载库 'gsdll64'
- postgresql - 我的 postgresql 备份是否正确可以再次使用它
- javascript - io.to 不发送到特定客户端