title, type, tags, sources, last_updated
| title |
type |
tags |
sources |
last_updated |
| Metrics Server |
concept |
| Kubernetes |
| EKS |
| Metrics |
| Monitoring |
| Autoscaling |
|
| ctp-topic-64-scaling-out-with-amazon-eks |
|
2026-04-28 |
Definition
Metrics Server 是 Kubernetes 集群级别的指标采集组件(Metrics API Provider),负责从 kubelet 收集 CPU/内存等资源使用指标,为 HPA、VPA 和 kubectl top 命令提供标准化的指标数据。
Key Mechanisms
- Metrics API:实现
metrics.k8s.io API,提供 Pod 和 Node 的资源指标
- 数据采集:定期从各节点的 kubelet 获取指标数据
- 内存高效:采用流式处理,仅保留最近 5 分钟的指标数据
- HPA 依赖:HPA 的标准资源指标(CPU/内存)完全依赖 Metrics Server
Deployment
- 通过 Deployment 部署单个副本(非高可用)
- 通常随 EKS 集群自动安装(EKS Add-on 或 eks-charts)
- 监控指标:Pod CPU/内存利用率、Node CPU/内存容量
Limitations
- 仅支持标准资源指标(CPU、内存)
- 不支持自定义/外部指标(需要 Custom Metrics API)
- 单副本部署,非高可用设计
Relationship with HPA
- HPA 通过 Metrics Server 获取 Pod 的 CPU/内存利用率
- 计算公式:
desiredReplicas = ceil(sum(podMetricValue) / targetValue)
- 目标阈值(targetValue)通常设置为 70-80%,保留缓冲空间
Sources