Heapster 是 Kubernetes 原生的集羣監控方案。Heapster 以 Pod 的形式運行,它會自動發現集羣節點、從節點上的 Kubelet 獲取監控數據。Kubelet 則是從節點上的 cAdvisor 收集數據。html
Heapster 將數據按照 Pod 進行分組,將它們存儲到預先配置的 backend 並進行可視化展現。Heapster 當前支持的 backend 有 InfluxDB(經過 Grafana 展現),Google Cloud Monitoring 等。Heapster 的總體架構以下圖所示:git
下面咱們將實踐由 Heapster、InfluxDB 和 Grafana 組成的監控方案。Kubelet 和 cAdvisor 是 Kubernetes 的自帶組件,無需額外部署。github
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/
app
Heapster 已經預先配置好了 Grafana 的 DataSource 和 Dashboard。學習
點擊左上角 Home
菜單,能夠看到預約義的兩個 Dashboard Cluster
和 Pods
。spa
點擊 Cluster
,能夠查看集羣中節點的 CPU、內存、網絡和磁盤的使用狀況。3d
在左上角能夠切換查看不一樣節點的數據。
切換到 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