云端集中管控边缘服务:利用 EMQX ECP 在 K8s 上快速部署 NeuronEX

随着物联网、边缘计算技术的发展,实现边缘服务的快速部署对于分布式计算环境至关重要。它不仅可以显著降低延迟、节省带宽资源、增强数据的安全性和隐私保护,同时还能改善用户体验,支持动态变化的工作负载需求,提供更高的灵活性和可扩展性,并带来成本效益。

EMQX ECP 作为一款工业互联数据平台,能够满足工业场景大规模数据采集、处理和存储分析的需求,提供边缘服务的快速部署、远程操作和集中管理等功能,以数据 + AI 驱动生产监测、控制和决策,实现智能化生产,提高效率、质量和可持续性。

7 月 12 日,EMQX ECP 发布了 2.3.0 版本,新增在 K8s 上的快速部署 NeuronEX 服务的功能,本文将详细介绍该功能的原理和使用方法,帮助用户在 ECP 中更便捷地管理 NeuronEX 服务。

功能介绍

K8s 上安装 NeuronEX

K8s 上安装 NeuronEX

如上图所示, 在 ECP 上添加 NeuronEX 的时候可以选择多种方式。包括添加一个现有服务,批量安装新服务,批量导入现有服务。本文主要讲解批量安装新服务中的 K8s 安装方式, 基于 Docker 的安装方式将在未来的文章中介绍。

首先,在批量安装方式中选择 K8s,可安装的服务类型目前只有 NeuronEX,给要安装的服务取一个名称簇,并指定要安装的服务数量,选择 NeuronEX 要使用的镜像版本。

其次,用户可以选择是否开启所安装 NeuronEX 服务的认证功能。选择开启,则访问 NeuronEX 的 API 需要 Jwt 鉴权, ECP 访问 NeuronEX 会自动添加 Jwt token;选择不开启, 则对 NeuronEX 的 API 访问不做限制。

此外,用户也可以结合实际的业务需求,给要安装的 NeuronEX 服务添加标签名和描述属性,填好属性值后,点击右上角的确认,即可开始安装过程。

批量安装结果

批量安装结果

在弹出的批量安装结果页中,用户可以实时看到所有的 NeuronEX 的安装状态。安装完成后回到列表页, 可以看到刚刚安装好的 NeuronEX 服务。 从列表页,用户可以判断 NeuronEX 服务的离线、在线状态,版本和连接方式等信息。

在列表页中,用户还可以对这些 NeuronEX 服务执行重启、停止、删除、修改点位数等等功能。 其中,修改点位数功能可以动态调整对应 NeuronEX 的 License 中授权的 tag 数量。

NeuronEX 列表页

NeuronEX 列表页

ECP 集成 NeuronEX Dashboard

ECP 集成 NeuronEX Dashboard

在列表页上点击对应 NeuronEX 的详情按钮, 也可以直接通过 ECP 的 Dashboard 访问到该 NeuronEX 的 Dashboard,效果和直接操作 NeuronEX 的 Dashboard 保持一致。

实现原理

为了能在 K8s 上部署 NeuronEX 服务, 我们开发了 NeuronEX-Operator 用于在 K8s 上维护 NeuronEX 服务的全生命周期。在K3s 等其它类 K8s 环境同样适用。

ECP 配置 KubeConfig 和硬件配额

ECP 配置 KubeConfig 和硬件配额

为了使 ECP 可以和 K8s API-Server 交互,使用该功能前,需要在 ECP 的系统设置中配置好 KubeConfig 文件,KubeConfig 中配置的用户需要有 Namespace \ NeuronEX \ Service 的list\create\delete\update\watch\get 权限,和 Pod \ Deployment \ StatefulSet 的 list\get\watch 权限。

除了 KubeConfig 文件外,用户也可以在 ECP 系统设置中配置 NeuronEX 的硬件资源使用限额(CPU\Memory\Storage), 在执行批量安装操作的时,可以在右上角看到当前消耗的总的硬件资源量。

ECP 配置镜像仓库和镜像版本

ECP 配置镜像仓库和镜像版本

如上图所示,用户可以在系统设置中配置服务的容器镜像仓库地址和仓库鉴权信息,当 K8s 拉取镜像时,会自动使用该权限信息。此外,还可以配置 NeuronEX 服务的镜像名和镜像版本,以供安装时选择。

NeuronEX CR

NeuronEX CR

