资讯专栏INFORMATION COLUMN

容器监控实践—Heapster

DDreach / 1756人阅读

摘要:还可以把数据导入到第三方工具展示或使用场景共同组成了一个流行的监控解决方案原生的监控图表信息来自在中也用到了,将作为,向其获取,作为水平扩缩容的监控依据监控指标流程首先从获取集群中所有的信息。

概述

该项目将被废弃(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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27659.html

相关文章

  • 容器监控实践Heapster

    摘要:还可以把数据导入到第三方工具展示或使用场景共同组成了一个流行的监控解决方案原生的监控图表信息来自在中也用到了,将作为,向其获取,作为水平扩缩容的监控依据监控指标流程首先从获取集群中所有的信息。 概述 该项目将被废弃(RETIRED) Heapster是Kubernetes旗下的一个项目,Heapster是一个收集者,并不是采集 1.Heapster可以收集Node节点上的cAdvis...

    宠来也 评论0 收藏0
  • 容器监控实践—cAdvisor

    摘要:在中包含大量的了相关的信息参考原生监控文章的收集器更多源码参考文章总结优缺点优点谷歌开源产品,监控指标齐全,部署方便,而且有官方的镜像。 概述 为了解决docker stats的问题(存储、展示),谷歌开源的cadvisor诞生了,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取,或者cadvis...

    andycall 评论0 收藏0
  • 容器监控实践—cAdvisor

    摘要:在中包含大量的了相关的信息参考原生监控文章的收集器更多源码参考文章总结优缺点优点谷歌开源产品,监控指标齐全,部署方便,而且有官方的镜像。 概述 为了解决docker stats的问题(存储、展示),谷歌开源的cadvisor诞生了,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取,或者cadvis...

    kbyyd24 评论0 收藏0
  • 容器监控实践—Metrics Server

    摘要:出现后,新的监控架构将变成上图的样子核心流程黑色部分这是正常工作所需要的核心度量,从等获取度量数据,再由提供给控制器等使用。本文为容器监控实践系列文章,完整内容见 概述 从 v1.8 开始,资源使用情况的监控可以通过 Metrics API的形式获取,具体的组件为Metrics Server,用来替换之前的heapster,heapster从1.11开始逐渐被废弃。 Metrics-S...

    libxd 评论0 收藏0
  • 容器监控实践—Metrics Server

    摘要:出现后,新的监控架构将变成上图的样子核心流程黑色部分这是正常工作所需要的核心度量,从等获取度量数据,再由提供给控制器等使用。本文为容器监控实践系列文章,完整内容见 概述 从 v1.8 开始,资源使用情况的监控可以通过 Metrics API的形式获取,具体的组件为Metrics Server,用来替换之前的heapster,heapster从1.11开始逐渐被废弃。 Metrics-S...

    lmxdawn 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<