随着制造业、石油、天然气、能源以及交通等行业加速数字化转型,数据容量呈现持续增长的趋势。然而,这种边缘数据爆炸需要得到有效的管理。在面对系统复杂性、数据隐私、延迟问题、有限的带宽连接,以及不断上升的存储和处理数据成本等众多挑战时,边缘计算应运而生。
边缘计算的核心理念是将计算资源尽可能地靠近数据源,减少设备与远程服务器之间的长距离连接,从而改善数据的处理、处理和传输方式。尤其是在制造业、石油和天然气、能源以及交通等大型行业中,工业边缘计算已经开始广泛应用,以实时分析和管理资产端的所有数据。通过实时分析或将聚合的数据用于进一步的云端处理,工业边缘计算能够提供实时的数据分析和更高效的数据处理。
边缘计算关键要素
边缘计算相关的的设备,如智能手机、智能手表和电器等,首先通过安全通信与物联网平台进行交互。这些平台收集和分析来自各种设备的数据,并通过应用程序将最有价值的数据发送回设备。
一些支持重要通信技术(如 Wi-Fi、NarrowBand-IoT(NB-IoT)和 Sigfox)以及诸如消息队列遥测传输(MQTT)、约束应用协议(CoAP)和超文本传输安全协议(HTTPS)等协议的物联网边缘设备可以直接连接到物联网平台。然而,并非所有设备都具备这些通信能力,因此需要一个抽象层来进行转换,提供多个协议和通信技术之间的桥梁,以实现数据的流动。
这个抽象层的作用是通过提供适应不同协议和通信技术的技术和流程来进行数据的中介转换。它充当了一个桥梁,使得不同类型的设备能够与物联网平台进行通信,无论它们使用的是哪种通信技术或协议。这样一来,物联网平台就能够充分发挥作用,连接和整合各种类型的设备,实现数据的流动和交互。
一个典型的物联网平台的架构如下图所示:
下面是对架构的每个层次的详细解析:
基础设施层(infrastructure):该层包含了使整个平台正常运行所需的组件。在这里,你会找到各种计算/存储/网络解决方案、容器管理选项、数据湖、内部平台消息传递以及监控和存储解决方案。
集成层(integration):该层主要负责接收来自连接的边缘设备的数据,进行分析,并将其分发给业务应用程序,同时管理设备。在这一层中,数据会经过预处理、聚合和转换,以满足后续应用的需求。此外,集成层还负责处理设备注册、控制和管理等功能。
安全层(security):该层负责确保数据的有效性、安全性和隐私性,通过实施数据安全和权限原则以及采取补救控制和行动来进行监督。这包括对数据进行加密、身份验证、访问控制、漏洞管理等安全措施,以保护数据免受潜在的威胁。
应用层(application):该层包含使用集成层的基本物联网功能来实现业务目标的应用程序。这是承载复杂数据分析、条件监测、改装/配置和预测性维护等应用程序的地方。应用层的主要任务是根据业务需求开发和部署各种应用程序,以提供特定的功能和洞察力。
物联网与边缘计算的关系
物联网受益于处理能力更接近于物理设备或数据源。为了能够更快地对物联网传感器和设备收集的数据进行分析并做出反应,必须在边缘进行分析,而不是将数据传输回中央站点。
通过为物联网设备的数据和计算需求提供本地的处理和存储资源,边缘计算减少了物联网设备与连接的中央信息技术(IT)网络之间的通信延迟。
如果没有边缘计算,物联网将依赖于云端或数据中心的连接和计算服务。在物联网设备与云端之间来回传输数据可能会降低响应时间并降低操作效率。
在云计算模型下,计算资源和服务通常集中在大型数据中心。云端经常提供连接物联网设备与互联网所需的网络基础设施。边缘设备需要网络访问,以提供设备与中央数据库之间的双向通信。云端通常用于提供网络连接。例如,边缘设备通过云端将数据传输到数据中心,或边缘设备将其决策记录传输回数据中心进行数据存储、处理或大数据分析,这些都是云端的通信能力的示例。
下图是工厂制作车间与边缘云交互架构:
边缘计算的关键技术与架构
Microk8s:
MicroK8s 是一个功能强大、轻量级和可靠的适用于生产环境的 Kubernetes 发行版。它专为企业提供,具有较小的内存和磁盘占用,并具有一些关键特点如下:
下方是 Google 云 Anthos 与 MicroK3s 架构图:
K3s
K3s 是一个轻量级的 Kubernetes 发行版,专为在资源受限的环境中部署和运行的场景而设计。它是 Kubernetes 的简化版本,旨在提供更小、更快速和更易于管理的解决方案。
下方是其架构图:
KubeEdge:
KubeEdge 是一个开源的边缘计算平台,旨在扩展 Kubernetes 的能力到边缘设备和边缘节点。它提供了一个统一的管理平台,用于部署、运行和管理容器化应用程序和服务,使得边缘设备能够高效地进行计算、存储和数据处理。
下方是其架构图:
OpenYurt
OpenYurt 是业界首个非侵入的边缘计算云原生平台开源项目。主推“Kubernetes 零修改”,“云边端一体化”等设计理念,提供诸如边缘自治、 跨网络域的云边流量治理、大规模边缘业务管理、边缘设备的云原生管理,异构资源支持等能力。OpenYurt 旨在帮助用户解决在海量边、 端资源上完成大规模应用交付、运维、管控的问题,同时为用户提供与云上 Kubernetes 集群一致的使用体验。
下方是其架构图:
边缘计算中设备如何受益
可扩展性:对于许多物联网解决方案来说,可扩展性是主要关注点。边缘计算基础设施需要能够独立水平或垂直扩展,以支持额外的设备和实时处理大量数据。与传统的虚拟机相比,容器生成速度更快,因为它们更轻量化。
高可用性:对于物联网解决方案来说,边缘设备必须始终可用和可信。由于每个容器都有自己的 IP 地址,很容易在它们之间分配负载,并在容器停止运行时重新启动应用程序。
资源有效利用:由于其有效的资源管理,Kubernetes 降低了托管物联网应用的成本。MicroK8s、K3s 等是经过精简优化的 Kubernetes 版本,它们在托管的虚拟机、裸金属实例或云上提供了一个抽象层。管理员可以专注于将应用服务部署在尽可能多的基础设施上,从而降低运行物联网应用的总体成本。
部署到边缘:在不中断服务的情况下将软件更新部署到边缘设备是物联网的重要挑战。通过 Kubernetes 可以运行逐步推出服务更新的微服务。在 Kubernetes 安装中,通常使用滚动更新策略来推出 Pod 版本的更新。通过在更新进行期间保留某些实例运行(例如 Pod Disruption Budgets),可以实现零服务停机时间。只有在新部署版本的可用且准备好替换它们的 Pod 已启用时,旧的 Pod 才会被删除。因此,可以通过单个命令实现应用的水平或向上扩展。
支持 IoT 的 DevOps:为了满足消费者需求,物联网解决方案必须平滑地进行更新,而无需用户停机时间。借助可用于 Kubernetes 的 CI/CD 工具,开发团队可以有效验证、推出和部署对 IoT 服务的更改。
边缘计算架构及场景
接下来主要是演示使用 K3 作为下一个边缘计算的主要平台的架构图。
1. 边缘集群和公有云
架构分析
云层(Cloud Layer):这一层位于公有云和云服务提供商中。云服务提供商可以提供基于 Intel 或 ARM 处理器的实例。一般来说,这一层为远端和微小边缘层提供存储或数据处理支持。
近端边缘(Near Edge):在这一层中,您可以找到用于在云层和远端层之间传输所有数据的网络设备。通常包括电信设备、5G 网络等。
远端边缘(Far Edge):在这一层中,您可以找到 K3s 集群、类似 KubeEdge 的轻量级集群以及 Docker 或 containerd 等软件。一般来说,这是您的本地处理层。
微小边缘(Tiny Edge):这是远端边缘内的一个层次,在这里您可以找到智能手表、物联网设备等边缘设备,它们将数据发送到远端边缘。
简而言之,这种配置方式通过公有云或私有云与边缘层共享和处理数据。云层位于公有云和云服务提供商之间,支持远端和微小边缘层的存储或数据处理。近端边缘层包括用于数据传输的网络设备。远端边缘层包括 K3s 集群、轻量级集群和容器化软件,用于本地数据处理。微小边缘层是远端边缘内的一个层次,包括智能手表、物联网设备等边缘设备,它们将数据发送到远端边缘进行处理。
适用场景
在互联网或私有云中必须共享数据的不同系统之间的情景。
在云端和边缘之间分配数据处理的场景,例如机器学习模型的生成或预测。
需要扩展物联网应用程序,并且应用程序的响应时间至关重要的场景。
希望使用数据分布和加密的聚合策略来保护数据的场景。
2. 区域集群和公有云
架构分析
此配置的重点是在不同区域之间分布处理策略,并在公共云之间共享数据。让我们来解释一下不同的层次:
云层(Cloud Layer):这一层包含了像数据库这样的托管服务,用于在不同地区分布数据。
近端边缘(Near Edge):在这一层中,您可以找到网络设备,用于在云层和远端层之间传输所有数据。通常包括电信设备、5G 网络等。
远端边缘(Far Edge):在这一层中,您可以找到跨不同地区的 K3s 集群。这些集群或节点可以共享或更新存储在公有云中的数据。
微小边缘(Tiny Edge):在这里,您可以找到靠近每个地区的不同边缘设备,远端边缘集群会因为这种分布式配置而处理这些信息。
简而言之,这种配置的重点是在不同地区分布处理策略,并在公有云之间共享数据。云层包含托管服务,用于将数据分布到不同的地区。近端边缘层包括网络设备,用于在云层和远端层之间传输数据。远端边缘层包括跨不同地区的 K3s 集群,它们可以共享和更新存储在公有云中的数据。微小边缘层包括靠近每个地区的边缘设备,远端边缘集群会根据这种分布式配置来处理这些设备传输的信息。这种配置将处理策略分布在不同地区,并实现了公有云之间的数据共享。
适用场景
在不同地区使用不同的集群配置:边缘计算可以支持在不同地区设置具有不同配置的集群,以满足特定地区的需求。例如,根据特定地区的数据处理要求,您可以在某些地区配置更强大的处理节点,而在其他地区配置更轻量级的节点。
减少应用程序的响应时间:在物联网应用程序中,应用程序的响应时间至关重要。边缘计算可以通过选择最近的数据或处理节点位置来减少应用程序的响应时间。通过将数据处理放置在靠近数据源的边缘节点上,可以减少数据传输的延迟,并实现更快的响应。
在不同地区共享数据:边缘计算可以帮助在不同地区之间共享数据。这对于需要在全球范围内共享数据的组织或应用程序非常有用。通过在不同地区的边缘节点之间共享数据,可以实现数据的快速访问和共享,无需在云端进行大量的数据传输。
在不同地区分布处理:边缘计算可以将处理任务分布在不同地区。这对于需要在不同地区进行数据处理的应用程序非常有用。通过将处理任务分配给就近的边缘节点,可以降低数据传输的延迟,并提高处理的效率。
3. 单节点集群和(公有/私有)云
架构分析
在这种基本配置中,一台计算机处理来自微小边缘设备的所有信息。
云层(Cloud Layer):在这一层中,您可以找到系统的数据存储。它可以放置在公有云或私有云中。
近端边缘(Near Edge):在这一层中,您可以找到网络设备,用于在云层和远端层之间传输所有数据。通常包括电信设备、5G 网络等。
远端边缘(Far Edge):在这一层中,您可以找到单个节点的 K3s 集群,它从微小边缘设备中收集数据。
微小边缘(Tiny Edge):这些设备用于捕捉数据,例如智能手表、平板电脑、摄像头、传感器等。这种配置更适合在本地或小规模上进行处理。
简而言之,这是一种基本配置,其中一台计算机用于处理来自微小边缘设备的数据。云层用于存储系统的数据,可以位于公有云或私有云中。近端边缘层包括网络设备,用于在云层和远端层之间传输数据。远端边缘层包括单个节点的 K3s 集群,用于从微小边缘设备中收集数据。微小边缘层包括用于捕捉数据的设备,例如智能手表、平板电脑、摄像头、传感器等。这种配置更适合在本地或小规模上进行处理,而不需要复杂的边缘计算架构。
适用场景
低成本和低能耗环境:这种基本配置适用于低成本和低能耗的环境。由于只有一台计算机进行处理,因此所需的硬件和能源成本相对较低。这对于资源有限或经济有限的场景非常有用。
绿色边缘应用:这种配置适用于可由太阳能电池板或风力涡轮发电的绿色边缘应用。由于只有一台计算机进行处理,所需的能源消耗相对较低,可以与可再生能源一起使用,实现能源的环保和可持续。
小型处理或用例:这种配置适用于处理小规模数据或小型用例的情况。例如,分析健康记录或自动化住宅系统等。这些用例通常不需要复杂的边缘计算架构,而是可以在本地进行处理,因此这种基本配置足够满足需求。
总结
边缘计算框架和工具在实现边缘计算的灵活性、可扩展性和协同性方面发挥着重要作用。KubeEdge、OpenYurt、K3s、MicroK8s 都提供了不同的优点和适用场景,可以根据具体的需求和环境选择合适的框架和工具。它们使得边缘设备能够无缝地与云计算进行协同工作,实现数据的实时处理、资源的弹性利用和应用的高可用性,推动边缘计算的发展和应用。
随着企业拥抱数字化转型、行业 4.0、工业自动化、智能制造以及这些举措提供的所有先进用例,Kubernetes、 edge 和云协作推动智能商业决策的相关性正变得越来越明显。
作者介绍
陈章朝,政采云有限公司运维开发工程师,一个热爱生活的编程爱好者,热于参与开源社区共建以及分享知识。
评论