0
点赞
收藏
分享

微信扫一扫

OpenYurt v1.0 正式发布!一文了解三大社区 SIG 重点更新

作者:

何淋波(新胜),阿里云技术专家

陈锦赐(敬易),阿里云开发工程师

熊峰(籁鸣),阿里云技术专家


OpenYurt 定位为云边协同的云原生边缘基础设施,经过 2 年多的发展,社区在云边协同治理,边缘自治,边缘网络与存储,以及 IoT 等方向已经孵化超过 20+子项目,为更好的提升社区协同效率和完善社区治理,OpenYurt 社区成立了 3 个 SIG:ControlPlane, DataPlane, IoT 来统筹管理社区所有项目,同时社区会议也由双周会调整为周会。经过 OpenYurt 社区各个 SIG 的一齐努力,OpenYurt v1.0 版本于北京时间 9 月 9 号正式发布。


v1.0 版本重点关注代码品质提升,降低 OpenYurt 的入门门槛,以及核心组件的性能测试,同时统一 API 的自动化治理。


OpenYurt v1.0 正式发布!一文了解三大社区 SIG 重点更新_性能测试


SIG ControlPlane


重点更新


  • API 治理:NodePool 资源版本升级到`v1beta1`,同时 OpenYurt 所有 API 管理迁移到 openyurtio/api[1],建议用户通过引用这个项目来使用 OpenYurt 的资源 API
      
  • 完善测试覆盖率:使用 CodeCov[2]来跟踪各个项目的 unit test 覆盖率。目前 ControlPlane 各个项目的测试覆盖率基本达到 50%。同时完善了 yurt-app-manager 项目的 E2E 和 Fuzz 测试  


  • 性能测试:重点关注 Yurthub 组件的性能和云边断网状态下节点重启时 Pod 恢复效率,相关测试报告可以参考:Yurthub 性能测试报告[3],节点重启时 Pod 恢复效率测试[4] 


  • OpenYurt 安装部署优化: 移除了早期的 K8s 和 OpenYurt 相互转换工具,同时 OpenYurt 安装优化为: OpenYurt Control-Plane 组件安装[5],边缘节点接入[6]


详细更新可以参考:​​https://github.com/orgs/openyurtio/projects/6​​


未来规划


SIG ControlPlane 仍将继续提升云边协同场景下的治理能力,目前规划的能力包括:


  • 支持节点池为入口的运维监控能力,确保云边网络断连状态下,仍可对节点池内资源进行运维监控操作 #775[7] 
  • 支持节点池维度的 Pod 驱逐管理策略,确保边缘业务的可用性 #779[8] 
  • 支持云边流量复用能力,大幅降低云边通信的管控流量,以及减少 95%+的list/watch 请求 #778[9] 
  • 探索边缘业务的新型升级模型,如 DaemonSet 工作负载的 OTA 升级和 Auto 升级 #914[10] 
  • 基于 kubeadm 重构 yurtadm join command #889[11] 
  • 优化服务流量拓扑能力,解决 Service 和 NodePool 变化时引发的流量拓扑的更新问题 #871[12] 
  • 优化基于流水线打包 OpenYurt 集群镜像(基于 sealer) #942[13]


详细规划可以参考:​​https://github.com/orgs/openyurtio/projects/7/views/1​​


SIG DataPlane


重点更新


  • raven 支持 WireGuard 作为 VPN 后端;相比于 IPSec 作为 VPN 后端有更好的性能
  • raven 支持 Calico,适配 Calico 对于单节点多容器网络网段的特性 
  • raven 支持网络链路最小 MTU 的探测 
  • 完善测试覆盖率: 使用 CodeCov 来跟踪 raven 和 raven-controller-manager 的 unit test 覆盖率,目前 DataPlane 各个项目中测试覆盖率都有效提升,其中 raven 项目的测试覆盖率已经达到 60%以上


详细更新可以参考: ​​https://github.com/orgs/openyurtio/projects/8​​


未来规划


SIG DataPlane 仍将继续提升云边协同场景下的网络能力,目前规划的能力包括:


  • raven 支持 SLB 作为公网暴露方式,当前仅支持云端 eip 或公网 ip 的方式打通边-边、云边网络 #22[14] 
  • raven 支持 NAT 穿越,使得边端的网络能够不借助于云端的转发,达到互相打通的效果 #45[15] 
  • raven 支持接管 yurt-tunnel 的能力,将 OpenYurt 的网络组件统一收口到 raven 项目 #40[16]#41[17]


