北京时间11月16日,KubeEdge发布了新的特性版本v1.5.0,持续提升用户易用性。本次发布的1.5版本新特性包括:升级边缘设备Mapper参考架构、支持从云端通过Exec连接边缘Pod、支持边缘节点本地调试工具Keadm Debug、基于Go语言实现的全新Modbus Mapper、升级Kubernetes依赖到v1.19,并修复了23处问题。
升级边缘设备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在设计之初就提供了边缘自治的能力,即在边缘端将服务元数据持久化存储到数据库中,从而保障在边缘节点离线、离线重启情况下用户应用稳定运行不受影响。
- 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
其他修改
新版本除了以上新特性外,还包括以下修改:
Kubernetes依赖升级到v1.19.3版本
Keadm支持在debian 系统上部署KubeEdge
CloudCore支持域名形式访问
未来展望
随着v1.5版本的发布,KubeEdge提供了更完备的边缘应用监控管理、调试能力,更稳定可靠的云边协同传输机制,更加友好便捷的用户体验,以及更加友好的社区贡献体验。
未来KubeEdge还将通过插件的形式支持5G MEC、AI云边协同等场景。
社区的繁荣离不开贡献者的支持,感谢华为、中国移动、中国联通、谐云科技、浙江大学SEL实验室、浪潮、青云、Canonical、ARM、IBM等组织的贡献,也感谢每一位社区贡献者!