大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介
📚️Reference: IoT 边缘计算系列文章
什么是边缘容器?
边缘容器的概念
边缘容器是分散的计算资源,尽可能靠近最终用户或设备,以减少延迟、节省带宽并增强整体数字体验。
可以访问互联网的设备数量每天都在增加。有包括但不限于:
- 智能电视
- 智能家居
- 智能手机
- 智能汽车
- 物联网 IoT 创造的多种多样其他智能设备
大多数用户运行对时间敏感的应用程序,滞后会降低用户体验的质量。遥远的集中式云服务存在高延迟,通常是应用程序性能不佳的罪魁祸首。开发边缘计算旨在使数据处理更接近用户并解决与网络相关的性能问题。
具体而言,边缘容器允许组织通过将应用程序的关键组件移动到网络边缘来分散服务。通过将智能转移到边缘,组织可以实现更低的网络成本和更快的响应时间。
但是,当组织采用边缘容器/计算时,他们会遇到诸如 管理异构设备(不同的处理器、操作系统等), 资源受限的设备,以及间歇性连接等问题。
边缘计算的发展趋势
📚️Reference:
Edge Computing will be 4x larger than cloud and will generate 75% of data worldwide by 2025. With hardware and software spread across hundreds or thousands of locations, the only feasible way to manage these distributed systems are the simple paradigms around observability, loosely coupled systems, declarative APIs, and robust automation, that have made cloud native technologies so successful in the cloud. Kubernetes is already becoming a key part of the edge ecosystem, driving integrations and operations.
到 2025 年,全世界** 75%的数据将会产生于边缘,边缘计算的规模将会比云大 4 倍。由于软硬件分散部署在成百上千的 不同位置上,管理这些分布式系统的唯一可行的方法是围绕可观测性、松耦合系统、声明式 API 和强大的自动化**的简单范式,这些范式已经在云计算中促使云原生技术获得成功。Kubernetes 已经成为边缘生态系统的关键部分,持续推动其集成和运维。
-- Reported from Kubernetes on EDGE DAY
为什么需要容器?
容器是易于部署的软件包,容器化应用程序易于分发,使其成为边缘计算解决方案的自然选择。与传统云容器相比,边缘容器可以并行部署到地理位置不同的接入点(PoP),以实现更高级别的可用性。
云容器和边缘容器之间的主要区别在于位置。虽然云容器在遥远的区域数据中心运行,但边缘容器位于网络的边缘,更接近最终用户。
由于主要区别在于位置,边缘容器使用与云容器相同的工具,因此开发人员可以使用其现有的 Docker 专业知识进行边缘计算。若要管理容器,组织可以使用 Web UI、terraform/ansible 或容器编排系统 (K8S 等)。
边缘容器的优点
- 低延迟:边缘容器提供极低的延迟,因为它们距离最终用户只有"最后一公里"。
- 可扩展性:边缘网络比集中式云具有更多的 PoP。因此,边缘容器可以同时部署到多个位置,使组织有机会更好地满足区域需求。
- 成熟度:Docker 等容器技术被认为是成熟的,经过实战考验。此外,无需重新训练,因此测试边缘容器的开发人员可以使用他们熟悉的相同 Docker 工具。
- 减少带宽:集中式应用程序可能会产生高额网络费用,因为所有流量都集中在云供应商的数据中心。边缘容器靠近用户,可以提供预处理和缓存。
边缘容器的缺点
- 管理复杂性:将多个容器,多个操作系统,多个架构设备分布在许多区域需要仔细规划和运维/监控。
- 增加攻击面:边缘设备往往由于绑定硬件以及分散分布,一般难以及时更新,导致边缘设备经常成为被攻击成功的对象。
- PoP 之间的网络费用:除了常规的入口和出口费用外,边缘容器还对 PoP 之间的流量收取单独的费用,需要考虑这些费用。(如:5G 物联网卡的网络费用)
- 资源紧张: CPU/ 内存 / 存储 资源紧张,边缘设备相比云中心的资源,资源更为紧张,提供不了云中心类似的 CPU/内存/存储。一个边缘设备的资源一般在:1C0.5G8G - 2C8G32G 之间
- 网络条件恶劣: 比如存在 5G 收费网络的情况,且访问的目的端地址需要开通权限,且按照流量收费,且因为 5G 网络条件,网络传输能力受限,且不稳定(可能会在一段时间内离线)
边缘计算的应用场景
这里由于笔者的能力所限,仅做部分举例:
- 商业卫星
- 航空设备:如战斗机等
- 交通行业:
- 收费站
- 智慧交管
- 车路协同
- 智慧停车
- 能源行业
- 煤矿设备
- 工业制造
- 产线
- CDN
- 智能汽车
- 智慧园区
- 金融:银行终端
- 智慧物流
- 电力
- 电力巡检
- 安防监控
IoT 边缘容器集群管理的通用架构
针对边缘容器的缺点之一:管理的复杂性,由于软硬件分散部署在成百上千的不同位置上,管理这些分布式系统的唯一可行的方法是围绕可观测性、松耦合系统、声明式 API 和强大的自动化的简单范式,这些范式已经在云计算中促使云原生技术获得成功。
通用的架构是: 云-边-端 三层架构。
- 云: 云中心, 统一管理,核心计算;
- 边:边缘侧,边缘计算,边缘网络, 联通到云端;
- 端: 端侧设备。
方案至少需要实现以下目标:
- 云边协同:通过云端管理边端的所有容器集群。管理至少包括 2 方面:下发指令,查看健康状态;
- 边缘自治:云/边网络中断/不稳定/异常时,边端无法连接到云端,这种情况下边端可以正常运行;
- 边端轻量化:需要资源少,支持 arm 架构,可以在资源受限的情况下正常运行
IoT 边缘容器集群管理的几种架构方案
总结来看,有以下多种基于开源的实践方案:
- Rancher + K3s: Rancher 用于云端场景,K3s 用于边场景。端是各类设备。 多个 K3s 边集群通过 Rancher 统一管理。
- HashiCorp 解决方案: Nomad+ (consul 可选)+ docker/容器,这是一种受欢迎程度也很广,但是比起 k8s 还是略低的编排技术。通过 Nomad UI/API/CLI 统一管理,将 nomad agent + (consul agent 可选) + docker/其他容器 作为边/端场景。
- portainer+ docker: Portainer 是类似 rancher 的容器管理方案,但是可以管理多种容器编排系统,如:Docker, Docker Swarm, Kubernetes, Nomad. 这里选择直接管理 docker 及 docker swarm 的方式。Portainer 用于云端场景,作为统一管理入口,docker + portainer agent 作为边/端场景。
- KubeEdge: KubeEdge 是一个开源系统,用于将本地容器化应用协调能力扩展到边缘的主机。它建立在 kubernetes 之上,为网络、应用部署和云与边缘之间的元数据同步提供基本的基础设施支持。在这种方案下,Kubernetes 集群/Kubeedge CloudCore 作为云端场景,EdgeCore 作为边,edged 作为端。
- 除了以上较成熟且有案例的方案外,还有以下方案:
- OpenYurt
- SuperEdge
- Akri
- WasmEdge, 基于 Wasm, WasmEdge 为云原生和边缘原生环境中的 Linux 容器提供了一个轻量级、快速、安全和可移植的替代方案。未来可期。
这里重点对前 4 个笔者认为较为成熟的、现在已经可落地的方案做一个简要说明。
继续阅读
- 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s
- 大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
- 大规模 IoT 边缘容器集群管理的几种架构-3-Portainer
- 大规模 IoT 边缘容器集群管理的几种架构-4-Kubeedge
- 大规模 IoT 边缘容器集群管理的几种架构-5-总结
参考资料
- WHAT ARE EDGE CONTAINERS? (stackpath.com)
- Getting Started With Kubernetes at the Edge - Container Journal
- 8 CNCF Tools to Run Kubernetes at the Edge and Bare Metal - Container Journal
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.
相关文章:
大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介
📚️Reference: IoT 边缘计算系列文章 什么是边缘容器? 边缘容器的概念 边缘容器是分散的计算资源,尽可能靠近最终用户或设备,以减少延迟、节省带宽并增强整体数字体验。 可以访问互联网的设备数量每天都在增加。有包括但不限于…...

