初识kubeedge

边缘计算

边缘计算(Edge computing)是一种在物理上靠近数据源头的网络边缘侧来融合网络、计算、存储、应用核心能力的开放平台。为终端用户提供实时、动态和智能的服务计算,边缘计算会将计算推向更接近用户的实际现场,这与需要在云端进行计算的传统云计算有着本质的区别,而这些区别主要表现在带宽负载、资源浪费、安全隐私保护以及异构多源数据处理上。

边缘计算也是一种分布式计算,这种分布好处是:大部分重复的,低级的操作,都在边缘来完成,是减轻了中心的功耗,而让中心只处理一些核心的数据。

随着5G,万物互联时代的到来,整个网络设备接入的数量,以及靠近设备端产生的数据会爆发式增长。这就遇到一个问题,如果所有数据处理都放到集中式数据中心,带宽,实时性,能耗,隐私等等都会面临很大的挑战。但采用边缘计算,就可以就近处理海量数据,大量设备可以实现高效协同工作,诸多问题迎刃而解。

架构及各组件功能

**KubeEdge主打三个核心理念,首先是云边协同,**边是云的延伸,用户的边可能位于私有网络,因此需要穿透私有网络,通过云来管理私有节点,KubeEdge默认采用WebSocket+消息封装来实现,这样只要边缘网络能访问外网情况下,就能实现双向通信,这就不需要边端需要一个公网的IP。同时呢,KubeEdge也优化了原生Kubernetes中不必要的一些请求,能够大幅减少通信压力,高时延状态下仍可以工作。
**KubeEdge第二个核心理念是,做到节点级的元数据的持久化,**比如Pod,ConfigMap等基础元数据,按照每个节点持久化在他的设备上,边缘的节点离线之后,它仍可以通过本地持久化的元数据来管理这些应用。熟悉Kubernetes的同学应该知道,当kubelet重启后, 它首先要向Master做一次list watch获取全量的数据,然后再进行应用管理工作,如果这时候边和云端的网络断开,是无法获得全量的基础元数据,也不能进行故障恢复。KubeEdge做了元数据的持久化后,可以直接从本地获得这些元数据,保障故障恢复的能力,保证服务的快速ready。
另外一个理念是极致的轻量化:在大多数边缘计算场景下,节点的资源是非常有限的,KubeEdge采用的方式是重组kubelet组件,移除了内置了面向于云厂商的驱动,通过CSI介入,去掉了static Pod,同时支持CRI,支持多种container runtime。在空载时候,内存占用率很低。

架构

初识kubeedge_第1张图片
kubeedge分为两个可执行程序,cloudcore和edgecore,分别有以下模块
cloudcore:
  CloudHub:云中的通信接口模块。
  EdgeController:管理Edge节点。
  devicecontroller 负责设备管理。
edgecore:
  Edged:在边缘管理容器化的应用程序。
  EdgeHub:Edge上的通信接口模块。
  EventBus:使用MQTT处理内部边缘通信。
  DeviceTwin:它是用于处理设备元数据的设备的软件镜像。
  MetaManager:它管理边缘节点上的元数据。

优势

  边缘计算 - 通过在Edge上运行的业务逻辑,可以在生成数据的本地保护和处理大量数据。这减少了网络带宽需求以及边缘和云之间的消耗。这样可以提高响应速度,降低成本并保护客户的数据隐私。
  简化开发 - 开发人员可以编写基于常规http或mqtt的应用程序,对其进行容器化,然后在Edge或Cloud中的任何位置运行它们中的更合适的一个。
  Kubernetes原生支持 - 借助KubeEdge,用户可以在Edge节点上编排应用,管理设备并监视应用和设备状态,就像云中的传统Kubernetes集群一样
  大量的应用 - 可以轻松地将现有的复杂机器学习,图像识别,事件处理和其他高级应用程序部署和部署到Edge

你可能感兴趣的:(笔记,边缘计算,edge)