用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

Posted CloudMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)相关的知识,希望对你有一定的参考价值。

第176篇

用 Heapster 监控集群

Heapster 是 Kubernetes 原生的集群监控方案。Heapster 以 Pod 的形式运行,它会自动发现集群节点、从节点上的 Kubelet 获取监控数据。Kubelet 则是从节点上的 cAdvisor 收集数据。

Heapster 将数据按照 Pod 进行分组,将它们存储到预先配置的 backend 并进行可视化展示。Heapster 当前支持的 backend 有 InfluxDB(通过 Grafana 展示),Google Cloud Monitoring 等。Heapster 的整体架构如下图所示:

下面我们将实践由 Heapster、InfluxDB 和 Grafana 组成的监控方案。Kubelet 和 cAdvisor 是 Kubernetes 的自带组件,无需额外部署。

部署

Heapster 本身是一个 Kubernetes 应用,部署方法很简单,运行如下命令:

git clone https://github.com/kubernetes/heapster.git
kubectl apply -f heapster/deploy/kube-config/influxdb/
kubectl apply -f heapster/deploy/kube-config/rbac/heapster-rbac.yaml

Heapster 相关资源如下:

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

为便与访问,已通过 kubectl edit 将 Service monitoring-grafana 的类型修改为 NodePort

使用

浏览器打开 Grafana 的 Web UI:http://192.168.56.105:32314/

Heapster 已经预先配置好了 Grafana 的 DataSource 和 Dashboard。

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

点击左上角 Home 菜单,可以看到预定义的两个 Dashboard Cluster 和 Pods

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

点击 Cluster,可以查看集群中节点的 CPU、内存、网络和磁盘的使用情况。

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

在左上角可以切换查看不同节点的数据。

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

切换到 Pods Dashboard,可以查看 Pod 的监控数据,包括单个 Pod 的 CPU、内存、网络和磁盘使用情况。

用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)

在左上角可以切换到不同 Namespace 的 Pod。

Heapster 预定义的 Dashboard 很直观也很简单。如有必要,可以在 Grafana 中定义自己的 Dashboard 满足特定的业务需求。

下一节我们学习 Prometheus Operator。

书籍:

1.《每天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html(点击“阅读原文”直达)

2.《每天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html

3.《每天5分钟玩转OpenStack》
https://item.jd.com/12086376.html

以上是关于用 Heapster 监控集群 - 每天5分钟玩转 Docker 容器技术(176)的主要内容,如果未能解决你的问题,请参考以下文章

每天5分钟玩转Kubernetes | Heapster

Prometheus Operator - 每天5分钟玩转 Docker 容器技术(177)

用 Weave Scope 监控集群 - 每天5分钟玩转 Docker 容器技术(175)

每天5分钟玩转Kubernetes | Kubernetes集群日志管理

DaemonSet 典型应用场景 - 每天5分钟玩转 Docker 容器技术(129)

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)