KubeScrape 是一個開源監控工具,旨在幫助 Kubernetes 用戶跟蹤集群的健康狀況、查看實時指標和查看結構,該應用程序目前有 5 個直觀的頁面。
安裝
該應用程序是一個桌面應用程序,只需要從 github release 頁面(https://github.com/oslabs-beta/KubeScrape/releases)點擊下載與你操作系統兼容的可執行文件,在本地運行即可。
但是要使用該應用程序需要滿足一些先決條件:
- (必須)首先必須在你的 Kubernetes 集群中安裝 Prometheus,并且提供了 node-exporter、kube-state-metrics 指標數據。
- (必須)安裝了 Prometheus 實例后,需要在本地能夠通過 30000 端口訪問,這是因為目前 KubeScrape 是通過該端口進行 API 調用的,后續會提供讓用戶輸入 Prometheus 地址的功能。
- (可選)如果配置了 Prometheus 的報警規則,KubeScrape 的 Alerts 選項卡會只顯示報警相關的信息。
我這里在 Kubernetes 集群中安裝了 Prometheus,并且有一個 Service 暴露服務:
? kubectl get svc -n kube-mon NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE prometheus ClusterIP 10.108.206.232 <none> 9090/TCP 45d
然后我可以在本地通過 kubectl port-forward 將 Prometheus 服務暴露在 30000 端口上:
? kubectl port-forward service/prometheus 30000:9090 --address 0.0.0.0 --namespace=kube-mon Forwarding from 0.0.0.0:30000 -> 9090
此外如果你沒有安裝相關的指標,可以通過 https://github.com/annechanchan/KubeScrape_PrometheusManifests 倉庫來輕松部署,包括報警規則。
特性
上面的需求滿足后,在本地直接打開 KubeScrape 應用即可正常使用了,首頁提供了集群運行狀況和一些重要的集群指標信息概述:
點擊一個節點可以路由到節點詳細信息頁面,可以獲取有關該節點上正在運行的 pod 信息:
同樣點擊 Pod 則可以路由到 Pod 的詳細信息頁面,在該頁面可以查看 CPU、內存等資源的相關使用情況:
此外 Alerts 頁面還會顯示 Prometheus 中處于 Firing 狀態的報警規則,按照報警名稱進行分組:
Visualizer 頁面可以展示 kubernetes 集群對象的關系圖,按命名空間組織。
總體來說該項目還處于較早期階段,功能也略顯雞肋,但是如果作為開發學習的范例則是一個非常好的案例。
原文地址:https://mp.weixin.qq.com/s/aILg2doCGz2_J9GE-3R1vQ