NeuronEX-Operator 在 K8s 上定义了名为 NeuronEX 的 CRD 自定义资源对象。NeuronEX 这个 CRD 中定义了镜像版本、镜像拉取规则、Jwt 鉴权文件名和文件内容、持久化目录的大小。 其中 jwt 鉴权文件可以同时挂载多个并且同时生效。 当您在 ECP 上创建 NeuronEX 服务时, ECP 会根据用户的需求去创建 NeuronEX CRD 的资源对象,然后将其提交给 K8s, NeuronEX-Operator 探测到新的 NeuronEX CRD 的资源对象后会自动创建对应的 Deployment 和 Service 等资源, 具体内容见下图。

K8s 上的资源对象

K8s 上的资源对象

NeuronEX 服务就绪后, ECP 会通过 K8s 的 Service 对象的内网域名去连接纳管该 NeuronEX 服务。 纳管时, ECP 会下发指标、告警、探活等的配置给 NeuronEX, 让 NeuronEX 可以按配置去定时上报自身的状态。 纳管成功后, ECP 服务列表页中可以看到对应的 NeuronEX 的状态为在线状态, 连接类型为托管-K8s 直连。

总结

上文介绍了 EMQX ECP 在 K8s 上快速部署 NeuronEX 的方法及其原理。部署完成后, ECP 会自动纳管这些 NeuronEX 服务, 用户可以直接在 ECP 的页面上对这些 NeuronEX 服务进行管理或业务配置和使用。此外, 用户还可以在 ECP 上对这些 NeuronEX 服务执行重启、停止、删除等生命周期管理,并统一根据业务需求动态分配所有 NeuronEX 服务 license 的 tag 数量,进一步提升运维效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/51420.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA毕业设计165—基于Java+Springboot+vue3的二手房交易管理系统(源代码+数据库+11000字论文)

毕设所有选题: https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootvue3的二手房交易管理系统(源代码数据库11000字论文)165 一、系统介绍 本项目前后端分离(还有ssm版本),分为用户、卖家、管理员三种角色 1、用户&a…

TOMCAT-企业级WEB应用服务器

一 WEB技术 1.1 HTTP协议和B/S 结构 HTTP(HyperText Transfer Protocol)协议即超文本传输协议,是用于在万维网(WWW)上传输超文本内容的基础协议。 一、HTTP 协议的特点 1、简单快速 客户向服务器请求服务时&#…

leetcode234. 回文链表(java实现)

题目描述&#xff1a; 本道题的思路可以使用集合先存储链表的值&#xff0c;然后进行判断即可。 总体思路比较简单。 代码实现&#xff1a; class Solution {public boolean isPalindrome(ListNode head) {List<Integer> res new ArrayList();ListNode cur head;whil…

代谢组数据分析(十八):随机森林构建代谢组诊断模型

介绍 使用随机森林算法和LASSO特征选择构建了一种胃癌(GC)诊断预测模型。参与者(队列1,n=426)通过随机分层抽样分为发现数据集(n=284)和测试集(n=142)。接下来,在发现数据集上执行LASSO回归,以选择能够识别胃癌患者的较少数量的特征。我们将L1约束的系数设置为0.01…

OpenCV绘图函数(3)判断点一条直线是否在一个矩形范围内的函数clipLine()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 裁剪线段与图像矩形相交的部分。 cv::clipLine 函数计算出完全位于指定矩形内的线段部分。如果线段完全位于矩形之外&#xff0c;则返回 false。…

2024年小红书图文制作超火爆风格,1单19.9!趣味性插画AI表情包项目思路

今天我想跟大家分享一个每天只需花20分钟就能轻松赚钱的AI表情包项目。 这个项目在小红书上非常受欢迎&#xff0c;因为它符合小红书的用户习惯&#xff0c;而且操作简单。下面我来详细讲讲如何利用软件快速创作有趣的插画&#xff01; 项目简介 这个项目的原理很简单&#x…

计算机网络-2-tcpip协议

1.说说 TCP/IP 四层模型&#xff1f; TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff09;模型是一种用于描述互联网通信的协议层次结构。它分为四个主要层次&#xff0c;每个层次都定义了不同的协议来实现特定的功能。下面是TCP/IP模型各层的常用…

AES对称加密算法

1. 简介 AES是一种对称加密算法, 它有3种类型: AES-128: 密钥为128位(16字节)的AES, 加密10轮AES-192: 密钥为192位(24字节)的AES, 加密12轮AES-256: 密钥为256位(32字节)的AES, 加密14轮 密钥长度越长, 加密的强度越大, 当然与此同时开销也越大。每种类型下都有几种操作模式…

