用 Heapster 监控集群 — Kubernetes(63)

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@cloudman6·
0.000 HBD
用 Heapster 监控集群 — Kubernetes(63)
Heapster 是 Kubernetes 原生的集群监控方案。Heapster 以 Pod 的形式运行,它会自动发现集群节点、从节点上的 Kubelet 获取监控数据。Kubelet 则是从节点上的 cAdvisor 收集数据。

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

![887.png](https://steemitimages.com/DQmdbGBH5KrwaoaKVpKMKtGwWg7MFnKRQ7gWwkeGuzbAgUz/887.png)

下面我们将实践由 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 相关资源如下:

![888.png](https://steemitimages.com/DQmX4XrSdks9jG74ZSezWeFKRJWVcVWK7Xey9JWwXq6eer7/888.png)

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

## 使用

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

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

![889.png](https://steemitimages.com/DQmbkDVR2gtjLe5nYwQFvPvGa7xwg6H3Kc2sPsCUkr8z8VJ/889.png)

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

![890.png](https://steemitimages.com/DQmYc2awc65JV8sJjNBRd6hMLDwwGu9SMiCbzoZ2FoTqn7a/890.png)

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

![891.png](https://steemitimages.com/DQmPoc7PiTMDuVFRpaE4qsgWd36eMKKiU6xnRWCrrFM8ZsJ/891.png)

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

![892.png](https://steemitimages.com/DQmVvRsssgEtnuqP2CYDL9xDUXTs2WoaUai7vnyrEcJS25f/892.png)

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

![893.png](https://steemitimages.com/DQmaF8vR3NSkyKLWqWkW2hf742qtVXUA776pzFD7MCHRmG2/893.png)

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

![894.png](https://steemitimages.com/DQmT7J6M23PecdYvieRpZ2NDcFY2Y46fqoCWn5meCT8z6Gu/894.png)

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

下一节我们学习 Prometheus Operator。
👍 , , , , ,