使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态

💡 原文中文,约21100字,阅读约需51分钟。
📝

内容提要

本文介绍了在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监控数据并展示在界面上。

🏷️

标签

➡️

继续阅读