--- title: "Metrics Server" type: concept tags: - Kubernetes - EKS - Metrics - Monitoring - Autoscaling sources: - ctp-topic-64-scaling-out-with-amazon-eks last_updated: 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 - [[ctp-topic-64-scaling-out-with-amazon-eks]]