设备太分散?如何一站式管理边缘 OS、K8s 和应用?
作者简介
张志龙,SUSE 大中华区资深解决方案架构师,CNCF 官方认证的 CKA&CKAD 工程师,深耕以 Kubernetes 为代表的云原生领域,具备丰富的架构设计、业务容器化改造和项目落地实践经验。
据 Gartner 预测,到 2025 年,50% 以上由企业管理的数据都将在数据中心和云之外创建和处理。Linux Foundation 研究发现,到 2025 年,边缘计算的规模将比云大 4 倍,其生成的数据量将占全球所有数据的 75%。随着以 K8s 为代表的云原生技术的成熟,越来越多的用户期望将 K8s 的能力运用到边缘计算场景中。
在边缘运行 K8s 面临诸多挑战
然而,在边缘侧运行 K8s 集群也面临诸多挑战。数据中心具备稳定的运行环境、高带宽的网络、高配置的服务器等成熟的 K8s 运行条件,且有大量企业级厂商提供相关的解决方案。与数据中心不同,通常情况下,边缘侧的运行环境比较恶劣,网络难以保障、硬件配置低,在这样严苛的条件下运行 K8s 将面临极大的挑战:
硬件设备难以支撑 K8s 运行
-
硬件配置低:边缘侧设备的 cpu、内存等计算资源配置通常较低,为个位数级别,主要用于应用自身,难以分配更多资源供诸如 K8s 的中间层平台使用。
-
网络不稳定:运行环境恶劣,与中心之间的网络随时可能中断,无法提供稳定可靠的网络,难以保证 K8s 自身的稳定运行。
-
非生产就绪:虽然社区有轻量化的 K8s,但多为单节点架构,并非是为了运行多节点的生产级环境而设计的,难以提供生产级的高可用服务。
-
增加技术竖井:如果云端采用 K8s,边缘场景使用其他技术栈,云边环境的不一致将导致无法使用相同技术栈进行管理,增加技术竖井。
边缘场景下 K8s 难以管理维护
-
设备分散:边缘场景的一大特点是设备分散在各个区域,难以通过统一的界面对其上的 K8s 服务和业务应用进行集中式管理。而且在海量的边缘设备中部署、更新编排引擎和业务应用也是一大难题。
-
K8s 架构复杂:原生 K8s 包含多个核心的组件服务,高可用架构更为复杂,在边缘侧直接部署原生 K8s 时,其复杂性会分散到各个设备上。
-
难以统一管理:一般应用层、容器层、操作系统层由不同的厂商提供,需要分层管理维护,缺乏统一的生命周期管理手段。
边缘场景下 K8s 难以满足安全需求
-
安全性:边缘设备缺乏专业的安全防护组件,存在被入侵、攻击的风险。
-
合规性:在边缘设备上处理数据涉及到企业的生产和经营活动,难以符合所在行业内的特定准则。
边缘侧 K8s 集群应具备的能力
能够在边缘场景中平稳运行 K8s
-
轻量化:保证 K8s 功能完整的前提下,简化原生 K8s 的核心组件服务,降低架构复杂性,减少用户所需管理的进程和服务数量。降低 K8s 资源消耗,可在低配置设备上运行,预留足够资源运行业务应用。
-
可用性:按需支持多节点组成高可用集群,核心组件也为高可用架构,降低因软硬件故障导致减员带来的影响。集群节点故障或停机维护时,其他节点仍可对外提供服务。
-
自治性:边缘 K8s 集群应具备完整的自治性,不依赖云端管控即可自行正常运行;在单节点故障时,仍可正常运行,且可对故障节点上的应用进行故障转移和恢复。
实现对边缘场景中 K8s 的统一管理
-
全面覆盖:通过云端管控平台使用统一的标准,管理所有边缘设备的主要层级,包括操作系统层、容器编排层、业务应用层。
-
云边协同管理:支持通过云端管控平台对分散的所有边缘设备进行统一管理,包括安装 K8s、部署应用、更新/回退、备份恢复等。
-
批量化管理:支持针对所有边缘 K8s 集群的批量化运维管理操作,包括操作系统、容器编排、业务应用的 OTA 更新,减少人工干预和重复性工作。
解决边缘场景中的安全问题
全面安全防护:应用层、容器层、操作系统层具备完善的安全防护能力,可阻止异常访问、入侵、攻击;可监测平台的实时安全状态、漏洞等;可阻止敏感数据的传输和泄漏。
SUSE 的应对之道
SUSE 利用轻量化的 K8s 产品——K3s,并与其他产品组合,推出了 SUSE Edge 2.0 云原生边缘管理解决方案,为从应用程序到 K3s 再到操作系统的整个堆栈进行了安全策略的无缝集成。无论是通用的边缘场景,还是电信、汽车、卫星等需要额外功能的各类边缘场景,SUSE 都能基于不同用例提供完全契合客户需求的边缘解决方案,真正实现了“在任意位置运行 Kubernetes ”的愿景。
SUSE Edge 2.0 解决方案的核心功能及组件包括:
-
K3s:经过 CNCF一致性认证的轻量化 K8s 发行版,具备完善的 K8s 能力,支持企业级的高可用架构,及完全的边缘自治能力,同时可与 Rancher 结合实现云边协同,非常适合资源有限的边缘设备。
-
SLE Micro:专为容器化和虚拟化工作负载打造的轻量级不可变操作系统,rootfs 不可变,减少了攻击面,增加了可靠性;通过了诸如 FIPS 140-3 安全认证和通用标准评估。
-
NeuVector:按需集成,对操作系统、K3s、业务容器进行全生命周期的安全防护。
-
Rancher:云端管控平台,可统一管理 K3s 和底层操作系统。利用 Elemental 工具无缝部署底层操作系统。利用 Fleet 帮助用户部署和管理大规模的 K3s 集群和应用。集成其他生态组件,简化运维管理。

