一种工业应用快速部署的方法与流程

文档序号:26101487发布日期:2021-07-30 18:12阅读:70来源:国知局

本发明涉及计算机技术的技术领域,特别是涉及一种工业应用快速部署的方法。



背景技术:

在工业互联网化的趋势中,开发和运用工业互联网应用(工业应用)是其中最重要的工作活动之一。

相比于一般互联网应用,工业互联网领域的应用自身带有工业属性,与工业生产中的各个环节业务存在高度耦合性。因为部分历史遗留原因,一方面工业领域同时存在大量不同的通信协议以对应不同公司或者不同类别的产品;另一方面部署和运行工业应用将面对适配不同平台、不同环境的主机的复杂问题,其中涉及调试、环境适配等工作更是整个流程中极其耗时的环节;第三方面运维期间,将面临运维成本居高不下,包括电能消耗、人工成本等问题。



技术实现要素:

为解决上述技术问题,本发明提供一种工业应用快速部署的方法,通过对kubernates框架进行二次开发,通过抽象和封装出“应用”、“实例”的概念,最大限度提高应用效率、同时消除了平台差异带来的迁移成本,提高了开发者部署和运行工业互联网应用的速度,降低了应用的运维成本。

本发明的一种工业应用快速部署的方法,包括以下步骤:

s1、为了达到快速部署的目的,首先对工业应用进行抽象,提取出所有工业应用相同的部分,得到抽象概念;

s2、抽象化后,定义实例的概念,将上述抽象概念与工业应用关联起来,通过k8s提供的资源管理方法,实例申请和使用底层硬件资源,包括cpu、内存、存储、网络资源;

s3、针对s1中的抽象概念,将工业应用运行的需求参数化,定义不同工业应用运行需要的模板;

s4、通过定义k8s中的anotation提供对相关应用运行状态的跟踪与查询,在实例的部署文件中均加入平台相关的annotation;

s5、根据用户输入的参数结合步骤s3的模板文件,生成完整的kubernetes部署文件存储在实例中,部署时候,通过与kubernetes的apiserver组件进行交互,将生成的部署文件通过httppost请求发送到apiserver中,这样就将用户定制的工业应用快速部署到kubernetes集群中,实现了工业应用的快速部署。

本发明的一种工业应用快速部署的方法,所述步骤s1中,抽象概念包括:runtime运行环境、cpu与内存使用需求、持久化存储使用需求、对外服务端口、依赖的其他服务资源。

本发明的一种工业应用快速部署的方法,所述步骤s2中,实例的定义如下:

其中实例的instancerevision(历史版本信息)中保存部署在kubernetes集群中的yaml文件,用于控制kubernetes使用底层计算资源;

上述manifest字段封装了kubernetes的部署文件,一个kubernetes部署文件的示例如下:

这个部署文件包含数百个不同的配置字段,使用实例这个概念将复杂的yaml文件隐藏起来;s1中工业应用快速部署需要的不同抽象概念,按照如下的方式与上述kubernetes部署文件一一对应起来:

(1)image字段描述工业应用runtime运行时环境;

(2)resources字段描述工业应用运行所需的cpu内存资源;

(3)port字段描述工业应用运行暴露的外部端口号;

(4)persistentvolumeclaim部分描述工业应用运行所需要存储资源;

(5)service部分描述工业应用运行所依赖的外部服务;

通过实例这个概念,将复杂的kubernetes部署文件以清晰易懂的方式呈现在用户面前。

本发明的一种工业应用快速部署的方法,所述步骤s3中:

模板文件的示例如下:

其中使用${}符号表示的字段就是运行不用工业应用所需要的参数,用户只需要根据适当可视化引导填入这些参数,即实现快速部署工业应用,不需要处理复杂kubernetes部署文件,同时也能够使用kubernetes系统提供的强大云原生生态,通过对单个工业应用的模板化定义实现去平台的多环境部署与扩容。

本发明的一种工业应用快速部署的方法,所述步骤s4中,具体步骤如下:

