KUR8 : 一款 Kubernetes 集群拓?fù)浜椭笜?biāo)可視化工具
KUR8 是一個(gè) Kubernetes 拓?fù)浣Y(jié)構(gòu)和 Prometheus 指標(biāo)的可視化概覽開源工具,只需要使用一個(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)完成查詢想要的任何指標(biāo)。

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

部署
部署 KUR8
可以直接使用下面的資源清單直接部署到你的 Kubernetes 集群中:
# kur8-depl.yaml
apiVersionapps/v1
kindDeployment
metadata
namekur8-depl
spec
replicas1
selector
matchLabels
appkur8
template
metadata
labels
appkur8
spec
containers
namekur8
imagekur8/dashboardlatest
---
apiVersionv1
kindService
metadata
namekur8-srv
labels
prometheuscluster-monitoring
k8s-appkube-state-metrics
spec
selector
appkur8
typeClusterIP
ports
namekur8
protocolTCP
port3000
targetPort3000
此外,為了允許讀取 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: <new-account-name>
# namespace: <namespace>
---
apiVersionrbac.authorization.k8s.io/v1
kindClusterRoleBinding
metadata
namefabric8-rbac
subjects
kindServiceAccount
# Reference to upper's `metadata.name`
namedefault
# Reference to upper's `metadata.namespace`
namespacedefault
roleRef
kindClusterRole
namecluster-admin
apiGrouprbac.authorization.k8s.io
部署完成后可以使用 ??kubectl port-forward?? 命令在端口 3068 上打開 KUR8:
kubectl port-forward deployment/kur8-depl 3068:3068然后,打開你的網(wǎng)絡(luò)瀏覽器訪問(wèn) http://localhost:3068。左側(cè)的結(jié)構(gòu)選項(xiàng)卡將查詢您的 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ò)以下方式打開端口:
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















 
 
 















 
 
 
 