当前位置: 首页 > news >正文

Kubernetes相关的名词解释Metrics Server组件(7)

什么是Metrics Server?

Metrics Server 是 Kubernetes 集群中的一个关键组件,主要用于资源监控和自动扩缩容。

kubernetes 从1.8版本开始不再集成cadvisor,也废弃了heapster,使用metrics server来提供metrics。那么......

什么又是单纯的Metrics?

Metrics 是 Kubernetes 中的基础监控数据。或者将Metrics定义为“基础指标”,"单纯的 metrics"(或基础指标)指的是:

  1. 核心资源使用数据:主要是 CPU 和内存的使用量/使用率

  2. 系统级指标:节点和 Pod 层面的基础性能数据

  3. 短期实时数据:当前或近期的资源使用情况,不包含长期历史数据

这些指标是 Kubernetes 自身运行和调度决策的基础依据。

Metrics 与 Metrics Server 的关系

依赖关系

  • Metrics 是数据:指实际的指标数据本身(如 CPU 使用率 75%)

  • Metrics Server 是服务:负责收集、聚合和暴露这些指标数据的组件

功能对应关系

Metrics (指标数据)Metrics Server (服务组件)
CPU 使用率收集节点/Pod 的 CPU 数据
内存使用量聚合内存指标
短期时间序列通过 API 暴露这些数据

工作流程示例

  1. 数据产生:Kubelet 收集节点和 Pod 的原始 metrics(如 CPU 使用 nanoseconds)

  2. 数据收集:Metrics Server 定期从各节点 Kubelet 拉取这些 metrics

  3. 数据处理:Metrics Server 聚合原始数据(如转换为 millicores)

  4. 数据暴露:通过 Metrics API 提供格式化的指标数据

Metrics 是 Kubernetes 中的基础监控数据,而 Metrics Server 是官方提供的标准化组件,专门用于收集和暴露这些核心指标,两者是"数据"与"数据服务提供者"的关系。

Metrics Server主要用途

  1. 资源指标收集:从 Kubelets 收集节点和 Pod 的 CPU、内存等核心资源使用指标

  2. Metrics API 实现:提供 Kubernetes Metrics API 的实现,使其他组件可以查询这些指标

  3. Horizontal Pod Autoscaler (HPA) 支持:为 HPA 提供自动扩缩所需的指标数据

  4. Vertical Pod Autoscaler (VPA) 支持:为垂直扩缩容提供基础指标

Metrics Server工作原理

  • 定期从每个节点上的 Kubelet 收集指标数据(默认每60秒一次)

  • 将数据聚合后存储在内存中(不持久化存储)

  • 通过 Kubernetes Metrics API 暴露这些数据

与监控系统的区别

Metrics Server 不同于 Prometheus 等完整监控系统:

  • 设计轻量级,只关注核心资源指标

  • 数据不持久化,只保留短期历史

  • 专为自动扩缩容等 Kubernetes 内部功能设计

Kubernetes 安装完成后会默认安装Metrics Server吗?

Kubernetes 核心安装通常不会默认包含 Metrics Server。

检查是否已安装

kubectl get pods -n kube-system | grep metrics-server
kubectl get apiservices | grep metrics.k8s.io

如果没有任何输出,则表示未安装。

​为什么不是默认安装?
资源考虑:不是所有集群都需要自动扩缩容功能
权限问题:需要一定的集群权限
灵活性:允许用户选择不同的监控方案

大多数生产环境都会安装 Metrics Server,但它确实不是 Kubernetes 核心组件的一部分。

Metrics Server有什么替代品么?

Metrics Server 是 Kubernetes 生态中官方推荐的核心指标收集方案,但它并不是唯一选择。以下是相关产品和替代方案的分类说明:

方案类型典型产品指标范围数据存储HPA支持额外功能
官方轻量级Metrics Server仅核心资源指标内存
Prometheus生态Prometheus+Adapter自定义指标长期报警、记录规则
全功能监控Datadog/Sysdig全栈指标长期APM、日志、安全
云服务商方案CloudWatch/Stackdriver混合指标长期云服务集成

选择建议

  1. 基础需求:只需要 HPA 的 CPU/内存扩缩 → Metrics Server 足够

  2. 自定义指标:需要基于业务指标扩缩 → Prometheus + Adapter

  3. 企业监控:已有监控体系 → 选择对应厂商的集成方案

  4. 云环境:优先使用云厂商提供的托管方案

相关文章:

  • 东京 ⇄ 京都游记⛩️
  • 漫游git rebase + 浅谈git checkout和git branch -f的分支命令
  • 5 提示词工程指南-计划与行动
  • 4.19-4.20学习总结 网络编程+反射+动态代理
  • Linux:网络基础
  • 构建具备推理与反思能力的高级 Prompt:LLM 智能代理设计指南
  • 基于尚硅谷FreeRTOS视频笔记——16—FreeRTOS的任务创建和删除
  • Redis入门
  • C#森林中的兔子(力扣题目)
  • mysql中的group by用法详解
  • Linux学习——Linux进程间通信(IPC)聊天程序实践
  • NHANES指标推荐:RFM
  • 恒源云常用命令
  • 【HDFS入门】HDFS故障排查与案例分析:从日志分析到实战解决
  • 清理C盘组合拳:最高释放空间80GB+
  • WebSocket启用备忘
  • Matlab 步进电机传递函数模糊pid
  • Yocto项目实战教程‑第6章‑Poky‑镜像菜谱‑机器配置文件‑发行版配置文件‑QEMU
  • 2025 第十六届蓝桥杯Java B组
  • 二进制枚举算法
  • 高明士︱纪念坚苦卓绝的王寿南先生
  • 特朗普特使将赴俄见普京,俄方:美俄间谈判艰难且耗时
  • 富力地产:广州富力空港假日酒店第一次拍卖流拍,起拍价约2.77亿元
  • 中汽协:杜绝虚假宣传与过度营销,确保用户清晰区别驾驶辅助与自动驾驶
  • 海南医科大学继续开展部门正职竞聘上岗,致力营造“谁有本事谁来”
  • 陈杨梅:为爸爸寻我19年没有放弃而感动,回家既紧张又期待