adc.htres.cn/user-id:"${user_id}"

adc.htres.cn/instance-id:"${instance_id}"

其中${user_id}是实例的拥有者id,表示资源的所有者,${instance_id}是实例的id,表示具体的资源唯一标识,通过这两个annotation,定位到该实例的运行状态和资源消耗数据。

与现有技术相比本发明的有益效果为:工业互联网应用开发者使用此方法可以对其开发的工业互联网应用实现快速部署,对应用运行时状态进行管理,同时能够使用kubernetes强大的云原生生态,包括弹性扩容,物理资源管理,滚动升级,监控报警等一系列功能,帮助开发者以更快速,更高效的方式部署、运维自己的工业应用。

具体实施方式

下面结合实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

本发明的一种工业应用快速部署的方法,包括以下步骤:

s1、为了达到快速部署的目的,首先对工业应用进行抽象,提取出所有工业应用相同的部分,得到抽象概念;

s2、抽象化后,定义实例的概念,将上述抽象概念与工业应用关联起来,通过k8s提供的资源管理方法,实例申请和使用底层硬件资源,包括cpu、内存、存储、网络资源;

s3、针对s1中的抽象概念,将工业应用运行的需求参数化,定义不同工业应用运行需要的模板;

s4、通过定义k8s中的anotation提供对相关应用运行状态的跟踪与查询,在实例的部署文件中均加入平台相关的annotation;

s5、根据用户输入的参数结合步骤s3的模板文件,生成完整的kubernetes部署文件存储在实例中,部署时候,通过与kubernetes的apiserver组件进行交互,将生成的部署文件通过httppost请求发送到apiserver中,这样就将用户定制的工业应用快速部署到kubernetes集群中,实现了工业应用的快速部署。

本发明的一种工业应用快速部署的方法,步骤s1中,抽象概念包括:runtime运行环境、cpu与内存使用需求、持久化存储使用需求、对外服务端口、依赖的其他服务资源。

本发明的一种工业应用快速部署的方法,步骤s2中,实例的定义如下:

其中实例的instancerevision(历史版本信息)中保存部署在kubernetes集群中的yaml文件,用于控制kubernetes使用底层计算资源(如cpu、内存、存储、网络资源等);

instancerevision的定义如下:

上述manifest字段封装了kubernetes的部署文件,一个kubernetes部署文件的示例如下:

这个部署文件包含数百个不同的配置字段,对于入门用户具有很高的学习门槛,本发明中使用实例这个概念将复杂的yaml文件隐藏起来;s1中工业应用快速部署需要的不同抽象概念,按照如下的方式与上述kubernetes部署文件一一对应起来:

(1)image字段描述工业应用runtime运行时环境;

(2)resources字段描述工业应用运行所需的cpu内存资源;

(3)port字段描述工业应用运行暴露的外部端口号;

(4)persistentvolumeclaim部分描述工业应用运行所需要存储资源;

(5)service部分描述工业应用运行所依赖的外部服务;

通过实例这个概念,将复杂的kubernetes部署文件以清晰易懂的方式呈现在用户面前。

本发明的一种工业应用快速部署的方法,步骤s3中:

模板文件的示例如下:

其中使用${}符号表示的字段就是运行不用工业应用所需要的参数,用户只需要根据适当可视化引导填入这些参数,即实现快速部署工业应用,不需要处理复杂kubernetes部署文件,同时也能够使用kubernetes系统提供的强大云原生生态,通过对单个工业应用的模板化定义实现去平台的多环境部署与扩容。

本发明的一种工业应用快速部署的方法,步骤s4中,具体步骤如下:

adc.htres.cn/user-id:"${user_id}"

adc.htres.cn/instance-id:"${instance_id}"

其中${user_id}是实例的拥有者id,表示资源的所有者,${instance_id}是实例的id,表示具体的资源唯一标识,通过这两个annotation,定位到该实例的运行状态和资源消耗数据。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1