Kubernetes 集群拓?fù)浜椭笜?biāo)可視化工具 - KUR8
KUR8 是一個(gè) Kubernetes 拓?fù)浣Y(jié)構(gòu)和 Prometheus 指標(biāo)的可視化概覽開(kāi)源工具,只需要使用一個(gè)配置文件和 RBAC 授權(quán)的權(quán)限直接部署到你的 Kubernetes 集群中即可。KUR8 將在本地啟動(dòng),讓您一目了然地監(jiān)控 Kubernetes 集群。

功能
結(jié)構(gòu):瀏覽 Structure 頁(yè)面可以以輕松查看你的控制平面和工作節(jié)點(diǎn)及其所有 pod,單擊組件可查看有關(guān)其元數(shù)據(jù)、狀態(tài)和規(guī)范的更多詳細(xì)信息,輕松查找有關(guān)從容器到入口的任何內(nèi)容的鏡像 ID 或 IP 地址的信息。

指標(biāo):使用我們精選的指標(biāo)儀表板一目了然地了解集群的狀態(tài)。

自定義指標(biāo):使用我們的自定義指標(biāo)頁(yè)面來(lái)使用 PROMQL 自動(dòng)完成查詢(xún)想要的任何指標(biāo)。

報(bào)警:你的所有 Prometheus 報(bào)警都會(huì)顯示在 Alerts 選項(xiàng)卡中,查明是否有任何警報(bào)正在觸發(fā)以及它們屬于哪些規(guī)則組。

部署
部署 KUR8
可以直接使用下面的資源清單直接部署到你的 Kubernetes 集群中:
#?kur8-depl.yaml
apiVersion:?apps/v1
kind:?Deployment
metadata:
??name:?kur8-depl
spec:
??replicas:?1
??selector:
????matchLabels:
??????app:?kur8
??template:
????metadata:
??????labels:
????????app:?kur8
????spec:
??????containers:
????????-?name:?kur8
??????????image:?kur8/dashboard:latest
---
apiVersion:?v1
kind:?Service
metadata:
??name:?kur8-srv
??labels:
????prometheus:?cluster-monitoring
????k8s-app:?kube-state-metrics
spec:
??selector:
????app:?kur8
??type:?ClusterIP
??ports:
????-?name:?kur8
??????protocol:?TCP
??????port:?3000
??????targetPort:?3000
此外,為了允許讀取 API 的資源,你必須配置一組權(quán)限。我們已經(jīng)使用 RBAC 授權(quán)設(shè)置了一個(gè) YAML 文件,您可以直接應(yīng)用到你的 Kubernetes 集群中:
#?fabric8-rbac.yaml
#?NOTE:?The?service?account?`default:default`?already?exists?in?k8s?cluster.
#?You?can?create?a?new?account?following?like?this:
#---
#apiVersion:?v1
#kind:?ServiceAccount
#metadata:
#??name:?
#??namespace:?
---
apiVersion:?rbac.authorization.k8s.io/v1
kind:?ClusterRoleBinding
metadata:
?name:?fabric8-rbac
subjects:
?-?kind:?ServiceAccount
???#?Reference?to?upper's?`metadata.name`
???name:?default
???#?Reference?to?upper's?`metadata.namespace`
???namespace:?default
roleRef:
?kind:?ClusterRole
?name:?cluster-admin
?apiGroup:?rbac.authorization.k8s.io
部署完成后可以使用 kubectl port-forward 命令在端口 3068 上打開(kāi) KUR8:
kubectl?port-forward?deployment/kur8-depl?3068:3068
然后,打開(kāi)你的網(wǎng)絡(luò)瀏覽器訪問(wèn) http://localhost:3068。左側(cè)的結(jié)構(gòu)選項(xiàng)卡將查詢(xún)您的 Kubernetes API 以查看集群的架構(gòu)。
部署 Prometheus
如果您沒(méi)有安裝 Prometheus 實(shí)例,請(qǐng)首先克隆存儲(chǔ)庫(kù):
git?clone?https://github.com/oslabs-beta/KUR8
在 KUR8 目錄中運(yùn)行:
kubectl?create?-f?infra/manifests/setup
設(shè)置完成后運(yùn)行:
kubectl?create?-f?infra/manifests/
如果您想將 Kur8 連接到 Prometheus,請(qǐng)通過(guò)以下方式打開(kāi)端口:
kubectl?--namespace?monitoring?port-forward?svc/prometheus-k8s?9090
現(xiàn)在你就可以在 KUR8 中查看 Prometheus 選項(xiàng)卡,查看和創(chuàng)建您的自定義儀表板。
倉(cāng)庫(kù)地址:https://github.com/oslabs-beta/KUR8
