llm-wiki wiki · sources 2026-06-14

原文:raw/prometheus-adapter-architecture-analysis.md · 仓库:https://github.com/kubernetes-sigs/prometheus-adapter · 优先级 P0

一句话定位

Prometheus 到 Kubernetes custom/external metrics API 的适配层,让 HPA 能基于 QPS、队列长度、业务指标或推理指标扩缩。

核心架构图

┌────────────────────────────────────────────────────────────────────────────┐
│ Prometheus metrics                                                         │
│ Application, queue, GPU, request, and serving metrics live in Prometheus.  │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ prometheus-adapter                                                         │
│ Rule mapping converts PromQL results into Kubernetes aggregated metrics    │
│ APIs.                                                                      │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Metrics API surface                                                        │
│ custom.metrics.k8s.io and external.metrics.k8s.io expose selected series.  │
└────────────────────────────────────────────────────────────────────────────┘
                                       │
                                       ▼
┌────────────────────────────────────────────────────────────────────────────┐
│ Consumers                                                                  │
│ HPA and custom autoscalers scale workloads from domain-specific signals.   │
└────────────────────────────────────────────────────────────────────────────┘

模块分层

层 / 模块 职责
Discovery 根据 rules 发现 Prometheus series
Mapper series -> Kubernetes resource/custom/external metric
APIService custom.metrics.k8s.io / external.metrics.k8s.io
Query renderer 把 HPA 请求转成 PromQL

关键数据流

Prometheus 抓取业务/系统指标
        │
        ▼
adapter 根据 rules 映射指标
        │
        ▼
HPA 请求 custom/external metrics
        │
        ▼
adapter 执行 PromQL 并返回值
        │
        ▼
HPA 根据指标扩缩 workload

设计决策与哲学