详细规划可以参考:​​https://github.com/orgs/openyurtio/projects/8​​


SIG IoT


重点更新


1. yurt-edgex-manager


  • Helm Chart 支持。#17[18]
  • 支持 1.22 及以上版本 Kubernetes。#21[19]
  • 针对 EdgeX CRD 新增 Webhook 支持。#22
  • 优化 EdgeX 微服务的 Service 类型及网络监听方式,避免端口冲突,提升开发测试易用性。#29[20]#37[21] 


2. yurt-device-controller


  • 支持指定 device、deviceprofile、deviceservice 资源双向同步名称,解决自动通过过程中重复创建资源问题。#50[22] 
  • 升级 Kube-Builder 版本,调整 Project Layout为Multi-Group,便于后续 Device 相关 API 的 ClientSet 生成。调整 DeviceProfile CRD DeviceResource.Attributes 数据类型,修复支持 2.x 版本 EdgeX 后,make generate 失败问题。#43[23] 
  • Helm Chart 支持。#57[24] 


3. 完善测试覆盖


使用 CodeCov 来跟踪各个项目的 unit test 覆盖率。通过增加单元测试,E2E 测试,持续提升 IoT SIG 中各个项目的测试覆盖率,其中,yurt-device-controller 测试覆盖率提升至 45%。


未来规划(SIG IoT v0.3)


  • yurt-edgex-manager 调整为 yurt-iot-manager,提供自动化支持 EdgeX 新 release 版本的能力;统一 IoT SIG 中所有组件的部署,提供更加便捷的安装部署方式;支持组件定制化部署。
  • OpenYurt 设备管理 Benchmark。 
  • 基于 OpenYurt+EdgeX+OpenVINO 的摄像头管理及适配识别 End-to-End 参考架构及实现。


详细规划可以参考:

​​https://github.com/orgs/openyurtio/projects/2/views/1​​


如果您对于 OpenYurt 有任何疑问,欢迎使用钉钉扫描二维码加入钉钉交流群。


OpenYurt v1.0 正式发布!一文了解三大社区 SIG 重点更新_测试覆盖_02


相关链接


[1] openyurtio/api

​​https://github.com/openyurtio/api​​


[2] CodeCov

​​https://about.codecov.io/​​


[3] Yurthub性能测试报告

​​https://openyurt.io/docs/test-report/yurthub-performance-test​​


[4] 节点重启时Pod恢复效率测试

​​https://openyurt.io/docs/test-report/pod-recover-efficiency-test​​


[5] OpenYurt Control-Plane组件安装

​​https://openyurt.io/docs/installation/summary​​


[6] 边缘节点接入

​​https://openyurt.io/docs/installation/yurtadm-join​​


[7] #775

​​https://github.com/openyurtio/openyurt/issues/775​​


[8] #779

​​https://github.com/openyurtio/openyurt/issues/779​​


[9] #778

​​https://github.com/openyurtio/openyurt/issues/778​​


[10] #914

​​https://github.com/openyurtio/openyurt/issues/914​​


[11] #889

​​https://github.com/openyurtio/openyurt/issues/889​​


[12] #871

​​https://github.com/openyurtio/openyurt/issues/871​​


[13] #942

​​https://github.com/openyurtio/openyurt/issues/942​​


[14] #22

​​https://github.com/openyurtio/raven/issues/22​​


[15] #45

​​https://github.com/openyurtio/raven/issues/45​​


[16] #40

​​https://github.com/openyurtio/raven/issues/40​​


[17] #41

​​https://github.com/openyurtio/raven/issues/41​​


[18] #17

​​https://github.com/openyurtio/yurt-edgex-manager/pull/17​​


[19] #21

​​https://github.com/openyurtio/yurt-edgex-manager/issues/21​​


[20] #29

​​https://github.com/openyurtio/yurt-edgex-manager/pull/29​​


[21] #37

​​https://github.com/openyurtio/yurt-edgex-manager/pull/37​​


[22] #50

​​https://github.com/openyurtio/yurt-device-controller/pull/50​​


[23] #43

​​https://github.com/openyurtio/yurt-device-controller/pull/43​​


[24] #57

​​https://github.com/openyurtio/yurt-device-controller/pull/57​​


点击​​此处​​,立即了解 OpenYurt 项目!

举报

相关推荐

0 条评论