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/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 集成验证——云边数据面通信初试的更多相关文章
- 使用 Iceberg on Kubernetes 打造新一代云原生数据湖
背景 大数据发展至今,按照 Google 2003年发布的<The Google File System>第一篇论文算起,已走过17个年头.可惜的是 Google 当时并没有开源其技术,& ...
- 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络
英特尔 至强 平台集成 AI 加速构建数据中心智慧网络 SNA 通过 AI 方法来实时感知网络状态,基于网络数据分析来实现自动化部署和风险预测,从而让企业网络能更智能.更高效地为最终用户业务提供支撑. ...
- spring boot集成阿里云短信发送接收短信回复功能
1.集成阿里云通信发送短信: 在pom.xml文件里添加依赖 <!--阿里短信服务--> <dependency> <groupId>com.aliyun</ ...
- 阿里云智能数据构建与管理 Dataphin公测,助力企业数据中台建设
阿里云智能数据构建与管理 Dataphin (下简称“Dataphin”)近日重磅上线公共云,开启智能研发版本的公共云公测!在此之前,Dataphin以独立部署方式输出并服务线下客户,已助力多家大型客 ...
- django之集成阿里云通信(发送手机短信验证码)
python3 + django2.0 集成 "阿里云通信" 服务: (SDK文档地址:https://help.aliyun.com/document_detail/55491. ...
- 基于Apache Hudi在Google云构建数据湖平台
自从计算机出现以来,我们一直在尝试寻找计算机存储一些信息的方法,存储在计算机上的信息(也称为数据)有多种形式,数据变得如此重要,以至于信息现在已成为触手可及的商品.多年来数据以多种方式存储在计算机中, ...
- atitit.数据验证--db数据库数据验证约束
atitit.数据验证--db数据库数据验证约束 1. 为了加强账户数据金额的安全性,需要增加验证字段..1 2. 创建帐户1 3. 更改账户2 4. ---code3 5. --fini4 1. 为 ...
- Pycharm集成码云,图文手把手教学!
Pycharm集成码云 码云(http://gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管 可以通过码云保管你的代码,每次修改完代码提交,就是一个版 ...
- Fluid + GooseFS 助力云原生数据编排与加速快速落地
前言 Fluid 作为基于 Kubernetes 开发的面向云原生存算分离场景下的数据调度和编排加速框架,已于近期完成了 v0.6.0 版本的正式发布.腾讯云容器 TKE 团队一直致力于参与 Flui ...
随机推荐
- spring入门2-aop和集成测试
1.AOP开发 1.1.简述 作用:面向切面编程:在程序运行期间,在不修改源码的情况下对代码进行增强 优势:减少代码重复,提高开发效率,便于维护 底层:动态代理实现(jdk动态代理,cglib动态代理 ...
- win10系统安装jdk
应用程序形式 文件包形式 环境变量配置 https://www.cnblogs.com/gz9218/p/2ae083861f6749899b1b800faabe1c17.html
- Fabric SSH链接时关于找不到主机的问题
先上一段简单的fabric代码: from __future__ import with_statementfrom fabric.api import *env.user = 'zhangsan'e ...
- python3.7+flask+alipay 支付宝付款功能
文档参考github:https://github.com/fzlee/alipay/blob/master/docs/init.md 沙箱环境配置:https://opendocs.alipay.c ...
- docker run 参数
一.格式 docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 二.OPTIONS 参数 简写, 名称参数 默认参数 描述 --add-host 添加自定义主机到 ...
- AT4353-[ARC101D]Robots and Exits【LIS】
正题 题目链接:https://www.luogu.com.cn/problem/AT4353 题目大意 数轴上有\(n\)个球\(m\)个洞,每次可以将所有球左移或者右移,球到洞的位置会掉下去. 求 ...
- Java——this关键字总结
一.this关键字的使用 1.当同类型的对象a和b,调用相同的方法method()时,为了区分该方法是被a调用还是被b调用 如下代码中,: class Banana { void method(int ...
- Ysoserial Commons Collections2分析
Ysoserial Commons Collections2分析 About Commons Collections2 CC2与CC1不同在于CC2用的是Commons Collections4.0; ...
- Miller-Rabin and Pollard-Rho
实话实说,我自学(肝)了两天才学会这两个随机算法 记录: Miller-Rabin 她是一个素数判定的算法. 首先需要知道费马小定理 \[a^{p-1}\equiv1\pmod{p}\quad p\i ...
- Git学习笔记03-原理
在Git中,算上远程Git仓库有四个工作区域 Git本地有三个区域(工作区域.暂存区,资源区,远程Git仓库) 工作区域:就是你本机写好的代码,你可以看到的 暂存区:你写好的代码上传后被git管理的内 ...