聚焦支持边缘弱网环境,博云开源FabEdge边缘网络方案

2023-11-27 22:50

本文主要是介绍聚焦支持边缘弱网环境,博云开源FabEdge边缘网络方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2021 年 8 月 2 日,博云正式开源 FabEdge 边缘网络方案。FabEdge 是一款基于 kubernetes 和 kubeedge 构建的开源网络方案,解决边缘计算场景下,容器网络配置管理复杂、网络割裂互不通信、缺少服务发现、缺少拓扑感知能力、无法提供就近访问等难题。

并且,Fabedge 支持弱网环境,如4/5G,WiFi,LoRa 等;支持边缘节点动态 IP 地址,适用于物联网,车联网等场景。

目前,FabEdge 项目代码已在Github上开源,项目地址为:https://github.com/FabEdge/fabedge。项目使用 Apache 2.0 协议,欢迎更多技术开发者和爱好者前去试用和使用。

01

Features 五大特性

• Kubernetes 原生支持:完全兼容的 Kubernetes API ,无需额外开发,依赖较少的通用开源组件,即插即用。

• 边缘容器网络管理:为边缘节点实现网络地址段管理,以及边缘容器网络地址分配。

• 边云协同/边边协同:通过隧道技术打通边缘容器与云端容器,以及边缘节点间容器的相互安全通信,实现边云协同和边边协同。

• 边缘 “ 社区 ”:使用“社区” CRD 自定义资源控制哪些边缘节点可以互相通讯。

• 就近访问:优先使用本地服务,其次使用云端服务。

02

Advantages 三大优势

  • 标准 —— 完全兼容 k8s api, 即插即用支持任何标准 k8s 集群;

  • 安全 —— 所有通讯使用基于证书的 IPSEC 隧道;

  • 易用 —— 使用 Operator 机制,最少化的人工运维代价。

03

How it works?

云端是标准 Kubernete 集群,可以使用任何 CNI 网络插件,比如 Calico。在集群里运行 KubeEdge 云端组件 cloudcore,在边缘节点运行 KubeEdge 边缘组件 edgecore ,边缘节点注册到云端集群,

Fabedge有三个组件组成,分别是:Operator、 Connector 和 Agent。

Operator 运行在云端集群,监控节点,服务等资源变化,动态为边缘节点维护configmap ,同时为每个边缘节点生成 Agent ;Connector 运行在云端,负责云端网络配置管理,并在云端和边缘节点转发流量;而 Agent 消费 configmap 信息,动态维护本节点隧道、路由、iptables 等网络配置。

FabEdge 架构图

FabEdge利用两个通道实现云边数据交换,一个是kubeedge管理的websock/quic 通道,用于控制信令;另一个是 FabEdge 自身管理的加密隧道,用于应用之间的数据传输。

Operator 在云端监听 node、service、endpoint 等 k8s 资源,为每个边缘节点生成一个 configmap,包含本节点的子网、隧道、负载均衡等相关配置信息。同时 operator 负责为每个边缘节点生成相应的 pod,用于启动本节点上的agent。

Connector 负责终结到边缘节点加密隧道,在云和边缘节点进行流量转发。它依赖云端CNI插件将流量转发到 connector 以外的节点,目前支持的云端 CNI 插件是 callico 。

边缘节点使用社区 CNI 插件 bridge 和 host-local,是使用社区 node-local-dns 地址解析功能,负责本节点的域名解析和缓存。

每个边缘节点运行一个 agent ,消费本节点对应 configmap,包括以下功能:

  • 管理本节点 CNI 插件的配置文件

  • 管理本节点安全隧道

  • 管理本节点的负载均衡信息,会优先使用本地服务后端,其次是用云端后端

04

FabEdge vs Calico/Flannel

Fabedge 不同与 Calico,Flannel 等标准 Kubernetes 网络插件。这些插件主要应用在数据中心,解决 kubernetes 集群内部网络问题,而 Fabedge 解决的是边缘计算场景下,使用 Kubeedge 将边缘节点接入云端 Kubernetes 集群后,不同边缘节点上 POD 之间, 边缘节点 POD 和云端 POD 之间如何通讯的问题。目前 Fabedge 支持无缝集成云端 Calico 插件,以后会扩展到其它插件。

关注“博云”公众号加入FabEdge微信交流群

这篇关于聚焦支持边缘弱网环境,博云开源FabEdge边缘网络方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/428601

相关文章

Java Response返回值的最佳处理方案

《JavaResponse返回值的最佳处理方案》在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件,本篇文章将详细解析Java中处理... 目录摘要概述核心问题:关键技术点:源码解析示例 1:使用HttpURLConnection获取Resp

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

SpringBoot首笔交易慢问题排查与优化方案

《SpringBoot首笔交易慢问题排查与优化方案》在我们的微服务项目中,遇到这样的问题:应用启动后,第一笔交易响应耗时高达4、5秒,而后续请求均能在毫秒级完成,这不仅触发监控告警,也极大影响了用户体... 目录问题背景排查步骤1. 日志分析2. 性能工具定位优化方案:提前预热各种资源1. Flowable

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.