
GKE 原生支持 Prometheus 指标,自动缩放更简单

Google Cloud 在 GKE(Google Kubernetes Engine)中原生支持 Prometheus 指标,扩展了此前已提供的自定义 pod 级指标能力。此前,用户需要部署第三方 adapter(如 Stackdriver Custom Metrics Adapter 或 Prometheus adapter)才能把外部指标接入 Horizontal Pod Autoscaler(HPA),这带来了额外的运维负担:平台团队要安装、配置、修补和监控这些组件;中间 adapter 引入故障点;还要处理 Kubernetes 服务账号与 Cloud 服务账号的 IAM 映射。
新方案直接扩展 AutoscalingMetric 对象,让 HPA 通过 PromQL 查询 Cloud Monitoring 中由 Google Managed Service for Prometheus 存储的指标,不再需要第三方 adapter。控制器运行在 GKE 控制平面上,只在确实存在 PromQL 指标请求时才在用户节点上部署系统 pod;没有配置时控制器会关闭,因此无额外资源开销。配置方式很简单,在 AutoscalingMetric 资源中定义指标,然后在 HorizontalPodAutoscaler 里用 autoscaling.gke.io|<资源名>|<指标名> 的格式引用。支持两类缩放:全局指标(如队列大小返回单一聚合值)和按 pod 的指标(通过指定 pod 名称标签并设置 type: Pods,可计算时间窗口内的平均值、速率或百分位数)。
关键优势包括:无需维护 adapter,整个生命周期由 GKE 管理;安全性提升,默认的 Kubernetes Node Service Agent 就拥有读取 Cloud Monitoring 和 Google Managed Prometheus 的权限,不需要额外 IAM 账号或密钥;低延迟,新系统每 15 秒轮询一次后端;查询能力强,可用完整 PromQL 表达业务目标;还支持 HPA 的 scale-to-zero 能力,在需求归零时缩到零副本,并通过 CapacityBuffers API 快速恢复。内置 Prometheus 指标支持目前处于 preview 阶段,后续计划在 GA 时支持自托管的 Prometheus 服务器。


