聚焦支持边缘弱网环境,博云开源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

相关文章

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.

Java进行文件格式校验的方案详解

《Java进行文件格式校验的方案详解》这篇文章主要为大家详细介绍了Java中进行文件格式校验的相关方案,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、背景异常现象原因排查用户的无心之过二、解决方案Magandroidic Number判断主流检测库对比Tika的使用区分zip

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

使用Python高效获取网络数据的操作指南

《使用Python高效获取网络数据的操作指南》网络爬虫是一种自动化程序,用于访问和提取网站上的数据,Python是进行网络爬虫开发的理想语言,拥有丰富的库和工具,使得编写和维护爬虫变得简单高效,本文将... 目录网络爬虫的基本概念常用库介绍安装库Requests和BeautifulSoup爬虫开发发送请求解

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir