概述

该项目将被废弃(RETIRED)

Heapster是Kubernetes旗下的一个项目,Heapster是一个收集者,并不是采集

  • 1.Heapster可以收集Node节点上的cAdvisor数据:CPU、内存、网络和磁盘
  • 2.将每个Node上的cAdvisor的数据进行汇总
  • 3.按照kubernetes的资源类型来集合资源,比如Pod、Namespace
  • 4.默认的metric数据聚合时间间隔是1分钟。还可以把数据导入到第三方工具ElasticSearch、InfluxDB、Kafka、Graphite
  • 5.展示:Grafana或Google Cloud Monitoring

使用场景

  • Heapster+InfluxDB+Grafana共同组成了一个流行的监控解决方案
  • Kubernetes原生dashboard的监控图表信息来自heapster
  • 在HPA(Horizontal Pod Autoscaling)中也用到了Heapster,HPA将Heapster作为Resource Metrics API,向其获取metric,作为水平扩缩容的监控依据

监控指标

流程:

1.Heapster首先从apiserver获取集群中所有Node的信息。
2.通过这些Node上的kubelet获取有用数据,而kubelet本身的数据则是从cAdvisor得到。
3.所有获取到的数据都被推到Heapster配置的后端存储中,并还支持数据的可视化。

部署

docker部署:

k8s中部署:

heapster.yml

influxdb.yml

注意修改镜像地址,k8s.gcr.io无法访问的话,修改为内网镜像地址,如替换为registry.cn-hangzhou.aliyuncs.com/google_containers

Heapster的参数
  • source: 指定数据获取源,如kube-apiserver

inClusterConfig:

  • kubeletPort: 指定kubelet的使用端口,默认10255
  • kubeletHttps: 是否使用https去连接kubelets(默认:false)
  • apiVersion: 指定K8S的apiversion
  • insecure: 是否使用安全证书(默认:false)
  • auth: 安全认证
  • useServiceAccount: 是否使用K8S的安全令牌
  • sink: 指定后端数据存储,这里指定influxdb数据库
Metrics列表

深入解析

架构图:

代码结构(https://github.com/kubernetes...)

heapster主函数(heapster/metrics/heapster.go)

主要流程:

  • 创建数据源对象
  • 创建后端存储对象list
  • 创建处理metrics数据的processors
  • 创建manager,并开启数据的获取及export的协程
  • 开启Heapster server,并支持各类API

cAdvisor返回的原始数据包含了nodes和containers的相关数据,heapster需要创建各种processor,用于处理成不同类型的数据,比如pod, namespace, cluster,node的聚合,求和平均之类,processor有如下几种:

例如Pod的处理如下:

详细解析参考: https://segmentfault.com/a/11...

现状

heapster已经被官方废弃(k8s 1.11版本中,HPA已经不再从hepaster获取数据)

  • CPU内存、HPA指标: 改为metrics-server
  • 基础监控:集成到prometheus中,kubelet将metric信息暴露成prometheus需要的格式,使用Prometheus Operator
  • 事件监控:集成到https://github.com/heptiolabs...

基于Heapster的HPA

参考:基于Heapster的HPA

本文为容器监控实践系列文章,完整内容见:container-monitor-book

容器监控实践—Heapster相关推荐

  1. 你必须知道的容器监控 (2) cAdvisor

    # 实验环境:阿里云ECS主机(两台),CentOS 7.4 01 - cAdvisor简介 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advis ...

  2. 日均请求量百亿级数据处理平台的容器云实践

    from: http://geek.csdn.net/news/detail/97887 声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载.  作者:袁晓沛,目前在七牛云的主要工作是基于 ...

  3. Kubernetes监控之Heapster源码分析

    源码版本 heapster version: release-1.2 简介 Heapster是Kubernetes下的一个监控项目,用于进行容器集群的监控和性能分析. 基本的功能及概念介绍可以回顾我之 ...

  4. Prometheus 的云上 MySQL 监控实践

    一.背景 MySQL 8.0是当前Oracle公司一直在大力宣传的新版本,从架构到性能均有显著变化,同时,随着kubernetes的普及,为更好的提升资源利用率,可以进行MySQL上云的探索.MySQ ...

  5. 详解k8s一个完整的监控方案(Heapster+Grafana+InfluxDB) - kubernetes

    每天学习一点点 编程PDF电子书.视频教程免费下载: http://www.shitanlife.com/code 1.浅析整个监控流程 heapster是一个监控计算.存储.网络等集群资源的工具,以 ...

  6. 基于 Prometheus 的边缘计算监控实践

    监控作为边缘计算基础设施的重要组成部分,是边缘稳定性的基本保障.本文主要介绍火山引擎边缘计算的监控实践,分享火山引擎如何进行监控技术选型以及构建监控服务体系.主要内容如下: 边缘计算监控初衷 基于 P ...

  7. 爱奇艺号基于Prometheus的微服务应用监控实践

    前 言 微服务架构是目前各大互联网公司普遍采用的软件架构方式.在微服务架构中,系统被拆分为多个小的.相互独立的服务,这些服务运行在自己的进程中,可以独立的开发和部署.在业务快速变化时,微服务单一职责. ...

  8. 【Container讲师专访】CloudStack+Docker构建云端信息安全实验场,i 春秋的容器落地实践...

    2016年5月13日-15日,由CSDN重磅打造的2016中国云计算技术大会(CCTC 2016)将于5月13日-15日在北京举办,今年大会特设"中国Spark技术峰会".&quo ...

  9. CDN边缘节点容器调度实践(下)

    5月27日,OSC 源创会在上海成功举办.又拍云系统开发高级工程师黄励博在大会分享了<CDN 边缘节点容器调度的实践>.主要介绍又拍云自主开发的边缘节点容器调度方案,从 0 到 1 ,实现 ...

最新文章

  1. 大触教你如何调节python内置函数
  2. VTK:网格之ElevationFilter
  3. 系统级性能分析工具 — Perf
  4. (11.06)Java小知识
  5. C#基础——C#入门
  6. TensorFlow和Keras解决大数据量内存溢出问题
  7. IDEA 搭建Java WEB 开发环境
  8. realme曝光全球首张6400万像素样张 大家品一品?
  9. mysql in语句 索引,MySQL 中索引相关 SQL 语句
  10. 运用枚举展示静态数据
  11. 身份证识别技术发展背景及特点
  12. Google浏览器清理缓存快捷键是什么
  13. mysql中orderby用法_MySQL教程:OrderBy用法_MySQL
  14. 虚拟机IP地址和主机名称配置
  15. 5个商用字体网站分享
  16. Java的Random练习~~生成1~n之间的随机数
  17. 最新华农c语言教材答案,华农C语言题目及答案完整版
  18. 笑谈 5G,5G白话文
  19. go get命令详解
  20. 揭开Storage vMotion的神秘面纱

热门文章

  1. NFS - MIPS架构下构建NFS共享目录服务
  2. Spring JDBC-Spring事务管理之ThreadLocal基础知识
  3. EFI启动PE加Linux,macOS安装盘制作并添加EFI和WinPE
  4. docker新建Linux虚拟机,RHEL/CentOS 7下创建你的第一个Docker容器
  5. xml发生错误_WEB之web.xml详解
  6. tensorflow: Could not load dynamic library ‘cudart64_101.dll‘ 解决办法
  7. pythondjango项目集成_[Python]将Wagtail整合到Django2项目中
  8. Objective-C中MRC和ARC的自我理解
  9. 浏览器直接连接mysql_在IE中直接连接SQL数据库_MySQL
  10. Log4j使用详解(log4j.XML格式)