Kubernetes 中metrics-server的采集周期,采集链路是什么样的?

ops/2025/3/17 16:31:44/

0. 运维干货分享

  • 软考高级系统架构设计师备考学习资料
  • 软考高级网络规划设计师备考学习资料
  • Kubernetes CKA认证学习资料分享
  • 信息安全管理体系(ISMS)制度模板分享
  • 免费文档翻译工具(支持word、pdf、ppt、excel)
  • PuTTY中文版安装包
  • MobaXterm中文版安装包
  • pinginfoview网络诊断工具中文版

在 Kubernetes 中,metrics-server 是一个轻量级的指标采集器,用于提供集群节点和 Pod 的资源使用情况(如 CPU 和内存)。它主要用于支撑 Kubernetes 的自动扩展功能,如 Horizontal Pod Autoscaler (HPA) 和 Vertical Pod Autoscaler (VPA)。

1. 采集周期

  • 默认采集周期: metrics-server 的默认采集周期通常为 60 秒,即每隔 60 秒从各节点采集一次指标数据。
  • 可配置采集周期: 你可以通过设置 –metric-resolution 参数来自定义这个采集周期。例如,设置 –metric-resolution=30s 可以将采集周期调整为 30 秒。

2. 采集链路

metrics-server 的采集链路涉及几个关键组件:Kubelet、API Server、和 metrics-server 本身。以下是它的详细采集流程:

步骤 1: Kubelet 采集节点和 Pod 级别的资源使用情况
  • 每个 Kubernetes 节点上都运行着 kubelet,它负责监控该节点上运行的所有容器的状态和资源使用情况。
  • kubelet 从容器运行时(如 Docker 或 containerd)和 cgroups 中采集资源使用数据(例如 CPU 和内存使用量),并将这些数据保存在本地的 /metrics 或 /stats/summary 端点上。
步骤 2: metrics-server 拉取数据
  • metrics-server 周期性地从集群中每个节点的 kubelet 上的 /metrics/resource/v1alpha1 端点(或者 /stats/summary 端点)拉取节点和 Pod 的资源使用数据。
  • 这种通信是通过 HTTPS 加密的,metrics-server 使用节点证书进行认证,并且 metrics-server 必须被配置为可以访问这些节点端点。
步骤 3: metrics-server 聚合数据
  • metrics-server 收集到的数据包括每个节点上所有 Pod 的 CPU 和内存使用量。
  • 它将这些数据进行聚合和处理,并在内存中存储最近一次的采集数据。这意味着 metrics-server 不会持久化历史数据,而是只保留当前的最新状态。
步骤 4: 提供数据给 API Server
  • 一旦数据被处理好,metrics-server 通过 Kubernetes API 端点提供这些数据。API Server 可以通过 apis/metrics.k8s.io/v1beta1 端点访问这些指标数据。
  • 这个数据端点可以被 Kubernetes 内部组件(如 HPA 控制器)或外部用户查询,以获得当前集群中各个 Pod 和节点的资源使用情况。

3. 总结的采集链路图示化

  1. Kubelet 采集节点及容器的资源使用数据(CPU、内存)。
  2. metrics-server 周期性地通过 HTTPS 从每个节点的 Kubelet 拉取数据。
  3. metrics-server 聚合并处理这些数据,保存在内存中。
  4. metrics-server 通过 metrics.k8s.io API 端点将数据提供给 Kubernetes API Server。
  5. 用户或组件(如 HPA) 通过 API Server 查询这些实时资源使用数据,以做出扩展决策。

4.配置和优化

  • 采集周期:你可以通过 –metric-resolution 参数配置 metrics-server 的采集周期。如果集群对实时性要求较高,可以设置更短的采集周期,但这可能会增加系统的开销。
  • 安全性:确保 metrics-server 与 kubelet 之间的通信是安全的,通常通过 TLS 证书认证。此外,配置 metrics-server 使其具有足够的权限去访问节点数据。

通过这些配置和机制,metrics-server 能够为 Kubernetes 提供关键的资源使用数据,帮助集群进行资源管理和自动扩展。


http://www.ppmy.cn/ops/166550.html

相关文章

大语言模型入门文献推荐

分享一些入门大模型时候学习过的文献。分成两类:大模型微调论文、基础大模型论文。这些论文不用精通,明白其基本原理即可。目前技术发展太快,更多的时间和精力应该放在前沿论文的学习上。 一、基础大模型论文 首先是目前主流的一些模型&…

redis常用命令

个人理解 一个大号的Map 安装 github官网下载https://github.com/redis/redis/archive/refs/tags/7.4.2.tar.gz 解压后执行: make sudo make install启动服务端: redis-server默认端口是6379 启动客户端 redis-cli命令 1. 字符串(String&#x…

全面的 .NET 操作 SQLite 入门实战(包含选型、开发、发布、部署)!

教程简介 EasySQLite是一个七天.NET 8操作SQLite入门到实战详细教程,主要是对学校班级,学生信息进行管理维护(包含选型、开发、发布、部署)! GitHub开源地址:https://github.com/YSGStudyHards/EasySQLite…

《Python实战进阶》No21:数据存储:Redis 与 MongoDB 的使用场景

第21集:数据存储:Redis 与 MongoDB 的使用场景 摘要 在现代应用开发中,数据存储的选择直接影响系统的性能、扩展性和成本。Redis 和 MongoDB 是两种极具代表性的数据库技术,它们分别擅长解决不同场景下的问题。本文将深入探讨 Re…

【NLP】7. 自然语言处理 (NLP) 的关键要素

核心组件:自然语言处理 (NLP) 的关键要素 自然语言处理 (NLP) 涉及多个核心组件,每个组件在模型的训练和推理过程中都起着至关重要的作用。 1. 数据:文本案例与标注信息 数据是 NLP 系统的基础,模型学习语言模式时依赖于大量的…

【人工智能基础2】Tramsformer架构、自然语言处理基础、计算机视觉总结

文章目录 七、Transformer架构1. 替代LSTM的原因2. Transformer架构:编码器 - 解码器架构3. Transformer架构原理 八、自然语言处理基础1. 语言模型基本概念2. 向量语义3. 预训练语言模型的基本原理与方法4. DeepSeek基本原理 九、计算机视觉 七、Transformer架构 …

【AI 加持下的 Python 编程实战 2_03】第二章:Copilot 辅助编程入门——环境搭建、基本工作流程以及数据分析案例演示(含本地实测)

【全新第二版《Learn AI-assisted Python Programming》封面】 写在前面 本篇介绍了 Copilot 辅助编程的本地环境配置和它的基本工作流程,整体内容难度不大,主要是照顾零基础的 AI 开发者。最后的数据分析案例强烈建议动手操练,真实感受一下 …

百年匠心焕新居:约克VRF中央空调以科技赋能健康理想家

当春风拂过大地,万物复苏之际,家,这个我们最温暖的港湾,也迎来了焕新的最佳时机。约克VRF,一个承载着百年匠心与创新精神的品牌,正以“聚惠春装季 健康理想家”为题,引领一场关于健康与舒适的家居革命。在这个春意盎然的季节里,约克VRF春季健康家装季如约而至,它不仅是对高品质…