乐趣区

关于云原生:OpenYurt-与-FabEdge-集成验证云边数据面通信初试

作者|浙江大学 SEL 实验室:晋晨、博云:耿浩涛
审核 & 校对:海珠
编辑 & 排版:雯燕

背景

在近几年的产业环境下,传统云计算能力已无奈撑持起规模日趋宏大且异地扩散的数据处理与计算需要,基于此,边缘计算应势而起。尤其是在 5G、物联网等新技术的继续推动下,边缘计算产业未然走向大风口。只管目前边缘计算倒退曾经进入实际阶段,但依然存在一些问题,尤其是网络成为边缘计算落地的一个痛点。这是因为边缘网络和数据中心网络有实质的不同:

  • 边缘环境个别是弱网环境,应用 5G,WiFi 等无线连接,延时大,丢包率高,不稳固。
  • 边缘节点个别没有固定的公网地址,只能发动连贯,不能接管连贯。
  • 边缘网络个别会应用的 Internet,它自身是一个不平安的网络。

OpenYurt 是业界首个非侵入的边缘计算云原生开源我的项目,架构中的 Yurt-Tunnel 次要解决管制面的运维监控流量的云边通信。然而,OpenYurt 不筹备自行解决跨公网的云边,边边的数据面通信的问题,心愿能够和开源社区云原生网络相干的成熟解决方案单干(比方 FabEdge 社区),独特推动边缘计算云原生生态建设。

FabEdge 是一个专门针对边缘计算场景设计的,基于 Kubernetes 的容器网络计划,它合乎 CNI 标准,能够无缝集成任何 Kubernetes 环境,解决边缘计算场景下云边协同,边边协同等跨地区通信的难题。

背景介绍 OpenYurt 与 FabEdge 集成

1)OpenYurt 搭建筹备

阿里云 ECS 服务节点

两个云端节点(master,cloud-node,操作系统:CentOS Linux release 7.9.2009 (Core)),处于同一个内网中,在云端部署 Flannel(v0.14.0) 网络插件。OpenYurt 集群组件:Yurt-Tunnel-Server,Yurt-Controllor-Manager。

两个边缘节点(edge-node1,edge-node2,操作系统同上)。OpenYurt 集群组件:Yurt-Tunnel-Agent,Yurt-Hub。

2)OpenYurt 与 FabEdge 集成部署

OpenYurt(v0.5.0) 部署参考:

OpenYurt 手动部署:
https://github.com/openyurtio…

Kubernetes 一键转换 OpenYurt:
https://github.com/openyurtio…

OpenYurt 部署注意事项:

  • 在部署 Yurt-Tunnel-Server 时,因为 Tunnel-Server 证书认证的 IP 默认为私网 IP,因而须要将 tunnel-server 中的 args 退出参数 –cert-ips=tunnel-server,即 tunnel-server 所在节点的公网 IP;
  • 雷同的,在部署 Yurt-Tunnel-Agent 时,因为 Tunnel-Agent 须要和 Tunnel-Server 建设连贯,因而须要在 Tunnel-Agent 中 args 退出参数 –tunnelserver-addr,即 Tunnel-Server 所在节点的公网 IP 加上裸露的端口。

FabEdge 与 OpenYurt 集成参考:
https://github.com/FabEdge/fa…

FabEdge 验证测试

集成环境总体分为两种状况:云端 Pod 拜访边缘 Pod 以及边缘 Service,边缘 Pod 拜访云端 Pod 以及 Service。

同时,咱们思考到 hostNetwork 网络类型 Pod 对集群环境有着很大的依赖,故将 Pod 分为 hostNetwork 类型以及失常容器网络类型两种场景。

阐明:在 Pod 拜访 Service 时,将其 Endpoint 中的 Pod 分为 hostNetwork 类型和失常容器类型 Pod。

总结

  • 目前仅对跨公网的云边通信进行测试,性能根本满足需要。后续会依据理论业务需要再开展跨公网的边边测试。
  • FabEdge 对边缘环境中现存的容器网络计划 (如 flannel,calico) 进行接管,同时云端又须要部署残缺的容器网络计划,对存量用户的降级可能带来影响。

戳这里,立刻理解 OpenYurt 我的项目!

退出移动版