应用部署方法和装置制造方法及图纸

技术编号:15690621 阅读:342 留言:0更新日期:2017-06-24 03:09
本申请提供了应用部署方法和装置。本申请基于容器运行引擎运行容器镜像实现应用的部署,实现了以容器化技术进行应用部署,能够大大减短应用部署周期,甚至做到秒级部署,提高应用部署效率、大大降低应用部署成本,防止单纯使用虚拟机部署应用程序带来的缺陷。

Application deployment method and device

The application provides an application deployment method and device. This application container operation engine running container application deployment based on image, realizes the application deployment in container technology, can greatly shorten the deployment cycle, or even second deployment, improve the efficiency of application deployment, greatly reduce deployment costs, prevent the defects of simple deployment of applications using virtual machine.

【技术实现步骤摘要】
应用部署方法和装置
本申请涉及网络通信技术,特别涉及应用部署方法和装置。
技术介绍
随着信息化技术的发展,目前常用的方式是使用现成的不同服务程序组合来构建和装配应用程序并使用虚拟机部署应用程序。这相比之前由开发人员编写应用程序,大大节省开发人员工作量。然而,随着用户应用数量和规模的不断增长,伴随的是操作系统、数据库、应用程序越来越多,单纯使用虚拟机部署应用程序会出现部署周期长、成本高、效率低等缺陷。
技术实现思路
本申请提供了应用部署方法和装置,以防止单纯使用虚拟机部署应用程序带来的缺陷。本申请提供的技术方案包括:一种应用部署方法,该方法包括:将待部署的应用对应的应用信息转换成容器描述文件;基于所述容器描述文件构建容器镜像;在部署所述应用时,检测所述应用运行的网络设备是否包含所述容器镜像运行的容器运行引擎,如果是,基于所述网络设备上的所述容器运行引擎运行所述容器镜像以实现所述应用的部署;如果否,在所述网络设备上加载所述容器镜像运行的容器运行引擎,基于加载的容器运行引擎运行所述容器镜像以实现所述应用的部署。一种应用部署装置,该装置包括:应用转置模块,用于将待部署的应用对应的应用信息转换成容器描述文件;镜像服务模块,用于基于所述容器描述文件构建容器镜像;应用部署模块,用于在部署所述应用时,检测所述应用运行的网络设备是否包含所述容器镜像运行的容器运行引擎,如果是,基于所述网络设备上的所述容器运行引擎运行所述容器镜像以实现所述应用的部署;如果否,在所述网络设备上加载所述容器镜像运行的容器运行引擎,基于加载的容器运行引擎运行所述容器镜像以实现所述应用的部署。由以上技术方案可以看出,本专利技术中,通过基于容器运行引擎运行容器镜像实现应用的部署,实现了以容器化技术进行应用部署,能够大大减短应用部署周期,甚至做到秒级部署,提高应用部署效率、大大降低应用部署成本,防止单纯使用虚拟机部署应用程序带来的缺陷。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。图1为本专利技术提供的方法流程图;图2为本专利技术提供的应用管理界面的截图;图3本专利技术提供的配置应用模板界面截图;图4为本专利技术提供的装置结构示意图。具体实施方式本专利技术采用容器化技术进行应用部署,相比于单纯使用虚拟机进行应用部署,能够减短应用部署周期、提高应用部署效率、降低应用部署成本。为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。参见图1,图1为本专利技术提供的方法流程图。如图1所示,该流程可包括以下步骤:步骤101,将待部署的应用对应的应用信息转换成容器描述文件。本步骤101中将待部署的应用对应的应用信息转换成容器描述文件能够实现从应用(也称原生应用)至容器(也称容器化应用)的自动转置。容器,完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,容器不依赖于任何语言、框架或包装系统。在本专利技术中,按照步骤101,能够实现部署不同应用时不同应用之间相互隔离,防止因应用之间的抵御和依赖而增加应用部署的难度。步骤102,基于容器描述文件构建容器镜像并存储。步骤103,在部署应用时,检测应用运行的网络设备是否包含所述容器镜像运行的容器运行引擎,如果是,执行步骤104,如果否,执行步骤105。步骤104,基于所述网络设备上的所述容器运行引擎运行所述容器镜像以实现所述应用的部署。步骤105,在所述网络设备上加载所述容器镜像运行的容器运行引擎,基于加载的容器运行引擎运行所述容器镜像以实现所述应用的部署。通过步骤104至步骤105可以看出,本专利技术在部署应用时是基于容器运行引擎运行容器镜像实现的,实现了以容器化技术进行应用部署。如上描述的容器的优点,则相比于单纯使用虚拟机进行应用部署,本专利技术提供的以容器化技术进行应用部署能够大大减短应用部署周期,甚至做到秒级部署,提高应用部署效率、大大降低应用部署成本。作为本专利技术的一个实施例,这里,步骤105中在所述网络设备上加载所述容器镜像运行的容器运行引擎可包括:若所述网络设备为物理服务器,则通过裸金属架构置备所述容器镜像运行的容器运行引擎;这里,裸金属架构为现有方式,不再赘述;若所述网络设备为虚拟机,通过虚拟化镜像模板方式置备所述容器镜像运行的容器运行引擎;这里,虚拟化镜像模板方式为现有方式,不再赘述。至此,完成图1所示的流程。作为一个实施例,步骤101中将待部署的应用对应的应用信息转换成容器描述文件可包括:步骤a1,获取所述应用对应的应用信息。这里,所述应用信息至少包含所述应用的应用软件包、所述应用运行的操作系统类别、所述应用对应的参数项、应用安装脚本。作为一个实施例,步骤a1中获取所述应用对应的应用信息可包括:步骤a11,获取管理员在应用管理界面上传的自定义软件,自定义软件包含:所述应用的应用软件包、所述应用运行的操作系统类别、应用安装脚本。这里,应用软件包至少包含软件定义和软件程序。软件定义包含如软件名称、软件描述等。步骤a12,在应用管理界面上获取所述应用所需的参数项。图2示出了应用管理界面的截图。需要说明的是,步骤a12获取的参数项是管理员基于应用的需求在应用管理界面设置的,但并没有被具体赋值,比如图2所示的用户名(Username)、密码(Passeord)。通过步骤a11至步骤a12实现了步骤a1中获取所述应用对应的应用信息的操作。步骤a2,按照设定的容器描述文件格式将所述应用信息转换生成容器描述文件。Docker、Rocket/rkt、openVZ/Odin等是目前常用的基于LXC(LinuxContainer)或其它资源隔离的应用容器化技术方案,基于此,这里的设定的容器描述文件格式可为目前常用的应用容器化技术方案中的格式,比如Docker对应的Dockerfile格式等,本专利技术并不具体限定。至此,通过步骤a1至步骤a2实现了步骤101中将待部署的应用对应的应用信息转换成容器描述文件的操作。作为一个实施例,本专利技术中,为保证所述应用部署,在部署所述应用之前,需进一步执行以下步骤b1至步骤b3:步骤b1,在已定义的配置应用模板界面为所述应用创建对应的应用模板。这里,步骤b1创建应用模板的方式类似现有应用模板创建方式,不再赘述。步骤b2,确定用户在配置应用模板界面选择所述应用需部署至的网络设备,当所述网络设备为网络中已有的物理服务器,则将所述应用拖拽至所述物理服务器,当所述网络设备为网络中未有的虚拟机,则新建虚拟机,并将所述应用拖拽至所述虚拟机。图3举例示出了配置应用模板界面截图。如图3所示,用户在配置应用模板界面选择所述应用需部署至的网络设备可以是应用模板界面显示的物理服务器(实质也是网络中已有的物理服务器),也可以选择网络中未有的虚拟机,这种情况下,需要采用虚拟机技术创建虚拟机。步骤b3,为所述应用对应的参数项设置参数值,基于参数值、所述应用部署至的网络设备的信息生成应用部署模板。假如所述应用对应的参数项为图2所示的用户名(Username)、密码(Passeord),则执行到步骤b3时,则为用户名(Username)、密码(Passeord)赋值。通过步骤b1至步骤b3最终实本文档来自技高网...
应用部署方法和装置