典型应用
工业领域
中国某钢铁集团在智慧矿山项目中采用了 Rancher Prime+K3s 解决方案,构建了一套云边协同系统,实现了数据协同、应用协同和 AI 协同。在边缘侧 K3s 集群中即可实现数据的采集接入、流计算处理和工艺参数 AI 优化,并将优化指令下发到现场端设备。在云端,Rancher Prime 可实现边缘集群管理、应用下发、AI 模型下发。该方案保证了云边技术栈的一致性,降低了运维管理难度,提升了生产效率。
汽车行业
知名自动驾驶公司采用了 Rancher Prime+K3s 解决方案,构建了自动化驾驶模型。客户在每部自动化的车辆当中部署 K3s 集群,在这些集群之上又承载各种各样的智能车载软件,从而管理控制各类设备。
当车辆在马路上行驶时,车辆可以通过 K3s 搜集路况、乘客、汽车等信息,上传到平台车载软件进行分析处理,并对自动化驾驶进行相关的控制,包括车速、安全行驶等等。在完成自动化驾驶测试后,车辆回到车库,将之前采集的数据上传到云端,再次进行大数据处理和分析。
客户通过 Rancher Prime+K3s 建立了云边协同关系,通过轻量化、容器化的应用以及容器化的部署管理方式,能够快速应对系统和应用的快速变化和部署更新,极大降低了运维负担。
相关文章:
设备太分散?如何一站式管理边缘 OS、K8s 和应用?
作者简介 张志龙,SUSE 大中华区资深解决方案架构师,CNCF 官方认证的 CKA&CKAD 工程师,深耕以 Kubernetes 为代表的云原生领域,具备丰富的架构设计、业务容器化改造和项目落地实践经验。 据 Gartner 预测,到 2025 年…...
CF1692D The Clock 题解
CF1692D The Clock 题解题目链接字面描述题面翻译题目描述输入输出题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692D 字面描述 题面翻译 题目描述 从一个24小时制的时间点开始,每隔 xx…...
IDEA 30 个好用天花板技巧,敲代码直接接爽到飞。
IDEA 作为Java开发工具的后起之秀,几乎以碾压之势把其他对手甩在了身后,主要原因还是归功于:好用;虽然有点重,但依旧瑕不掩瑜,内置了非常多的功能,大大提高了日常的开发效率,下面汇总…...
关于selenium的等待
目录 隐式等待 显式等待 注意事项 隐式等待 简单来说:在规定的时间范围内,轮询等待元素出现之后就立即结束。 如果在规定的时间范围内,元素仍然没有出现,则会抛出一个异常【NoSuchElementException】,脚本停止运行…...
结构建模设计——Solidworks软件之装配体操作基本总结三(高级配合、机械配合、快捷菜单功能)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《QT开发实战》 《嵌入式通用开发实战》 《从0到1学习嵌入式Linux开发》 《Android开发实战》 《实用硬件方案设计》 长期持续带来更多案例与技术文章分享…...
【在 Colab 中使用 TensorBoard 绘图】
【在 Colab 中使用 TensorBoard 绘图】进入 Google Drive进入 Colab在深度学习中,使用本机GPU跑可能会比较慢,这里使用 Google Drive Colab 进行训练,运行代码 进入 Google Drive 进入网盘 初次进入需要注册账号。注意科学上网即可。右键…...
React循环DOM时为什么需要添加key
一、React 渲染流程和更新流程 react渲染流程:jsx -> 虚拟dom -> 真实domreact更新流程:props/state改变 -> render函数重新执行 -> 生成新的虚拟dom树 -> 新旧虚拟dom树进行diff -> 计算出差异进行更新 ->更新到真实的dom树 所以…...
Elasticsearch架构篇 - terms aggregation
terms aggregation 即词项分桶聚合。它是 Elasticsearch 最常用的聚合,类同于关系型数据库依据关键字段做 group。 size:返回的词项分桶数量,默认 10。阈值 65535。默认情况下,协调节点向每个分片请求 top size 数量的词项桶&…...
MySQL 的体系结构、引擎与索引
MySQL的引擎与体系结构 体系结构 连接层 最上层是一些客户端和链接服务,主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限 服务层 第二层架构主要完成大多数的核心服务功能,如SQL…...
数字IC设计需要学什么?
看到不少同学在网上提问数字IC设计如何入门,在学习过程中面临着各种各样的问题,比如书本知识艰涩难懂,有知识问题难解决,网络资源少,质量参差不齐。那么数字IC设计到底需要学什么呢? 首先来看看数字IC设计…...
五分钟搞懂POM设计模式
今天,我们来聊聊Web UI自动化测试中的POM设计模式。 为什么要用POM设计模式 前期,我们学会了使用PythonSelenium编写Web UI自动化测试线性脚本 线性脚本(以快递100网站登录举栗): import timefrom selenium import …...
面试 | 递归乘法【细节决定成败】
不用[ * ]如何使两数相乘❓一、题目明细二、思路罗列 & 代码解析1、野蛮A * B【不符合题意】2、sizeof【可借鉴】解析3、简易递归【推荐】① 解析(递归展开图)② 时间复杂度分析4、移位<<运算【有挑战性💪】① 思路顺理② 算法图解…...
【Linux】环境变量与进程优先级
文章目录🎪 进程优先级🚀1.孤儿进程🚀2.优先级查看🚀3.优先级修改🎪 环境变量🚀1.常见环境变量🚀2.环境变量获取🚀3.main中的命令行参数🎪 进程优先级 每个进程都有相应…...
RocketMQ5.0.0的Broker主从同步机制
目录 一、主从同步工作原理 1. 主从配置 2. 启动HA 二、主从同步实现机制 1. 从Broker发送连接事件 2. 主Broker接收连接事件 3. 从Broker反馈复制进度 4. ReadSocketService线程读取从Broker复制进度 5. WriteSocketService传输同步消息 6. GroupTransferService线程…...
深度学习论文: EdgeYOLO: An Edge-Real-Time Object Detector及其PyTorch实现
深度学习论文: EdgeYOLO: An Edge-Real-Time Object Detector及其PyTorch实现 EdgeYOLO: An Edge-Real-Time Object Detector PDF: https://arxiv.org/pdf/2302.07483.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shangli…...
如何做好APP性能测试?
随着智能化生活的推进,我们生活中不可避免的要用到很多程序app。有的APP性能使用感很好,用户都愿意下载使用,而有的APP总是出现卡顿或网络延迟的情况,那必然就降低了用户的好感。所以APP性能测试对于软件开发方来说至关重要&#…...
Hive窗口函数
概述 窗口函数(window functions)也叫开窗函数、OLAP函数。 如果函数具有over子句,则它是窗口函数 窗口函数可以简单地解释为类似于聚合函数的计算函数,但是通过group by 子句组合的 常规聚合会隐藏正在聚合的各个…...
C++学习笔记(1):在默认构造函数内部使用带参数的构造函数
题目以下代码的输出是不是0:#include <unordered_map> #include <iostream>using namespace std;struct CLS{int i;CLS(int i_) :i(i_){}CLS(){CLS(0);} };int main(){CLS obj;std::cout << obj.i << endl;return 0; }结果-858993460为什么…...
Android面试题_安卓面经(23/30)设计模式源码案例
系列专栏: 《150道安卓常见面试题全解析》 安卓专栏目录见帖子 : 安卓面经_anroid面经_150道安卓基础面试题全解析 安卓系统Framework面经专栏:《Android系统Framework面试题解析大全》 安卓系统Framework面经目录详情:Android系统面经_Framework开发面经_150道面试题答案解…...
Dubbo性能调优参数以及原理
Dubbo作为一个服务治理框架,功能相对来说比较完善,性能也挺不错。但很多同学在使用dubbo的时候,只是简单的参考官方说明进行配置和应用,并没有过多的去思考一些关键参数的意义,最终做出来的效果总是差强人意,接下来我们…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