代码随想录算法训练营第45天动态规划 背包基础 1 2、 416. 分割等和子集
文章目录01背包基础 (二维数组)思路递推公式初始化遍历顺序一维dp数组(滚动数组)一维数组的递推公式遍历顺序LeetCode 416. 分割等和子集思路总结01背包基础 (二维数组) 思路 根据动态规划五部进行分析&a…...

QT学习记录(六)类对象属性
类对象属性用来描述类对象的一些信息和当前的状态。类对象属性可以由类的编写者在编写类的时候定义,也可以由类的使用者在使用对象的时候定义。 由类的编写者定义 QPROPERTY()宏就是用来定义一个对象属性。 以第二行属性举例 QPROPERTY(bool enabled READ isEnabl…...
Spring Cloud Alibaba从搭建到源码完整进阶教程
微服务简介 Spring Cloud Alibaba 微服务简介 Nacos注册中心配置中心 Spring Cloud Nacos实战(一)- 下载和安装 Spring Cloud Nacos实战(二)- 服务提供者注册 Spring Cloud Nacos实战(三)- 服务消费者…...

Spring Cloud Nacos实战(一)- 下载和安装
Spring Cloud Alibaba Nacos下载和安装 Nacos介绍 Nacos(Naming Configuration Service) 是一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用程序 服务发现是微服务架构中的关键组件之一。Nacos 致力于帮助您发现…...

深入理解设备像素比
文章目录参考描述像素分辨率显示分辨率图像分辨率物理分辨率分辨率单位(仅部分)DPIPPI设备像素比设备物理像素设备独立像素设备像素比产生放大与缩小尾声参考 项目描述关于物理像素、逻辑像素(css像素)、分辨率、像素比的超详细讲…...

Revisiting Distributed Synchronous SGD 带有Back-up机制的分布式同步SGD方法 论文精读
论文链接:Revisiting Distributed Synchronous SGD ABS 本文介绍了用于分布式机器学习的同步和异步SGDSGDSGD,同时指出各自的缺点:stragglersstragglersstragglers和stalenessstalenessstaleness。 同时为了解决同步SGDSGDSGD存在straggle…...

shiro CVE-2020-13933
0x00 前言 同CVE-2020-1957,补充一下笔记,在CVE-2020-1957的基础上进行了绕过。 影响版本:Apache Shiro < 1.6.0 环境搭建参考:shiro CVE-2020-1957 0x01 漏洞复现 CVE-2020-13933中使用%3b绕过了shiro /*的检测方式&…...

斐波那契数列(递归+迭代)
目录什么是斐波那契数列递归写法使用递归写法的缺点迭代写法(效率高)什么是斐波那契数列 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多斐波那契(Leonardo Fibonacci)以兔子繁殖为例…...

2022黑马Redis跟学笔记.实战篇(六)
2022黑马Redis跟学笔记.实战篇 六4.7.达人探店功能4.7.1.分享探店图文1. 达人探店-发布探店笔记2. 达人探店-查看探店笔记4.7.2.点赞功能4.7.3.基于List实现点赞用户列表TOP104.7.4.基于SortedSet实现点赞排行榜4.8.关注列表4.8.1.关注列表实现原理4.8.2.添加关注1. 好友关注-关…...

Linux-VMware常用设置(时间+网络)及网络连接激活失败解决方法-基础篇②
目录一、设置时间二、网络设置1. 激活网卡方法一:直接启动网卡(仅限当此)方法二:修改配置文件(永久)2. 将NAT模式改为桥接模式什么是是NAT模式?如何改为桥接模式?三、虚拟机网络连接…...
vue3学习总结1
一.vue3与vue2相比带来哪些变化?a.性能的提升(包括打包大小减少,初次渲染的速度加快,更新渲染速度加快,内存减少)b.源码的升级(响应式的原理发生了变化,由原来的defineProperty变成了…...

SpringBoot统一功能处理
一、统一用户登录权限验证 1.1Spring拦截器 实现拦截器需要以下两步: 1.创建自定义拦截器,实现 HandlerInterceptor 接⼝的 preHandle(执行具体方法之前的预处理)方法。 2.将⾃定义拦截器加⼊ WebMvcConfigurer 的 addIntercept…...
2022年3月电子学会Python等级考试试卷(五级)答案解析
目录 一、单选题(共25题,共50分) 二、判断题(共10题,共20分) 三、编程题(共3题,共30分) 青少年软件编程(Python)等级考试试卷(五级&#...

【C++】智能指针
目录 一、先来看一下什么是智能指针 二、 auto_ptr 1、C98版本 2、C11的auto_ptr 三、boost 库中的智能指针 1. scoped_ptr 2、shared_ptr(最好的智能指针) 四、C11中新提供的智能指针 unique_ptr shared_ptr std::shared_ptr的循环引用问题…...

Seata架构篇 - AT模式
AT 模式 概述 Seata AT 模式是一种非侵入式的分布式事务解决方案,Seata 在内部做了对数据库操作的代理层,我们使用 Seata AT 模式时,实际上用的是 Seata 自带的数据源代理 DataSourceProxy,Seata 在这层代理中加入了很多逻辑&am…...

加油站会员管理小程序实战开发教程12
我们上一篇介绍了会员数据源的开发,本节我们介绍一下会员注册功能。 首先呢梳理一下会员注册的业务逻辑,如果用户是首次登录,那他肯定还没有给我们的小程序提交任何的信息。那么我们就在我的页面给他显示一个注册的按钮,如果他已经注册过了,那么就正常显示会员的信息,他…...

用腾讯云同步Obsidian笔记
介绍 之前用gitee同步OB笔记,同时做图床。但由于git系产品设置起来相对复杂,且后续可能有外链过审等问题。周五被同事小姐姐安利了用腾讯云COS,试了一下,果然不错。其主要优点如下: 设置简单,学习成本低&…...

浅析C++指针与引用,栈传递的关系
目录 前言 C 堆指针 栈指针 常量指针 指针常量 引用 常量引用 总结 前言 目前做了很多项目,接触到各种语言,基本上用什么学什么,语言的边际就会很模糊,实际上语言的设计大同小异,只是语言具备各自的特性区别。…...

图解LeetCode——剑指 Offer 10- II. 青蛙跳台阶问题
一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97(1000000007),如计算初始结果为:1000000008,请返回 1。 二、示例 2.1>…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...

密码学基础——SM4算法
博客主页:christine-rr-CSDN博客 专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 编辑…...