用 Heapster 監控集羣 - 每天5分鐘玩轉 Docker 容器技術(176)

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 相關資源如下:

爲便與訪問,已通過 kubectl edit 將 Service monitoring-grafana 的類型修改爲 NodePort

使用

瀏覽器打開 Grafana 的 Web UI:http://192.168.56.105:32314/

Heapster 已經預先配置好了 Grafana 的 DataSource 和 Dashboard。

點擊左上角 Home 菜單,可以看到預定義的兩個 Dashboard Cluster 和 Pods

點擊 Cluster,可以查看集羣中節點的 CPU、內存、網絡和磁盤的使用情況。

在左上角可以切換查看不同節點的數據。

切換到 Pods Dashboard,可以查看 Pod 的監控數據,包括單個 Pod 的 CPU、內存、網絡和磁盤使用情況。

在左上角可以切換到不同 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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章