北京时间11月16日,KubeEdge发布了新的特性版本v1.5.0,持续提升用户易用性。本次发布的1.5版本新特性包括:升级边缘设备Mapper参考架构、支持从云端通过Exec连接边缘Pod、支持边缘节点本地调试工具Keadm Debug、基于Go语言实现的全新Modbus Mapper、升级Kubernetes依赖到v1.19,并修复了23处问题。

KubeEdge v1.5版本发布:持续提升用户易用性_java

升级边缘设备Mapper参考架构


边缘设备Mapper作为KubeEdge边缘节点与边缘设备(如传感器等)的连接中枢,提供了边缘设备数据处理的消息格式和通信框架标准化,实现了边缘应用与不同协议的边缘设备解耦。


KubeEdge v1.5版本升级了Mapper的参考架构设计,降低了用户自定义开发边缘设备Mapper的门槛。其改进包括:

  • 提供Mapper公共代码SDK,方便用户快速开始新的Mapper开发

  • 简化Mapper内部架构,并提炼了Configmap parser, Driver, Event process, Timer四个新模块,降低Mapper开发复杂度


未来,社区还将提供Mapper框架的自动化生成工具,用户只需在生成的Mapper框架中添加逻辑代码即可。


支持从云端通过Exec连接边缘Pod


在大多数边缘计算场景中,边缘节点处于私有网络环境,无法直接从中心云连接运行在边缘节点上的Pod,这给应用的运维调试带来诸多不便。


KubeEdge v1.3版本内置了流数据通道,支持了kubectl logs命令,让用户可以方便地收集边缘pod的日志。随着v1.5版本发布,用户可以通过内置流数据通道使用kubectl exec命令或Kubernetes exec API从云端连接边缘节点上的Pod进行远程调试等操作,无需顾虑私网穿透等复杂问题。


边缘节点本地调试工具Keadm Debug


KubeEdge在设计之初就提供了边缘自治的能力,即在边缘端将服务元数据持久化存储到数据库中,从而保障在边缘节点离线、离线重启情况下用户应用稳定运行不受影响。


针对用户需在边缘进行业务巡检、本地诊断、调试维护等场景,KubeEdge在Keadm中内嵌了Debug工具,可以通过keadm debug的子命令进行本地调试,本次1.5版本提供的debug命令包括:
  • keadm debug diagnose命令可以在边缘节点进行一键诊断,以发现诸如如配置文件错误、云端地址不可达等异常。
  • keadm debug check命令可以检查边缘节点的系统版本、容器运行时、资源量等,是否满足运行KubeEdge运行的基本要求。
  • keadm debug collect命令可以将边缘节点的系统信息、业务元数据、组件日志等信息打包,方便提交给运维专家进行调试分析。
  • keadm debug get命令可以获取边缘节点数据库中的指定数据,并提供了与kubectl get命令一致的用户体验。


基于Go语言实现的全新Modbus Mapper

KubeEdge v1.5版本中基于新的Mapper参考架构设计,用Go语言实现了全新的Modbus Mapper,相比以往版本的JavaScript实现,代码更简洁,更加方便用户集成或二次定制。


新版本Modbus Mapper地址:https://github.com/kubeedge/kubeedge/tree/master/mappers/modbus-go


KubeEdge v1.5版本发布:持续提升用户易用性_java

其他修改


新版本除了以上新特性外,还包括以下修改:

  • Kubernetes依赖升级到v1.19.3版本

  • Keadm支持在debian 系统上部署KubeEdge

  • CloudCore支持域名形式访问


KubeEdge v1.5版本发布:持续提升用户易用性_java

未来展望

随着v1.5版本的发布,KubeEdge提供了更完备的边缘应用监控管理、调试能力,更稳定可靠的云边协同传输机制,更加友好便捷的用户体验,以及更加友好的社区贡献体验。


未来KubeEdge还将通过插件的形式支持5G MEC、AI云边协同等场景。


社区的繁荣离不开贡献者的支持,感谢华为、中国移动、中国联通、谐云科技、浙江大学SEL实验室、浪潮、青云、Canonical、ARM、IBM等组织的贡献,也感谢每一位社区贡献者!