给自己复盘的tjxt笔记day9

优惠券管理 开发流程 需求分析&#xff0c;接口统计&#xff0c;数据库设计&#xff0c;创建分支&#xff0c;创建新模块&#xff08;依赖&#xff0c;配置&#xff0c;启动类&#xff09;&#xff0c;生成代码&#xff0c;引入枚举状态 优惠券管理 增删改查的业务代码&#…

NC 数组中的最长连续子序列

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 给定无序数组…

前端算法 === 力扣 111 二叉树的最小深度

目录 问题描述 DFS&#xff08;深度优先搜索&#xff09;方案 BFS&#xff08;广度优先搜索&#xff09;方案 总结 力扣&#xff08;LeetCode&#xff09;上的题目111是关于二叉树的最小深度问题。这个问题可以通过深度优先搜索&#xff08;DFS&#xff09;和广度优先搜索&…

科技温柔拥抱梦乡!康姿百德柔压磁性枕舒适与科技的甜蜜邂逅

解锁未来睡眠新姿势&#xff01;康姿百德柔压磁性枕&#xff0c;科技护航每一夜好梦 在现代家居产品的设计中&#xff0c;科技与舒适性的结合越来越受到人们的关注。康姿百德柔压磁性枕正是一款将科技与舒适结合的产品&#xff0c;为现代生活注入了新的活力。 康姿百德柔压磁性…

Jmeter下载、配置环境变量

Jmeter下载 下载地址&#xff1a;Apache JMeter - Download Apache JMeter 下载后无需安装&#xff0c;解压后即可使用。解压后目录如下 配置环境变量 JMETER_HOME 环境变量Path %JMETER_HOME%\bin 环境变量CLASSPATH %JMETER_HOME%\lib 验证是否配置成功 在cmd命令窗中 输入…

JetBrains Rider 2024 for Mac/Win:跨平台.NET IDE集成开发环境的全面解析

JetBrains Rider 2024作为一款专为Mac和Windows用户设计的跨平台.NET IDE集成开发环境&#xff0c;以其强大的功能和卓越的性能&#xff0c;在.NET开发领域脱颖而出。这款IDE不仅集成了IntelliJ IDEA的代码编辑优势&#xff0c;还融合了ReSharper的C#开发体验&#xff0c;为开发…

ES6笔记总结:第四天(ES6完结)

Xmind鸟瞰图&#xff1a; 简单文字总结&#xff1a; node的模块化&#xff1a; 1.CommonJS 规范&#xff1a;Node.js 遵循 CommonJS 模块规范&#xff0c;该规范定义了如何在服务器环境中实现模块化&#xff0c;包括如何定义模块、如何引入和使用模块。 2.模块的定义&…

LabVIEW便携涡流检测系统开发

针对便携式脉冲涡流检测系统的开发需求&#xff0c;使用LabVIEW进行软件设计与实现。系统需要集成对铁磁性和非铁磁性材料的检测功能&#xff0c;并提供友好的用户界面&#xff0c;便于操作与数据读取。 硬件选型&#xff1a; 脉冲涡流主机&#xff1a; 选择理由&#xff1a; …

Vue3搜索框(InputSearch)

效果如下图&#xff1a;在线预览 APIs InputSearch 参数说明类型默认值width搜索框宽度&#xff0c;单位 pxstring | number‘100%’icon搜索图标boolean | slottruesearch搜索按钮&#xff0c;默认时为搜索图标string | slotundefinedsearchProps设置搜索按钮的属性&#xf…

Nginx反向代理B

http协议反向代理 反向代理配置参数 proxy_pass; #用来设置将客户端请求转发给的后端服务器的主机 #可以是主机名(将转发至后端服务做为主机头首部)、IP地址&#xff1a;端口的方式 #也可以代理到预先设置的主机群组&#xff0c;需要模块ngx_http_upstream_module支持 #示例:…

无人机之穿越机基础知识

一、用途与性能 主要用于竞赛、娱乐和极限飞行&#xff0c;特点是速度快、机动性强、反应灵敏&#xff0c;能够在短时间内做出迅速的加速、转向和翻滚动作&#xff0c;具有极高的飞行灵活性和第一视角飞行体验&#xff08;FPV &#xff09;。 穿越机通常体积小&#xff0c;续…

Open3D mesh 泊松下采样

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2下采样后点云 Open3D点云算法汇总及实战案例汇总的目录地址&#xff1a; Open3D点云算法与点云深度学习案例汇总&#xff08;长期更新&#xff0…