ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【K8s任务】资源指标管道

2021-08-06 22:03:06  阅读:210  来源: 互联网

标签:Metrics Kubernetes 指标 管道 API 内存 服务器 K8s CPU


参考:https://kubernetes.io/zh/docs/tasks/debug-application-cluster/resource-metrics-pipeline/

资源使用指标,例如容器 CPU 和内存使用率,可通过 Metrics API 在 Kubernetes 中获得。 这些指标可以直接被用户访问,比如使用 kubectl top 命令行,或者被集群中的控制器 (例如 Horizontal Pod Autoscalers) 使用来做决策。

Metrics API

通过 Metrics API,你可以获得指定节点或 Pod 当前使用的资源量。 此 API 不存储指标值,因此想要获取某个指定节点 10 分钟前的 资源使用量是不可能的。

此 API 与其他 API 没有区别:

  • 此 API 和其它 Kubernetes API 一起位于同一端点(endpoint)之下且可发现, 路径为 /apis/metrics.k8s.io/
  • 它具有相同的安全性、可扩展性和可靠性保证

Metrics API 在 k8s.io/metrics 仓库中定义。你可以在那里找到有关 Metrics API 的更多信息。

说明: Metrics API 需要在集群中部署 Metrics Server。否则它将不可用。

度量资源用量

CPU

CPU 用量按其一段时间内的平均值统计,单位为 CPU 核。 此度量值通过在内核(包括 Linux 和 Windows)提供的累积 CPU 计数器乘以一个系数得到。 kubelet 组件负责选择计算系数所使用的窗口大小。

内存

内存用量按工作集(Working Set)的大小字节数统计,其数值为收集度量值的那一刻的内存用量。 如果一切都很理想化,“工作集” 是任务在使用的内存总量,该内存是不可以在内存压力较大 的情况下被释放的。 不过,具体的工作集计算方式取决于宿主 OS,有很大不同,且通常都大量使用启发式 规则来给出一个估计值。 其中包含所有匿名内存使用(没有后台文件提供存储者),因为 Kubernetes 不支持交换分区。 度量值通常包含一些高速缓存(有后台文件提供存储)内存,因为宿主操作系统并不是总能 回收这些页面。

Metrics 服务器

Metrics 服务器 是集群范围资源用量数据的聚合器。 默认情况下,在由 kube-up.sh 脚本创建的集群中会以 Deployment 的形式被部署。 如果你使用其他 Kubernetes 安装方法,则可以使用提供的 部署组件 components.yaml 来部署。

Metric 服务器从每个节点上的 kubelet 公开的 Summary API 中采集指标信息。 该 API 通过 Kubernetes 聚合器 注册到主 API 服务器上。

在设计文档 中可以了解到有关 Metrics 服务器的更多信息。

标签:Metrics,Kubernetes,指标,管道,API,内存,服务器,K8s,CPU
来源: https://www.cnblogs.com/varden/p/15110438.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有