System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于电力物联网边缘计算,尤其涉及一种将应用迁移到边缘轻量级kubernetes的方法及系统。
技术介绍
1、边缘计算是云计算的一种变体,自推出以来,边缘计算已经成为一种行之有效的运行时平台,可以帮助解决电信、媒体、运输、物流、农业、零售和其他领域中的难题。与此同时,kubernetes(简称k8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用)也迅速成为边缘计算的关键要素,通过使用kubernetes,企业可以在边缘运行容器并最大化利用资源、简化测试,而且由于许多组织能够在现场使用和分析更多数据进而让工作人员能够更快、更有效地进行迁移。边缘计算具有诸多优点,首先,低延迟,通过提高现场设备的性能,使其不仅能够更快地响应,而且能够响应更多事件;其次,低流量,这有助于降低成本并提高总体吞吐量,从而使核心数据中心能够支持更多的现场设备;最后,对于单机应用程序,在边缘和数据中心之间存在网络中断的情况下,则更具备高可用性。
2、随着物联网中智能设备的数量增长,5g网络的到来对边缘计算也产生了重大影响,由于边缘计算执行人工智能任务的重要性日益增长,企业对边缘计算愈发关注。随着电网公司对电力物联网建设的加速推进,连接到电力物联网的终端设备以及数据量呈指数级的增长,将应用部署全部集中在云端已经不能满足实时业务、应用智能、安全与隐私保护等方面的基本需求,因而电网公司对应用下放到边缘侧的需求越来越多,考虑到边缘侧的资源受限,需要考虑如何保证应用顺利迁移的情况下,尽量少占用资源,同时也要保证应用的配置以及数据同时进行迁移
3、因此,如何提供一种简单灵活、资源占用少、迁移效率高的应用迁移方法,以保证应用又快又顺利的迁移,是本
人员亟待解决的问题。
技术实现思路
1、针对现有技术的不足,本专利技术的目的是提供一种将应用迁移到边缘轻量级kubernetes的方法,以解决现有技术中在应用迁移时过程繁杂、资源浪费多,以致应用迁移效率低的问题;另外本专利技术还提供了一种将应用迁移到边缘轻量级kubernetes的系统。
2、为了解决上述技术问题,本专利技术采用了如下的技术方案:
3、第一方面,本专利技术提供了一种将将应用迁移到边缘轻量级kubernetes的方法,包括以下步骤:
4、s10、将应用进程的可执行文件打包成二进制文件,配置应用包文件,将应用进行分类,分为有状态应用以及无状态应用;
5、s20、配置基础镜像的dockerfile文件,选择最精简的基础镜像,减少镜像的层数并清理镜像构建的中间产物,多阶段构建镜像;
6、s30、配置k3s配置文件,并进行应用服务编排;
7、s40、集成portworx工具实现有状态应用以及无状态应用的迁移,若是集群迁移,则对目标集群进行配置,使其准备与来源集群进行配对,在目标集群上设置一个对象存储端点,作为数据在迁移过程中进行分级的位置,然后为来源集群创建一个token在配对过程中使用;
8、s50、将有状态应用的数据以及配置进行迁移,并进行pod数据持久化,将应用部署到k3s上。
9、进一步的,所述步骤s20中的具体步骤如下:
10、s201、将镜像最小化:在使用docker构建镜像时,用&&将多条指令连接;
11、s202、加快应用镜像构建速度:删除构建过程中不必要的文件或者创建单独的目录,构建镜像时,将所有需要的文件收集到指定目录,在构建的时候把变化最少的部分放在dockerfile的前面;
12、s203、dockerfile构建指令优化:在镜像构建过程中避免使用sudo命令,或采用gosu命令替代;使用绝对路径,切换目录的时候使用workdir;尽避免cmd指令与entrypoint指令配合使用,若dockerfile中同时有cmd和entrypoint指令,若cmd是可执行的命令,则cmd指令在entrypoint之前运行,若cmd不是可执行的命令,则作为entrypoint的命令参数追加;所有的文件复制均使用copy指令,仅在需要自动解压缩的场合使用add指令;
13、s204、自动构建应用镜像包:获取应用程序包文件,创建dockerfile文件,优化构建命令以及镜像文件,生成docker build命令,并在docker环境下执行,将生成的镜像推送到执行的harbor镜像仓库,若构建过程慢,则采用异步处理,收到构建命令后立即返回结果处理中,再轮询构建进度,错误时返回对应的错误信息。
14、进一步的,所述步骤s30中的具体步骤如下:
15、s301、k3s配置负责服务的注册和发现,所有部署在k3s上的应用都通过k3s的服务进行互相调用;
16、s302、k3s在创建容器时会创建环境变量,应用进程在容器里运行时通过从环境变量里读取共享参数,以实现应用进程和k3s共享参数。
17、进一步的,所述步骤s40中,集成portworx工具的步骤如下:
18、下载portworx插件,暂时不启用;
19、建立目录,所述目录将挂在安装的portworx插件上,运行etcd;
20、配置portworx插件;
21、修改/etc/pwx/config.json文件,删除/etc/pwx/.private*文件,重新构建portworx;
22、使用pxctl cli工具;
23、docker命令创建并使用portworx卷。
24、进一步的,所述步骤s40中,集群配对的步骤如下:
25、建立对于pxctl的访问,检查pxctl在具有kubectl访问的情况下在工作站的运作情况;
26、对目标集群进行设置使其准备好与来源集群进行配对,在目标集群上设置一个对象存储端点,作为数据在迁移过程中进行分级的位置,为来源集群创建一个token在配对过程中使用;
27、创建一个集群配对clusterpair.yaml配置文档,应用到来源kubernetes集群中,clusterpair.本文档来自技高网...
【技术保护点】
1.一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S20中的具体步骤如下:
3.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S30中的具体步骤如下:
4.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S40中,集成Portworx工具的步骤如下:
5.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S40中,集群配对的步骤如下:
6.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S50中迁移的具体步骤如下:
7.根据权利要求1所述的一种将应用迁移到边缘轻量级Kubernetes的方法,其特征在于,所述步骤S10中,有状态应用和无状态应用通过state字段区分。
8.一种采用如权
9.根据权利要求8所述的系统,其特征在于,所述数据存储模块中持久化保存是先创建持久卷声明清单,指定所需要的最低容量要求和访问模式,用户将持久卷声明清单提交给K3s API服务器,K3s将找到可匹配的持久卷,并将其绑定到持久卷声明。
10.根据权利要求8所述的系统,其特征在于,所述部署模块的部署步骤如下:
...【技术特征摘要】
1.一种将应用迁移到边缘轻量级kubernetes的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种将应用迁移到边缘轻量级kubernetes的方法,其特征在于,所述步骤s20中的具体步骤如下:
3.根据权利要求1所述的一种将应用迁移到边缘轻量级kubernetes的方法,其特征在于,所述步骤s30中的具体步骤如下:
4.根据权利要求1所述的一种将应用迁移到边缘轻量级kubernetes的方法,其特征在于,所述步骤s40中,集成portworx工具的步骤如下:
5.根据权利要求1所述的一种将应用迁移到边缘轻量级kubernetes的方法,其特征在于,所述步骤s40中,集群配对的步骤如下:
6.根据权利要求1...
【专利技术属性】
技术研发人员:任明,李峻,汤可,余伟峰,邱连,
申请(专利权)人:威胜信息技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。