您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
KubeEdge 组件概述
 
 
   次浏览      
2021-1-22
 
编辑推荐:
本文首先介绍KubeEdge 组件概述、特点、优势及架构等。
本文来自于程序员大本营,由火龙果软件Linda编辑推荐。

介绍

KubeEdge是一个开源系统,用于将本机容器化的应用程序编排功能扩展到Edge上的主机,

它基于kubernetes构建,并为网络,应用程序提供基本的基础架构支持。云和边缘之间的部署和元数据同步。

Kubeedge已获得Apache 2.0的许可。并且完全免费供个人或商业使用。我们欢迎贡献者!

我们的目标是建立一个开放平台,以支持Edge计算,将原生容器化应用程序编排功能扩展到Edge上的主机,该主机基于kubernetes,并为网络,

应用程序部署以及云与Edge之间的元数据同步提供基础架构支持。

特点

完全开放 - Edge Core和Cloud Core都是开源的。

离线模式 - 即使与云断开连接,Edge也可以运行。

基于Kubernetes - 节点,群集,应用程序和设备管理。

可扩展 - 容器化,微服务

资源优化 - 可以在资源不足的情况下运行。边缘云上资源的优化利用。

跨平台 - 无感知;可以在私有,公共和混合云中工作。

数据与分析 - 支持数据管理,数据分析管道引擎。

异构 - 可以支持x86,ARM。

简化开发 - 基于SDK的设备加成,应用程序部署等开发

易于维护 - 升级,回滚,监视,警报等

优势

边缘计算 - 通过在Edge上运行的业务逻辑,可以在生成数据的本地保护和处理大量数据。这减少了网络带宽需求以及边缘和云之间的消耗。这样可以提高响应速度,降低成本并保护客户的数据隐私。

简化开发 - 开发人员可以编写基于常规http或mqtt的应用程序,对其进行容器化,然后在Edge或Cloud中的任何位置运行它们中的更合适的一个。

Kubernetes原生支持 - 借助KubeEdge,用户可以在Edge节点上编排应用,管理设备并监视应用和设备状态,就像云中的传统Kubernetes集群一样

大量的应用 - 可以轻松地将现有的复杂机器学习,图像识别,事件处理和其他高级应用程序部署和部署到Edge。

架构

kubeedge分为两个可执行程序,cloudcore和edgecore,分别有以下模块

cloudcore:

CloudHub:云中的通信接口模块。

EdgeController:管理Edge节点。

devicecontroller 负责设备管理。

edgecore:

Edged:在边缘管理容器化的应用程序。

EdgeHub:Edge上的通信接口模块。

EventBus:使用MQTT处理内部边缘通信。

DeviceTwin:它是用于处理设备元数据的设备的软件镜像。

MetaManager:它管理边缘节点上的元数据。

edged

EdgeD是管理节点生命周期的边缘节点模块。它可以帮助用户在边缘节点上部署容器化的工作负载或应用程序。

这些工作负载可以执行任何操作,从简单的遥测数据操作到分析或ML推理等。使用kubectl云端的命令行界面,用户可以发出命令来启动工作负载。

Docker容器运行时当前受容器和镜像管理支持。将来应添加其他运行时支持,例如containerd等。

有许多模块协同工作以实现edged的功能。

pod管理

用于pod的添加删除修改,它还使用pod status manager和pleg跟踪pod的运行状况。其主要工作如下:

从metamanager接收和处理pod添加/删除/修改消息。

处理单独的工作队列以添加和删除容器。

处理工作程序例程以检查工作程序队列以执行pod操作。

分别为config map 和 secrets保留单独的的缓存。

定期清理孤立的pod

Pod生命周期事件生成器

CRI边缘化

secret管理

Probe Management

ConfigMap Management

Container GC

Image GC

Status Manager

卷管理

MetaClient

eventbus

Eventbus充当用于发送/接收有关mqtt主题的消息的接口

它支持三种模式:

internalMqttMode

externalMqttMode

bothMqttMode

metamanager

MetaManager是edged和edgehub之间的消息处理器。它还负责将元数据存储到轻量级数据库(SQLite)或从中检索元数据。

Metamanager根据以下列出的操作接收不同类型的消息:

Insert

Update

Delete

Query

Response

NodeConnection

MetaSync

Edgehub

Edge Hub负责与云中存在的CloudHub组件进行交互。它可以使用Web套接字连接或QUIC协议连接到CloudHub 。它支持同步云端资源更新,报告边缘端主机和设备状态更改等功能。

它充当边缘与云之间的通信链接。它将从云接收的消息转发到边缘的相应模块,反之亦然。

edgehub执行的主要功能是:

Keep Alive

Publish Client Info

Route to Cloud

Route to Edge

DeviceTwin

DeviceTwin模块负责存储设备状态,处理设备属性,处理设备孪生操作,在边缘设备和边缘节点之间创建成员资格,

将设备状态同步到云以及在边缘和云之间同步设备孪生信息。它还为应用程序提供查询接口。

DeviceTwin由四个子模块(即membership,communication,device和device twin)组成,以执行device twin模块的职责。

Edge Controller

EdgeController是Kubernetes Api服务器和Edgecore之间的桥梁

CloudHub

CloudHub是cloudcore的一个模块,是Controller和Edge端之间的中介。它同时支持基于Web套接字的连接以及QUIC协议访问。Edgehub可以选择一种协议来访问cloudhub。CloudHub的功能是启用边缘与控制器之间的通信。

Device Controller

通过k8s CRD来描述设备metadata/status ,devicecontroller在云和边缘之间同步,有两个goroutines: upstream controller/downstream controller

 

   
次浏览       
????

HTTP????
nginx??????
SD-WAN???
5G?????
 
????

??????????
IPv6???????
??????????
???????
????

????????
????????
???????????????
??????????
最新活动计划
Node+Vue3.0前端全栈开发 7-5 [特惠]
Spring Cloud微服务架构 7-5[特惠]
SysML和EA系统设计与建模 7-26[特惠]
Python、数据分析与机器学习 8-23[特惠]
嵌入式软件架构设计 8-22[线上]
Linux内核编程及设备驱动 7-25[北京]
 
最新文章
云原生架构概述
K8S高可用集群架构实现
容器云管理之K8S集群概述
k8s-整体概述和架构
十分钟学会用docker部署微服务
最新课程
云计算、微服务与分布式架构
企业私有云原理与构建
基于Kubernetes的DevOps实践
云平台架构与应用(阿里云)
Docker部署被测系统与自动化框架实践
更多...   
成功案例
北京 云平台与微服务架构设计
通用公司GE Docker原理与实践培训
某军工研究单位 MDA(模型驱动架构)
知名消费金融公司 领域驱动设计
深圳某汽车企业 模型驱动的分析设计
更多...