【技术保护点】
一种应用部署方法,其特征在于,该方法包括:将待部署的应用对应的应用信息转换成容器描述文件;基于所述容器描述文件构建容器镜像;在部署所述应用时,检测所述应用运行的网络设备是否包含所述容器镜像运行的容器运行引擎,如果是,基于所述网络设备上的所述容器运行引擎运行所述容器镜像以实现所述应用的部署;如果否,在所述网络设备上加载所述容器镜像运行的容器运行引擎,基于加载的容器运行引擎运行所述容器镜像以实现所述应用的部署。

【技术特征摘要】
1.一种应用部署方法,其特征在于,该方法包括:将待部署的应用对应的应用信息转换成容器描述文件;基于所述容器描述文件构建容器镜像;在部署所述应用时,检测所述应用运行的网络设备是否包含所述容器镜像运行的容器运行引擎,如果是,基于所述网络设备上的所述容器运行引擎运行所述容器镜像以实现所述应用的部署;如果否,在所述网络设备上加载所述容器镜像运行的容器运行引擎,基于加载的容器运行引擎运行所述容器镜像以实现所述应用的部署。2.根据权利要求1所述的方法,其特征在于,所述将待部署的应用对应的应用信息转换成容器描述文件包括:获取所述应用对应的应用信息,所述应用信息至少包含所述应用的应用软件包、所述应用运行的操作系统类别、所述应用对应的参数项、应用安装脚本;按照设定的容器描述文件格式将所述应用信息转换生成容器描述文件。3.根据权利要求1所述的方法,其特征在于,当基于容器运行引擎运行所述容器镜像时,该方法进一步包括:确定基于容器运行引擎运行所述容器镜像时生成的容器实例;其中,所述容器实例与其他已有的容器实例相互隔离;对所述容器实例进行生命周期管理,所述生命周期管理至少包含:容器实例启用、开始、停止、删除。4.根据权利要求1所述的方法,其特征在于,部署所述应用之前进一步包括:在已定义的配置应用模板界面为所述应用创建对应的应用模板;确定用户在所述配置应用模板界面选择所述应用需部署至的网络设备,当所述网络设备为网络中已有的物理服务器,则将所述应用拖拽至所述物理服务器,当所述网络设备为网络中未有的虚拟机,则新建虚拟机,并将所述应用拖拽至所述虚拟机;为所述应用对应的参数项设置参数值,基于参数值、所述应用部署至的网络设备的信息生成应用部署模板;所述部署应用包括:基于所述应用部署模板部署所述应用。5.根据权利要求4所述的方法,其特征在于,将应用拖拽至物理服务器或虚拟机之前,进一步包括:检测所述用户是否满足所述应用的访问权限,当所述用户满足所述应用的访问权限时,继续执行将应用拖拽至物理服务器或虚拟机的操作。6.一种应用部署装置,其特征在于,该装置包括:应用转置模块,用于将待部署...

【专利技术属性】
技术研发人员:刘梦雯
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1