CN113590305A - 一种基于k3s的边缘计算应用能力部署方法 - Google Patents
一种基于k3s的边缘计算应用能力部署方法 Download PDFInfo
- Publication number
- CN113590305A CN113590305A CN202110528131.7A CN202110528131A CN113590305A CN 113590305 A CN113590305 A CN 113590305A CN 202110528131 A CN202110528131 A CN 202110528131A CN 113590305 A CN113590305 A CN 113590305A
- Authority
- CN
- China
- Prior art keywords
- edge computing
- capacity
- node
- capability
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种基于k3s的边缘计算应用能力部署方法,设计边缘计算应用在硬件设备能力部署方面,包括Harbor库的安装与配置、Master节点安装与配置、Worker节点安装与配置、K3s资源申请、应用能力的封装、镜像上传等步骤,本发明依托于轻量化的k3s边缘计算技术,实现了简化的边缘计算应用能力在jetson上的封装部署技术,同时依托于边缘计算平台,能够很好的用于边缘计算中能力的封装和部署,具有高可用性以及轻量级的特点,所需参数较少,与目前所用的应用能力封装部署方法相比,大大减少了参数量,使得在jetson边缘设备上进行能力部署更加迅速简洁,在工程实践中大大减少工程复杂度。
Description
技术领域
本发明涉及边缘计算领域,具体涉及一种边缘计算场景下应用能力在jetson设备上的部署方法。
背景技术
边缘计算是指在靠近物或者数据源头的一侧,采取网络,计算,存储,应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足服务在实施服务、应用智能、安全与隐私保护等方面的需求。边缘计算处于物理实体和工业连接之间,或者说处于物理实体的顶端。
k3s架构是k8s架构的轻量版,k3s能够让Kubernetes的构建变得轻量化,用户只需要Kubernetes原来一小部分内存和存储就可以拥有容器编排能力。Kubernetes就是k8s,而k3s是一个比k8s小一半的微型版本。k3s实现了两个目标,一是让Kubernetes变得更小,减少内存消耗;二是让用户的操作变得更加简单。
申请号为202011032810.7的中国发明专利公开了一种应用于第一移动边缘计算MEC 节点的应用部署方法,所述第一MEC节点为MEC集群中的任一节点;所述方法包括:检测数据请求;在检测到所述数据请求的情况下,基于所述数据请求,确定目标MEC节点;其中,所述目标MEC节点中部署有与所述数据请求对应的第一应用;在所述目标MEC节点与所述第一MEC节点为不同节点的情况下,向所述目标MEC节点发送应用部署请求;接收所述目标MEC节点发送的应用部署指示;基于所述应用部署指示部署所述第一应用。本申请还公开了一种应用于目标MEC节点的应用部署方法,以及一种计算机可读存储介质。与现有技术相比,该申请提供的应用部署方法,在第一MEC节点上部署第一应用时,仅根据目标MEC节点发送的应用部署指示即可进行,从而降低了相关技术中应用部署时对中心云、集群管理节点协或技术人员的依赖。该发明无法解决技术人员在部署时,如何简化部署步骤,简化封装流程的问题。
随着边缘计算的发展,更加快速,轻量级,简化的应用能力部署方法显得尤为重要,更加简化的部署方法能够使得技术人员快速的封装部署应用能力,从复杂的能力封装流程中解放出来。因此一种简化的,可用性强的应用能力封装方法是十分必要的。
发明内容
本发明是为了解决k3s边缘计算中应用能力封装部署复杂的问题,提供了一种轻量级,简化的,可用性强的应用能力封装部署方法,该方法应用于英伟达出产的jetson硬件设备上,实现在工程中,使用jetson作为边缘计算设备的能力的快速封装部署。
本发明的目的通过如下技术方案实现
一种基于k3s的边缘计算应用能力部署方法,包括以下步骤:
步骤一,Harbor库的安装与配置,harbor库用于边缘计算整个系统的能力镜像存储,将封装好的能力镜像存放在公网harbor库中,在能力部署时候,节点从库中拉取所需镜像;
步骤二,Master节点安装与配置,作为边缘计算的主节点,能够和worker节点通过k3s系统进行通信,接受worker节点的数据,同时通过java后端应用和边缘计算前端平台以及数据库进行通信,实现数据的传输,Master节点部署在公网服务器上,保证部署在边缘端局域网的worker节点能够访问;
步骤三,Worker节点安装与配置,worker节点部署在边缘端局域网,安装在我们所用的边缘计算设备jetson上,本质上是一台小型处理器,是离数据端最近的节点,能够实时的在局域网内获取数据端数据,同时对数据进行处理,将处理后的所需信息传回 master节点,在通过master节点将数据传送到数据库,边缘端jetson设备能够获取与该设备处于同一局域网的传感器数据,包括温湿度传感器,烟雾报警器等。同时能够获得局域网内摄像头视频,进行视频数据处理等功能;
步骤四,K3s资源申请,在进行能力下发前,需要生成charts包,申请能力下发所需要的的资源,包括CPU,存储,内存等硬件资源,保证能力能够顺利运行,同时配置所需的能力镜像名称以及对应的Harbor库,配置系统时间等,其中包括Chart.yaml, values.yaml,deployment.yaml三个需要编写的文件;
步骤五,对应用能力进行封装,包括helm的安装与配置,创建dockerfile-sum文件夹和makefile文件、dockerfile文件.下载helm,将Helm添加到环境变量中,用于能力封装时,chart包的生成与打包;
编写makefile与dockerfile文件,makefile文件用于打包镜像,需要填写内容为镜像的名称和版本号,dockerfile文件用于编写镜像所需要的依赖镜像,比如Python等依赖包,以及所需要的安装包,从github上下载,配置镜像,完成能力的封装;
步骤六,镜像封装完成后,上传到Harbor库中,同时将生成的chart包上传到master 节点,用户能够通过边缘计算前端平台进行操作,实现封装好的能力下发部署操作。
所述Harbor库部署在公网服务器,边缘端节点可以随时访问并拉取镜像。
所述master节点部署在公网服务器,保证边缘端节点可以访问,并与边缘端节点进行单向通信。
所述worker节点安装在jetson上,同时能够获取同一局域网内终端设备,包括摄像头、传感器等的数据。
所述k3s资源申请需要在申请文件中限制需要的资源,包括CPU,存储,内存等硬件资源,保证足够的资源是的能力顺利运行。
所述应用能力封装,需要限制能力所运行的CPU架构,包括ARM64与AMD64等,封装相应CPU架构的能力。
所述镜像封装完成后,需要在具有docker环境的服务器中上传到权利要求2所述的公网harbor库中,便于能力拉取和部署。
本发明的有益效果如下:
本发明依托于轻量化的k3s边缘计算技术,实现了简化的边缘计算应用能力在jetson 上的封装部署技术,同时依托于边缘计算平台,能够很好的用于边缘计算中能力的封装和部署,具有高可用性以及轻量级的特点,所需参数较少,与目前所用的应用能力封装部署方法相比,大大减少了参数量,使得在jetson边缘设备上进行能力部署更加迅速简洁,在工程实践中大大减少工程复杂度。
附图说明
图1是前端平台能力下发示意图
图2是onvif应用能力封装示意图
具体实施方式
下面根据附图2和优选实施例详细描述本发明,本发明的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
步骤一,Harbor库的安装与配置,harbor库用于边缘计算整个系统的能力镜像存储,将封装好的能力镜像存放在公网harbor库中,在能力部署时候,节点从库中拉取所需镜像。
步骤二,Master节点安装与配置,作为边缘计算的主节点,能够和worker节点通过k3s系统进行通信,接受worker节点的数据,同时通过java后端应用和边缘计算前端平台以及数据库进行通信,实现数据的传输。Master节点部署在公网服务器上,保证部署在边缘端局域网的worker节点能够访问。
步骤三,Worker节点安装与配置,worker节点部署在边缘端局域网,安装在我们所用的边缘计算设备jetson上,本质上是一台小型处理器。是离数据端最近的节点,能够实时的在局域网内获取数据端数据,同时对数据进行处理,将处理后的所需信息传回 master节点,在通过master节点将数据传送到数据库,边缘端jetson设备能够获取与该设备处于同一局域网的传感器数据,包括温湿度传感器,烟雾报警器等。同时能够获得局域网内摄像头视频,进行视频数据处理等功能。
Jetson硬件参数如下表所示
表1 jetson硬件参数列表
步骤四,K3s资源申请,在进行能力下发前,需要生成charts包,申请能力下发所需要的的资源,包括CPU,存储,内存等硬件资源,保证能力能够顺利运行,同时配置所需的能力镜像名称以及对应的Harbor库,配置系统时间等。其中包括Chart.yaml, values.yaml,deployment.yaml三个需要编写的文件。
步骤五,对应用能力进行封装,包括helm的安装与配置,创建dockerfile-sum文件夹和makefile文件、dockerfile文件.下载helm,将Helm添加到环境变量中,用于能力封装时,chart包的生成与打包。
编写makefile与dockerfile文件,makefile文件用于打包镜像,需要填写内容为镜像的名称和版本号,dockerfile文件用于编写镜像所需要的依赖镜像,比如Python等依赖包,以及所需要的安装包,从github上下载,配置镜像,完成能力的封装。
步骤六,镜像封装完成后,上传到Harbor库中,同时将生成的chart包上传到master 节点。用户能够通过边缘计算前端平台进行操作,实现封装好的能力下发部署操作。
1.Harbor库安装与配置
安装docker环境,修改hostname配置,修改为123.6.51.149:30002,配置密码a123456789,使用命令./install,完成harbor库安装。
2.Master节点安装与配置
将docker环境修改为配置好的Harbor库,下载所需文件k3s-amd64, k3s-airgap-images-amd64.tar,k3s-install.sh,按照k3s官网步骤配置环境变量,拉取所需的能力上报和数据下发镜像。
3.Worker节点安装与配置
将docker环境修改为配置好的Harbor库,下载所需文件k3s-arm64, k3s-airgap-images-arm64.tar,k3s-install.sh,按照k3s官网步骤配置环境变量,在 jetson设备上设置节点名称,完成jetson上worker节点的安装和配置。
4.K3s资源申请
生成chart包,删除不需要的文件,仅保留所需要的文件,保留charts文件夹,templates文件夹,在templates文件夹中保留_helpers.tpl文件和deployment.yaml 文件。此外保存.helmignore,chart.yaml,values.yaml文件。
在chart.yaml文件中,需要修改name参数,用于命名打包后的chart包名称,version 参数用于规定打包好的版本号,在onvif应用中,name参数是onvif-discovery-arm64, version参数是0.1.0。
在values.yaml文件中,修改imageRepo参数,harbor库所使用的的镜像名称和tag; onvif应用填写的参数是onvif-discovery-arm64-0.1.0,imagePullPolicy参数是镜像下载规则,Always表示每次下发能力均重新下拉镜像,IfNotPresent表示如果本地有镜像,则不重新下拉镜像,onvif应用填写的参数是Always;另将下发能力所需环境变量填入。比如onvif协议需要用户名user、密码pwd、数据上传接口url、harbor仓库地址 PLATFORM_HARBOR_URL;
在deployment.yaml文件中,需要修改容器名称,在container下的name参数,修改为所希望的容器名称,onvif应用所用的容器名称是onvif-discovery;同时填写所需参数和希望申请的硬件资源。
将打包好的镜像上传到公网harbor库,在进行能力下发的时候拉取所需镜像。
在onvif能力中,用户名和密码用于摄像头使用onvif协议获取参数时使用,url在获取信息后上传的接口地址,harbor地址用于能力下发时,节点从哪一个harbor库中拉取所需镜像。
5.能力封装:
使用helm package将编写好的charts包打包生成tgz文件,上传至master节点,即可在前端平台进行下发操作。
6.Jetson节点能力部署
在jetson节点上下拉能力镜像,该镜像可以发现和jetson处于同一局域网内的摄像头和传感器,获取摄像头视频数据,进行处理;同时获取传感器数据,获取当前环境信息。
Claims (7)
1.一种基于k3s的边缘计算应用能力部署方法,其特征在于,包括以下步骤:
步骤一,Harbor库的安装与配置,harbor库用于边缘计算整个系统的能力镜像存储,将封装好的能力镜像存放在公网harbor库中,在能力部署时候,节点从库中拉取所需镜像;
步骤二,Master节点安装与配置,作为边缘计算的主节点,能够和worker节点通过k3s系统进行通信,接受worker节点的数据,同时通过java后端应用和边缘计算前端平台以及数据库进行通信,实现数据的传输,Master节点部署在公网服务器上,保证部署在边缘端局域网的worker节点能够访问;
步骤三,Worker节点安装与配置,worker节点部署在边缘端局域网,安装在我们所用的边缘计算设备jetson上,本质上是一台小型处理器,是离数据端最近的节点,能够实时的在局域网内获取数据端数据,同时对数据进行处理,将处理后的所需信息传回master节点,在通过master节点将数据传送到数据库,边缘端jetson设备能够获取与该设备处于同一局域网的传感器数据,包括温湿度传感器,烟雾报警器等,同时能够获得局域网内摄像头视频,进行视频数据处理等功能;
步骤四,K3s资源申请,在进行能力下发前,需要生成charts包,申请能力下发所需要的的资源,包括CPU,存储,内存等硬件资源,保证能力能够顺利运行,同时配置所需的能力镜像名称以及对应的Harbor库,配置系统时间等,其中包括Chart.yaml,values.yaml,deployment.yaml三个需要编写的文件;
步骤五,对应用能力进行封装,包括helm的安装与配置,创建dockerfile-sum文件夹和makefile文件、dockerfile文件.下载helm,将Helm添加到环境变量中,用于能力封装时,chart包的生成与打包;
编写makefile与dockerfile文件,makefile文件用于打包镜像,需要填写内容为镜像的名称和版本号,dockerfile文件用于编写镜像所需要的依赖镜像,比如Python等依赖包,以及所需要的安装包,从github上下载,配置镜像,完成能力的封装;
步骤六,镜像封装完成后,上传到Harbor库中,同时将生成的chart包上传到master节点,用户能够通过边缘计算前端平台进行操作,实现封装好的能力下发部署操作。
2.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述Harbor库部署在公网服务器,边缘端节点可以随时访问并拉取镜像。
3.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述master节点部署在公网服务器,保证边缘端节点可以访问,并与边缘端节点进行单向通信。
4.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述worker节点安装在jetson上,同时能够获取同一局域网内终端设备,包括摄像头、传感器等的数据。
5.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述k3s资源申请需要在申请文件中限制需要的资源,包括CPU,存储,内存等硬件资源,保证足够的资源是的能力顺利运行。
6.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述应用能力封装,需要限制能力所运行的CPU架构,包括ARM64与AMD64等,封装相应CPU架构的能力。
7.根据权利要求1所述的一种基于k3s的边缘计算应用能力部署方法,其特征在于,所述镜像封装完成后,需要在具有docker环境的服务器中上传到所述的公网harbor库中,便于能力拉取和部署。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528131.7A CN113590305B (zh) | 2021-05-14 | 2021-05-14 | 一种基于k3s的边缘计算应用能力部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110528131.7A CN113590305B (zh) | 2021-05-14 | 2021-05-14 | 一种基于k3s的边缘计算应用能力部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590305A true CN113590305A (zh) | 2021-11-02 |
CN113590305B CN113590305B (zh) | 2022-12-09 |
Family
ID=78243227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110528131.7A Active CN113590305B (zh) | 2021-05-14 | 2021-05-14 | 一种基于k3s的边缘计算应用能力部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590305B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109947536A (zh) * | 2019-03-25 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于Kubernetes的PostgreSQL自动化部署方法 |
CN109981351A (zh) * | 2019-03-06 | 2019-07-05 | 浪潮通用软件有限公司 | 一种私有云部署方法 |
-
2021
- 2021-05-14 CN CN202110528131.7A patent/CN113590305B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108958927A (zh) * | 2018-05-31 | 2018-12-07 | 康键信息技术(深圳)有限公司 | 容器应用的部署方法、装置、计算机设备和存储介质 |
CN109981351A (zh) * | 2019-03-06 | 2019-07-05 | 浪潮通用软件有限公司 | 一种私有云部署方法 |
CN109947536A (zh) * | 2019-03-25 | 2019-06-28 | 山东浪潮云信息技术有限公司 | 一种基于Kubernetes的PostgreSQL自动化部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113590305B (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109600246B (zh) | 网络切片管理方法及其装置 | |
KR101432128B1 (ko) | M2m 네트워크상에서의 리소스를 디바이스 오브젝트로 추상화하는 m2mm 플랫폼 | |
CN101198034B (zh) | 一种网络视频监控系统及其数据交换方法 | |
CN111158779B (zh) | 一种数据处理方法和相关设备 | |
CN115349248B (zh) | 基于网络的媒体处理部署的方法,系统和装置 | |
CN112333017B (zh) | 一种服务配置方法、装置、设备及存储介质 | |
CN113377344B (zh) | 一种复杂信息系统综合集成方法 | |
CN110855680A (zh) | 一种物联网设备对接方法及装置 | |
KR102553478B1 (ko) | 네트워크 기능에 필요한 리소스의 배치방법, 저장매체 및 전자 장치 | |
CN114024365B (zh) | 变电站监视系统、方法、电子设备和存储介质 | |
CN113590305B (zh) | 一种基于k3s的边缘计算应用能力部署方法 | |
CN109166205B (zh) | 停车场门禁系统、适配方法及物联网网关 | |
WO2023066053A1 (zh) | 业务请求处理方法、网络设备及计算机可读存储介质 | |
CN116980495A (zh) | 一种数据转换方法、装置、计算机设备、介质及产品 | |
CN114830105A (zh) | 一种数据读取方法以及终端 | |
CN116915529A (zh) | 设备管理方法、装置、电子设备及存储介质 | |
CN116701004A (zh) | 云函数开发方法、装置、电子装置和存储介质 | |
CN113691575B (zh) | 通信方法、装置及系统 | |
CN110519400B (zh) | 将设备流量进行多入口分离的物联网平台的实现方法 | |
CN114024366B (zh) | 变电站监控系统、方法、电子设备和存储介质 | |
CN107528797B (zh) | 数据处理方法、装置及系统 | |
CN116560756B (zh) | 服务编排方法、电子设备、计算机可读存储介质 | |
CN112532715B (zh) | 部署方法、访问方法、设备、系统及计算机可读存储介质 | |
CN116389252B (zh) | 容器网络的更新方法、装置、系统、电子设备和存储介质 | |
CN111126883B (zh) | 基于区块链的研发项目信息的管理方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |