作者|浙江大学 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. Charles安装https证书

    Charles抓取https的包,出现unknow,需要安装https证书.

  2. cannot connect to chrome at 127.0.0.1:9222

    window10系统,先cmd打开chrome, chrome --remote-debugging-port=9222 执行脚本 from selenium import webdriver fro ...

  3. centos7安装部署SVN

      SVN介绍 SVN是个自由.开源的版本控制系统,绝大多数开源软件都使用SVN作为代码版本管理软件. SVN的官方网站http://subversion.apache.org/.目前SVN在开源社区 ...

  4. Appium 自动化测试改造思路

    流水账脚本 从头到尾编写测试脚本 PO封装 业务行为与操作具体页面元素分离 basepage封装 如封装find方法,目的时增强稳定性 数据驱动封装 将常用的数据改为配置文件 为构建测试平台打基础

  5. 使用form插件 和ajax 结合使用 没有调用success的原因

    当我做文件上传的时候出现不调用success方法  将datype: 'json' 注释掉后成功响应 浏览器显示200状态码,并且响应头为json格式,格式ajax不认为它是json,所以一直执行错误 ...

  6. html jquery操作

    $(document).on('事件','元素',function(参数){ // 函数体 }) 元素获取方式:https://www.cnblogs.com/lixiuran/p/5316727.h ...

  7. centos7 .net core 使用supervisor守护进程后台运行

    安装supervisor yum install supervisor 配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/superviso ...

  8. P7736-[NOI2021]路径交点【LGV引理】

    正题 题目链接:https://www.luogu.com.cn/problem/P7736 题目大意 有\(k\)层的图,第\(i\)层有\(n_i\)个点,每层的点从上到下排列,层从左到右排列.再 ...

  9. P7600-[APIO2021]封闭道路【堆,dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P7600 题目大意 给出\(n\)个点的一棵树,边有边权,对于每个\(k\)求去掉最小边权和的点使得每个点的度数都不 ...

  10. 《集体智慧编程学习笔记》——Chapter2:提供推荐

    知识点: 1. 协作型过滤--Collaboraive Filtering 通常的做法是对一群人进行搜索,并从中找出与我们品味相近的一小群人,算法会对这些人的偏好进行考察,并将它们组合起来构造出一个经 ...