作者|浙江大学 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/openyurt/blob/master/docs/tutorial/manually-setup.md

Kubernetes 一键转换 OpenYurt:

https://github.com/openyurtio/openyurt/releases

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/fabedge/blob/main/docs/integrate-with-openyurt.md

FabEdge 验证测试

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

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

说明:在 Pod 访问 Service 时,将其 Endpoint 中的 Pod 分为 hostNetwork 类型和正常容器类型 Pod。

总结

  • 目前仅对跨公网的云边通信进行测试,功能基本满足需求。后续会根据实际业务需求再展开跨公网的边边测试。

  • FabEdge 对边缘环境中现存的容器网络方案(如 flannel,calico)进行接管,同时云端又需要部署完整的容器网络方案,对存量用户的升级可能带来影响。

这里,立即了解 OpenYurt 项目!

OpenYurt 与 FabEdge 集成验证——云边数据面通信初试的更多相关文章

  1. 使用 Iceberg on Kubernetes 打造新一代云原生数据湖

    背景 大数据发展至今,按照 Google 2003年发布的<The Google File System>第一篇论文算起,已走过17个年头.可惜的是 Google 当时并没有开源其技术,& ...

  2. 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络

    英特尔 至强 平台集成 AI 加速构建数据中心智慧网络 SNA 通过 AI 方法来实时感知网络状态,基于网络数据分析来实现自动化部署和风险预测,从而让企业网络能更智能.更高效地为最终用户业务提供支撑. ...

  3. spring boot集成阿里云短信发送接收短信回复功能

    1.集成阿里云通信发送短信: 在pom.xml文件里添加依赖 <!--阿里短信服务--> <dependency> <groupId>com.aliyun</ ...

  4. 阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设

    阿里云智能数据构建与管理 Dataphin (下简称“Dataphin”)近日重磅上线公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客 ...

  5. django之集成阿里云通信(发送手机短信验证码)

    python3 + django2.0 集成 "阿里云通信" 服务: (SDK文档地址:https://help.aliyun.com/document_detail/55491. ...

  6. 基于Apache Hudi在Google云构建数据湖平台

    自从计算机出现以来,我们一直在尝试寻找计算机存储一些信息的方法,存储在计算机上的信息(也称为数据)有多种形式,数据变得如此重要,以至于信息现在已成为触手可及的商品.多年来数据以多种方式存储在计算机中, ...

  7. atitit.数据验证--db数据库数据验证约束

    atitit.数据验证--db数据库数据验证约束 1. 为了加强账户数据金额的安全性,需要增加验证字段..1 2. 创建帐户1 3. 更改账户2 4. ---code3 5. --fini4 1. 为 ...

  8. Pycharm集成码云,图文手把手教学!

    Pycharm集成码云 码云(http://gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管 可以通过码云保管你的代码,每次修改完代码提交,就是一个版 ...

  9. Fluid + GooseFS 助力云原生数据编排与加速快速落地

    前言 Fluid 作为基于 Kubernetes 开发的面向云原生存算分离场景下的数据调度和编排加速框架,已于近期完成了 v0.6.0 版本的正式发布.腾讯云容器 TKE 团队一直致力于参与 Flui ...

随机推荐

  1. docker启动jenikns,提示 :This image is for research only, DO NOT USE

    下载的jenkins镜像有问题?

  2. 鸿蒙内核源码分析(特殊进程篇) | 龙生龙,凤生凤,老鼠生儿会打洞 | 百篇博客分析OpenHarmony源码 | v46.02

    百篇博客系列篇.本篇为: v46.xx 鸿蒙内核源码分析(特殊进程篇) | 龙生龙凤生凤老鼠生儿会打洞 | 51.c.h .o 进程管理相关篇为: v02.xx 鸿蒙内核源码分析(进程管理篇) | 谁 ...

  3. P4198-楼房重建【线段树】

    正题 题目链接:https://www.luogu.com.cn/problem/P4198 题目大意 \(n\)条线,开始时第\(i\)条是\((i,0)\)的一个点. 每次有操作把第\(x\)条线 ...

  4. ❤️❤️新生代农民工爆肝8万字,整理Python编程从入门到实践(建议收藏)已码:8万字❤️❤️

    @ 目录 开发环境搭建 安装 Python 验证是否安装成功 安装Pycharm 配置pycharm 编码规范 基本语法规则 保留字 单行注释 多行注释 行与缩进 多行语句 数据类型 空行 等待用户输 ...

  5. AOJ/高等排序习题集

    ALDS1_5_B-MergeSort. Description: Write a program of a Merge Sort algorithm implemented by the follo ...

  6. CF850E Random Elections 题解

    题目传送门 题目大意 没法描述,过于繁杂. 思路 果然自己是个菜鸡,只能靠读题解读题,难受极了,其实不是很难自己应该做得出来的....哎.... 不难发现可以统计 \(A\) 获胜的情况乘上 \(3\ ...

  7. HTML5元素背景知识

    目录 HTML5元素背景知识 语义与呈现分离 元素选用原则 少亦可为多 别误用元素 具体为佳,一以贯之 对用户不要想当然 元素说明体例 ol元素 元素速览 文档和元数据元素 文档和元数据元素 文本元素 ...

  8. verilog specify

    specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由sp ...

  9. TStor-OneCOS ,主打专一海量对象场景

    ​谁能与你厮守终身 生活在21世纪,最常见的事莫过于更新换代了,找一款能长久适用的产品,是很多人都希望拥有的,特别是针对于云服务产品,而对象·混合云存储新增 TStor-OneCOS 就是这样一款可以 ...

  10. OO第三单元JML总结

    目录 目录一.JML语言的理论基础二.应用工具链三.部署SMT Solver四.部署JMLUnitNG/JMLUnit五.三次作业分析第一次作业第二次作业第三次作业六.总结与心得体会 一.JML语言的 ...