进击云原生

V1

2022/01/21阅读:55主题:默认主题

Kubermetrics使kubernetes集群可视化变的更简单

Kubermetrics 使 kubernetes 集群可视化变的更简单

什么是 Kubermetrics?

Kubermetrics 是一个开源的开发工具,它以简单易懂的用户界面提供 Kubernetes 集群监控和数据可视化。Kubermetrics 集成了 Prometheus 和 Grafana 仪表板在一个页面,允许定制仪表板和警报。

主页

按 namespace 显示所有 nodes, deployments, pods, services 和 ingresses 的仪表板。

Home Page

指标页

指标页面利用了完整的 Grafana 集成定制仪表板。

Metrics

告警页

我们的警报页利用完整的 Prometheus 集成,以便访问警报,图表,prom-queries等!

Alerts

部署 Kubermetrics

git clone https://github.com/oslabs-beta/kubermetrics.git
unzip kubermetrics.zip

如果未安装 Prometheus 和 Grafana,可以在 kubermetrics 根目录下执行apply,将安装全部依赖组件:

kubectl apply -f manifests

如果已安装 Prometheus 和 Grafana,则进入manifests目录,apply清单 yaml 文件:

# cd kubermetrics/manifests
# kubectl apply -f kubermetrics-depl.yaml
deployment.apps/kubermetrics-depl created
service/kubermetrics-srv created

创建的 Pod 一直重启,查看日志报错如下:

# kubectl get pod  | grep kuberme
kubermetrics-depl-5c54969bc-w4nnt     0/1     CrashLoopBackOff   1          88s

#
 k logs -f kubermetrics-depl-5c54969bc-w4nnt
standard_init_linux.go:211: exec user process caused "exec format error"

这个问题在 github 上有相同的issue,目前尚未解决。

# docker run -ti kubermetrics/kubermetrics:latest bash
standard_init_linux.go:211: exec user process caused "exec format error"

#
 cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

#
 uname -m
x86_64

该错误 CPU 架构不同导致的,默认镜像适用于linux/arm64

为此我编译了 x86 架构的镜像,推送到阿里云镜像仓库和 dockerhub 仓库:

# 阿里云仓库
docker pull registry.cn-hangzhou.aliyuncs.com/smallsoup/kubermetrics

#
 dockerhub
docker pull smallsoup/kubermetrics

请运行以下命令以确保 grafana 和 prometheus 在这些端口上启动并运行!

kubectl port-forward <grafana-pod-name-goes-here> --namespace=<yournamespace> 3000:3000
kubectl port-forward <prometheus-pod-name-goes-here> --namespace=<yournamespace> 9090:9090

找到您当前正在运行的 Kubermetrics Pod 并运行以下命令

# kubectl port-forward --address 0.0.0.0 pod/{pod名称} 8899:3068
Forwarding from 0.0.0.0:8899 -> 3068
Handling connection for 8899

这将在本机所有地址监听 8899 端口,转发到 Pod 的 3068 端口。

假如本机 IP 为10.0.11.2,则访问10.0.11.2:8899即可访问仪表板。

比较坑的是

应用程序在本地主机 localhost:3000 上查找 grafana,9090 上查找 promethues。不支持自定义。

Prometheus 的地址是写死:

./client/components/PrometheusMonitoring/PrometheusAlerts.js:            src={"http://localhost:9090/alerts"}

Grafana 的地址是写死:

./client/components/GrafanaMonitoring/ClusterDashboard.js:            src={"http://localhost:3000/goto/tJaUhdH7z?orgId=1"}
./client/components/GrafanaMonitoring/PodDashboard.js:            src={"http://localhost:3000/d-solo/AAOMjeHmk/kubernetes-pod-monitoring?orgId=1&refresh=10s&from=1632155279207&to=1632158879207&panelId=3"}
./client/components/GrafanaMonitoring/PodDashboard.js:            src={"http://localhost:3000/d-solo/AAOMjeHmk/kubernetes-pod-monitoring?orgId=1&refresh=10s&from=1632156042391&to=1632159642391&panelId=2"}
./client/components/GrafanaMonitoring/PodDashboard.js:            src={"http://localhost:3000/d-solo/AAOMjeHmk/kubernetes-pod-monitoring?orgId=1&refresh=10s&from=1632156127873&to=1632159727873&panelId=8"}

可以自己修改代码,以支持指定两组件地址作为参数。

原文

本文同步发于微信公众号【我的小碗汤】,扫码关注,了解更多咨询,更有免费资源供您学习

扫码关注,加群学习
扫码关注,加群学习

分类:

后端

标签:

后端

作者介绍

进击云原生
V1

公众号:进击云原生