使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态
内容提要
本文介绍了在KubeSphere中实现边缘节点的可观测性的方法,包括使用KubeSphere和KubeEdge构建云边一体化计算平台,通过Prometheus监控Nvidia Jetson边缘设备的状态,以及展示GPU信息在KubeSphere前端界面上。
关键要点
-
KubeSphere通过KubeEdge实现边缘节点的统一管理和监控。
-
KubeSphere 1.23.x版本支持边缘计算,但缺乏边缘节点资源监控信息。
-
使用Prometheus监控Nvidia Jetson边缘设备的状态,提升可观测性。
-
部署K8s环境时可使用KubeKey快速创建集群。
-
KubeEdge环境需开启边缘节点日志查询功能以便于问题定位。
-
修改KubeSphere配置以支持边缘节点插件,并确保node-exporter在边缘节点上运行。
-
通过修改node-exporter的亲和性设置,使其能够在边缘节点上部署。
-
解决KubeEdge边缘节点pod环境变量缺失问题,确保kube-rbac-proxy容器正常启动。
-
安装EdgeMesh以便于边缘pod访问Kubernetes服务。
-
配置edgecore以支持DNS和metaServer功能,确保服务正常运行。
-
安装Jtop以监控Jetson GPU状态,并开发Jetson GPU Exporter。
-
创建KubeSphere资源以将Jetson Exporter采集的数据提供给Prometheus。
-
通过修改KubeSphere前端代码,展示GPU监控数据。
-
成功实现KubeSphere对KubeEdge边缘节点的CPU、内存和GPU状态的监控。
延伸问答
如何在KubeSphere中监控KubeEdge边缘节点的CPU和内存状态?
通过修改node-exporter的亲和性设置,使其能够在边缘节点上部署,并确保KubeSphere配置支持边缘节点插件,最终实现CPU和内存的监控。
使用Prometheus监控Nvidia Jetson边缘设备的步骤是什么?
首先安装Jtop获取GPU状态,然后开发Jetson GPU Exporter,将数据发送给KubeSphere的Prometheus,最后在KubeSphere前端展示监控数据。
KubeSphere 1.23.x版本对边缘计算的支持情况如何?
KubeSphere 1.23.x版本支持边缘计算,但缺乏边缘节点资源监控信息的显示。
如何解决KubeEdge边缘节点pod环境变量缺失的问题?
需要确保在KubeEdge的边缘节点上设置KUBERNETES_SERVICE_HOST和KUBERNETES_SERVICE_PORT环境变量,并在KubeEdge 1.17版本中增加这些设置。
EdgeMesh在KubeEdge中有什么作用?
EdgeMesh可以帮助边缘pod访问Kubernetes服务,确保服务正常运行。
如何在KubeSphere前端展示GPU监控数据?
通过修改KubeSphere前端代码,利用HTTP接口从Prometheus获取GPU监控数据并展示在界面上。