您的位置:  首页 > 技术杂谈 > 正文

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

2022-10-21 00:00 https://my.oschina.net/u/3874284/blog/5585496 阿里云云原生 次阅读 条评论

作者:

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

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

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

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

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

1.jpeg

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 有任何疑问,欢迎使用钉钉扫描二维码加入钉钉交流群。

2.jpeg

相关链接

[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
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接