CN112527455A - 业务容器的部署方法、计算机设备和存储介质 - Google Patents

业务容器的部署方法、计算机设备和存储介质 Download PDF

Info

Publication number
CN112527455A
CN112527455A CN202011434311.0A CN202011434311A CN112527455A CN 112527455 A CN112527455 A CN 112527455A CN 202011434311 A CN202011434311 A CN 202011434311A CN 112527455 A CN112527455 A CN 112527455A
Authority
CN
China
Prior art keywords
container
service
service container
deployment
mirror image
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.)
Pending
Application number
CN202011434311.0A
Other languages
English (en)
Inventor
崔健敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan United Imaging Healthcare Co Ltd
Original Assignee
Wuhan United Imaging Healthcare Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan United Imaging Healthcare Co Ltd filed Critical Wuhan United Imaging Healthcare Co Ltd
Priority to CN202011434311.0A priority Critical patent/CN112527455A/zh
Publication of CN112527455A publication Critical patent/CN112527455A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种业务容器的部署方法、计算机设备和存储介质。所述方法通过接收用户端发送的部署指令,并根据部署指令获取待部署的至少一个业务容器,其中,每个业务容器根据包含多进程管理器的镜像生成,以及每个业务容器包括多个进程的处理程序。该方法实现了跨用户端和多个服务器的业务容器的一键部署,减少了实施人员来回切换多台机器部署引发的认为失误问题,极大的提高了部署效率和准确性。而且,业务容器包括多个进程的处理程序,并通过设置多进程管理器实现多进程管理,提高了业务容器的执行效率。

Description

业务容器的部署方法、计算机设备和存储介质
技术领域
本申请涉及计算机设备技术领域,特别是涉及一种业务容器的部署方法、计算机设备和存储介质。
背景技术
在系统的开发过程中,需要根据现场的实施环境部署具体业务的容器。现有的业务容器有两种场景,一种是直接使用dockerhub上的业务镜像,在每台服务器上直接使用shell脚本进行服务安装和容器部署。另一种是使用官方镜像Dockerfile直接制作业务容器,使用dokercompose在单台服务器上部署。
但是,由于现场实施部署环境中的复杂性和不确定性,会导致部署业务时出现不可控因素,从而降低部署效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高部署效率的业务容器的部署方法、装置、计算机设备和存储介质。
第一方面,一种业务容器的部署方法,所述方法包括:
接收用户端发送的部署指令;
根据所述部署指令获取预部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
在其中一个实施例中,所述方法还包括:
将通过所述多进程管理器监控到的业务容器的进程状态发送至所述用户端。
在其中一个实施例中,根据包含多进程管理器的镜像生成所述业务容器的方法,包括:
确定所述业务容器对应的处理程序;
根据所述业务容器对应的处理程序和所述多进程管理器,生成所述业务容器;所述处理程序包括业务程序或中间件服务程序。
在其中一个实施例中,所述根据所述业务容器对应的处理程序和所述多进程管理器,生成所述业务容器,包括:
将操作系统镜像转换为Docker镜像,得到基础镜像;
将所述处理程序和所述多进程管理器封装到所述基础镜像中,生成所述业务容器镜像;
运行所述业务容器镜像,得到所述业务容器。
在其中一个实施例中,所述处理程序还包括安全隔离服务程序。
在其中一个实施例中,所述运行所述业务容器镜像,得到所述业务容器,包括:
运行所述业务容器镜像时,采用预设网络固定所述业务容器与外部容器进行通信的接口地址。
在其中一个实施例中,所述业务容器的配置文件存储在共享存储中。
在其中一个实施例中,所述部署指令为被一键触发的指令。
第二方面,一种业务容器的部署方法,所述方法包括:
向至少一个服务器发送部署指令;
展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
在其中一个实施例中,所述向至少一个服务器发送部署指令之前,所述方法还包括:
获取部署策略;
根据所述部署策略,确定部署在各所述服务器上的至少一个业务容器;
根据部署在各所述服务器上的至少一个业务容器,生成发送至各所述服务器的部署指令。
第三方面,一种业务容器的部署装置,所述装置包括:
接收模块,用于接收用户端发送的部署指令;
获取模块,用于根据所述部署指令获取预部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
第四方面,一种业务容器的部署装置,所述装置包括:
发送模块,用于向至少一个服务器发送部署指令;
展示模块,用于展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
第五方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
第六方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第二方面所述的方法。
第七方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
第八方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的方法。
上述业务容器的部署方法、计算机设备和存储介质,通过接收用户端发送的部署指令,并根据部署指令获取待部署的至少一个业务容器,其中每个业务容器根据包含多进程管理器的镜像生成,以及每个业务容器包括多个进程的处理程序。该方法实现了跨用户端和多个服务器的业务容器的一键部署,减少了实施人员来回切换多台机器部署引发的认为失误问题,极大的提高了部署效率和准确性。而且,业务容器包括多个进程的处理程序,并通过设置多进程管理器实现多进程管理,提高了业务容器的执行效率。
附图说明
图1为一个实施例中业务容器的部署方法的应用系统的结构示意图;
图2为一个实施例中业务容器的部署方法的流程示意图;
图3为一个实施例中业务容器的部署方法的流程示意图;
图4为一个实施例中业务容器生成方法的流程示意图;
图5为图3实施例中S202的一种实现方式的流程示意图;
图6为一个实施例中容器构建系统的结构示意图;
图7为一个实施例中业务容器构建方法的流程示意图;
图8为一个实施例中业务容器的部署方法的流程示意图;
图9为一个实施例中业务容器的部署方法的流程示意图;
图10为一个实施例中业务容器的部署方法的流程示意图;
图11为一个实施例中一键部署系统的框架图;
图12为一个实施例中业务容器的部署装置的结构框图;
图13为一个实施例中业务容器的部署装置的结构框图;
图14为一个实施例中业务容器的部署装置的结构框图;
图15为一个实施例中业务容器的部署装置的结构框图;
图16为一个实施例中业务容器的部署装置的结构框图;.
图17为一个实施例中业务容器的部署装置的结构框图;
图18为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
现有的业务容器构建及部署有两种场景。即,第一种方式,直接使用dockerhub上的业务镜像,在每台服务器上直接使用shell脚本进行服务安装和容器部署。这种方式的业务镜像存在安全隐患并且镜像大小难以控制,容器管理的脚本也不够灵活,实施人员容易出现误操作。第二方式,dockercompose方式,使用极简版官方镜像Dockerfile直接制作业务容器,使用dockercompose在单台服务器上部署。这种方式制作的容器虽然安全性得到一定的保障,镜像大小可以管控了但是无法进行调试且容器进程难以管理,由于容器内部IP经常变化导致中间件集群容器化困难。部署上也需多次执行dockercompose脚本,仍然不够灵活。综上所述,现有的容器构建还是基于容器运行单个进程服务的方式,而部署方式也未实现一键部署更没有可视化的一键部署。因此,本申请提出了一种实现可视化的一键部署的业务容器的部署方法。
本申请提供的业务容器的部署方法,可以应用于如图1所示的应用系统中。其中,终端110通过网络与服务器120进行通信。终端110向服务器120发送部署指令,以指示服务器120接收到部署指令后进行本地业务容器的部署工作。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的应用系统的限定,具体的应用系统可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,如图2所示,提供了一种业务容器的部署方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S101,接收用户端发送的部署指令。
其中,部署指令用于指示服务器部署相应的虚拟机业务容器,例如,部署指令可以指示服务器部署中间件类虚拟机业务容器,也可以指示服务器部署业务程序类虚拟机业务容器,还可以指示服务器部署其它类虚拟机业务容器等。
本实施例中,实施人员可以登录用户端的部署平台,在部署平台上发布部署指令。可选的,部署指令可以是被一键触发的指令,即实施人员可以通过一键触发的方式发布部署指令。例如,实施人员可以通过按压机械按钮的方式实现一键触发以指示用户端向服务器发布部署指令,也可以通过语音输入的方式实现一键触发以指示用户端向服务器发布部署指令,还可以通过其它方式实现一键触发以指示用户端向服务器发布部署指令,对于一键触发的方式本实施例不限定。当用户端向服务器发布部署指令时,可以向服务器发送部署指令,以便服务器之后根据接收到的部署指令进行虚拟业务容器的部署和应用。
S102,根据部署指令获取待部署的至少一个业务容器;其中,每个业务容器根据包含多进程管理器的镜像生成,且每个业务容器包括多个进程的处理程序。
其中,待部署的业务容器可以由本地服务器预先定制开发生成,也可以由其他服务器预先定制开发生成,并转移到本地服务器上进行部署应用。多进程管理器可以使用supervisor进程管理器,supervisor进程管理器可以实现对业务容器进行便捷管理,具有查看业务容器中各进程运行状态的功能。
本实施例中,当服务器接收到部署指令后,即可按照部署指令的指示,根据包含多进程管理器的镜像生成待部署的业务容器进行部署应用;可选的,服务器也可以直接从其它开发服务器上获取由多进程管理器的镜像生成的待部署的业务容器,即直接获取封装好的容器进行部署应用。
上述实施例提供的业务容器的部署方法,通过接收用户端发送的部署指令,并根据部署指令获取待部署的至少一个业务容器,其中每个业务容器根据包含多进程管理器的镜像生成,以及每个业务容器包括多个进程的处理程序。该方法实现了跨用户端和多个服务器的业务容器的一键部署,减少了实施人员来回切换多台机器部署引发的认为失误问题,极大的提高了部署效率和准确性。而且,业务容器包括多个进程的处理程序,并通过设置多进程管理器实现多进程管理,提高了业务容器的执行效率。
可选的,在服务器执行上述S102的步骤之后,服务器还可以通过多进程管理器对部署的业务容器的运行状态进行监控,并将监控到的业务容器的运行状态反馈给用户端,故在上述S102之后,如图3所示,图2实施例所述的方法还包括步骤:
S103,将通过多进程管理器监控到的业务容器的进程状态发送至用户端。
当服务器根据部署指令部署相应的业务容器后,即可通过多进程管理器(supervisor进程管理器)监控业务容器中所有业务程序的进程状态,并将监控到的业务容器的进程状态返回至用户端,并展示在用户端上,以使实施人员或用户可以查看业务容器部署的实时情况。
通过上述实施例提供的业务容器的部署方法,实施人员可以在用户端实时查看业务容器的进程状态,实现了对业务容器的进程的便捷管理,使得业务容器的调试和日常使用更为便利。
在一个实施例中,本申请还提供了一种业务容器的生成方法,如图4所示,该方法包括:
S201,确定业务容器对应的处理程序;处理程序包括业务程序或中间件服务程序程序。
本实施例中,当服务器构建或生成业务容器时,可以先确定需要构建的业务容器,若需要构建的业务容器是业务程序类虚拟机业务容器,则确定业务容器对应的处理程序为业务程序;若需要构建的业务容器是中间件类虚拟机业务容器,则确定业务容器对应的处理程序为中间件服务程序。
S202,根据业务容器对应的处理程序和多进程管理器,生成业务容器。
本实施例中,当确定了业务容器对应的处理程序后,即可在安全且极简的镜像的基础上依次封装多进程管理器、java环境、常用工具、处理程序,然后业务进程启动配置文件到镜像中,最后运行Dockerfile脚本生成虚拟机容器镜像,进而运行虚拟机容器镜像,得到对应的业务容器。
可选的,上述处理程序还包括安全隔离服务程序,即,在该应用场景下,在极简的镜像的基础上依次封装多进程管理器、java环境、常用工具、安全隔离服务程序、处理程序,然后业务进程启动配置文件到镜像中,最后运行Dockerfile脚本生成虚拟机容器镜像,进而运行虚拟机容器镜像,得到对应的业务容器。本实施例中,由于设置了安全隔离服务程序,使最终运行的业务容器实现了数据和容器的隔离,以及业务程序运行环境和服务器环境的安全隔离。
可选的,提供了上述S202的一种实现方式,如图5所示,上述S202“根据业务容器对应的处理程序和多进程管理器,生成业务容器”,包括:
S301,将操作系统镜像转换为Docker镜像,得到基础镜像。
其中,基础镜像为一种安全且极简的Docker镜像。操作系统镜像可以具体为ISO操作系统镜像。本实施例涉及基础镜像的生成过程,该过程包括:可以通过Docker引擎将ISO操作系统镜像文件直接导入到Docker镜像中,相当于将操作系统镜像转换为Docker镜像,生成基础镜像。本实施例基于ISO文件来定制化生成基础镜像,安全性得以保障且其后生成的容器大小可管控。
S302,将处理程序和多进程管理器封装到基础镜像中,生成业务容器镜像。
本实施例中,当服务器得到基础镜像以及确定了业务容器对应的处理程序后,即可依次将多进程管理器、java环境、常用工具、处理程序封装到基础镜像中,最后运行Dockerfile脚本生成业务容器镜像。
S303,运行业务容器镜像,得到业务容器。
当服务器得到业务容器镜像后,可以进一步的通过Docker引擎运行该业务容器镜像,得到业务容器。例如,当服务器得到业务程序类的业务容器镜像时,通过运行该业务容器镜像,可以得到业务程序类虚拟机业务容器;当服务器得到中间件类的业务容器镜像时,通过运行该业务容器镜像,可以得到中间件类虚拟机业务容器。
可选的,上述S303具体包括:运行业务容器镜像时,采用预设网络固定业务容器与外部容器进行通信的接口地址。
其中,预设网络可以为一种Macvlan网络,Macvlan网络提供了高性能的网络栈并固定了业务容器的IP和PORT。相比于传统的网络随机分配IP和PORT的方法,本实施例提供的方式可以使中间件固定下来进行集成管理,实现了中间件集群容器,可以极大的提升部署效率。另外,每个业务容器都拥有唯一的IP PORT,可以直接远程登录业务容器中使用supervisor查看业务容器的进程运行情况,避免了脚本运行成功服务仍未启动的疑难杂症。
可选的,运行业务容器镜像时,可以将业务容器的配置文件存储在共享存储中。本实施例中,可以通过网络文件系统(Network File System,NFS)提供配置文件的共享存储。即,当存在多个业务容器时,在共享存储中只需要修改一次配置文件,不需要重复修改配置文件,实现了容器配置文件的统一管理。
可选的,运行业务容器镜像时,可以通过高性能的动态数据存储器进行动态数据的读取。本实施例中,可以通过Host存储提供动态数据高性能读写,加快业务容器的业务数据交互,提高业务容器的部署效率。
在一个实施例中,本申请还提供了一种业务容器的构建方法,该方法应用于如图6所示的容器构建系统的结构示意图,如图7所示,该方法包括:
S401,通过Docker引擎将ISO操作系统镜像文件直接导入到Docker镜像中,生成一个安全且极简的Docker镜像。
S402,基于安全且极简的Docker镜像,通过Dockerfile脚本命令封装常用工具和处理程序、supervisor、java环境、安全隔离服务程序,且业务进程启动配置文件到镜像中。
S403,运行Dockerfile脚本最终生成类虚拟机容器镜像。
S404,通过Docker引擎启动类虚拟机容器时,通过Macvlan网络栈固定了IP和PORT,并通过NFS存储提供配置文件的共享存储,以及通过HOST存储提供动态数据高性能读写。
S405,运行类虚拟机容器镜像,得到类虚拟机容器(相当于前述实施例中的业务容器)。
本实施例提供的业务容器的构建方法首先实现了数据和容器的隔离,数据存储在服务器上,容器出现故障,清除容器后,重新部署后即可恢复环境;其次实现了业务程序运行环境和服务器环境的安全隔离;以及将业务程序、中间件服务程序等封装到容器中,在服务器上不用重复安装。supervisor管理业务程序进程的生命周期,实施和研发人员可以通过ssh服务登陆到容器中进行故障排查程序调试,IP和PORT固定化程序的配置文件无需修改,数据和容器的拆分容器随用随启。
上述图2-7实施例为服务器侧的业务容器的部署方法,下面图8-9实施例将说明用户端侧的业务容器的部署方法。
在一个实施例中,如图8所示,提供了一种业务容器的部署方法,以该方法应用于图1中的用户端为例进行说明,包括以下步骤:
S501,向至少一个服务器发送部署指令。
该步骤与前述S101的步骤所述的方法一致,详细内容请参见前述说明,此处不赘述。
S502,展示服务器根据部署指令返回的至少一个业务容器的进程状态;每个业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个业务容器包括多个进程的处理程序。
其中,业务容器的进程状态的获取方法与前述S103的步骤所述的方法一致,详细内容请参见前述说明,此处不赘述。
本实施例中,当用户端接收到服务器返回的业务容器的进程状态时,可以将该进程状态以图形的形式、或数据的形式、或其它形式展示在用户端的显示界面上,以便用户或实施人员可以随时查看业务容器的部署情况。具体的,部署的实时情况可以通过websocket展现给用户或实施人员。部署完成后,用户可以通过supervisor查看所有业务程序的进程状态,也即所有处理程序的进程状态。需要说明的是,可以通过Django提供可视化界面。另外,上述业务容器的部署方法,实现了可视化平台上图形化一键部署和部署实时状态显示。
在一个实施例中,还提供了生成部署指令的方法,如图9所示,该方法包括:
S601,获取部署策略。
其中,部署策略为实施人员在用户端规划中间件类虚拟机容器、业务程序类虚拟机容器的服务器的资源分配策略,例如,将ES、Mysql等读写性能高的中间件和hadoop、flume等占用内存高的中间件优先考虑分散到不同服务器上。
本实施例中,用户可以预先根据部署情景,制定部署策略。在首次部署时,需要将服务器信息注册到用户端的平台,当添加新的服务器时也需要将新添加的服务器信息注册到用户端的平台,以便之后根据服务器信息,以及结合待部署的业务容器,确定部署策略,即将哪些业务容器分配在合适的服务器上进行部署应用。
S602,根据部署策略,确定部署在各服务器上的至少一个业务容器。
当用户端获取到部署策略后,即可根据部署策略确定部署在各服务器上的业务容器,例如,将ES类业务容器分配到了A服务器上,将Mysql类业务容器分配到了B服务器上,将hadoop类业务容器分配到了C服务器上、flume类业务容器分配到了D服务器上。需要说明的是,当用户在用户端输入一键部署指令后,系统自动调用ansible playbook进行业务程序类虚拟机容器、中间件集群类虚拟机容器的部署。
S603,根据部署在各服务器上的至少一个业务容器,生成发送至各服务器的部署指令。
当用户端确定了部署在各服务器上的业务容器后,即可生成部署指令,且该部署指令中携带部署信息,使服务器在接收到该部署指令后,可以根据其中的部署信息确定部署在自身上的业务容器,以便后期进行业务容器的部署应用。
综合上述所有实施例,本申请还提供了一种业务容器的部署方法,如图10所示,该方法包括:
S701,登陆用户端的部署平台,确定是否首次部署,若首次部署,则注册部署服务器信息,若不是首次部署,则修改部署服务器信息。
S702,根据部署服务器信息确定部署策略。
S703,根据部署策略,确定部署在各服务器上的业务程序类业务容器和中间件类业务容器。
S704,通过进程管理器查看部署在各服务器上的业务程序类业务容器或中间件类业务容器的进程状态。
基于前述所有实施例所述的业务容器的部署方法,在一个实施例中,本申请还提供了一种一键部署系统框架图,该一键部署系统应用于上述任何实施例所述的业务容器的部署方法。如图11所示,该一键部署系统包括:用户端和服务器,其中,用户端包括:访问层、前端UI、展示层、业务层、数据层和数据库。服务器包括:基础设施、中间件、网络、批量安装操作系统、独立服务器需要说明的是,用户端和服务器中各层中包含的模块请参见图11,此处不一一陈列)。
综上分析,上述一键部署方法和一键部署系统,实现了让用户在可视化界面上,便捷的一键部署。部署时由ansible剧本实现跨主机编排部署,减少实施人员来回切换多台机器部署引发的人为失误问题。每个主机上运行的核心服务只有Docker服务,并且通过高性能的网络栈macvlan固定了IP PORT,配置文件也无需修改。最终实现中间件集群容器,业务逻辑容器由Docker引擎启动即可用,极大的提升了部署的效率,减少了因配置修改、运行环境不一致引发的部署失败问题。部署完业务容器后,每一个业务容器都拥有唯一的IPPORT,可以直接远程登陆容器中使用supervisor查看进程运行情况,避免了脚本运行成功服务仍未启动的疑难杂症。另外,由于将业务容器内的核心配置文件和动态数据文件进行了数据迁移,容器的生命周期可以随时开始随时结束,外场环境部署的关注重点将回归于业务数据的稳定性。还有,在业务容器部署完毕后,日常维护时,日常补丁包的更新,可以在不销毁业务容器的前提下,实现分钟级别的稳定级补丁更新,极大的避免了补丁更新浪费的时间人力成本。
应该理解的是,虽然图2-10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-10中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种业务容器的部署装置,包括:
接收模块11,用于接收用户端发送的部署指令;
获取模块12,用于根据所述部署指令获取预部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
在一个实施例中,如图13所示,上述业务容器的部署装置,还包括:
发送模块13,用于将通过所述多进程管理器监控到的业务容器的进程状态发送至所述用户端。
在一个实施例中,如图14所示,上述获取模块12,包括:
确定单元121,用于确定所述业务容器对应的处理程序;所述处理程序包括业务程序或中间件服务程序
生成单元122,用于根据所述业务容器对应的处理程序和所述多进程管理器,生成所述业务容器。
在一个实施例中,如图15所示,上述生成单元122,包括:
转换子单元1221,用于将操作系统镜像转换为Docker镜像,得到基础镜像;
封装子单元1222,用于将所述处理程序和所述多进程管理器封装到所述基础镜像中,生成所述业务容器镜像;
运行子单元1223,用于运行所述业务容器镜像,得到所述业务容器。
在一个实施例中,所述处理程序还包括安全隔离服务程序。
在一个实施例中,上述运行子单元1223具体用于运行所述业务容器镜像时,采用预设网络固定所述业务容器与外部容器进行通信的接口地址。
在一个实施例中,所述业务容器的配置文件存储在共享存储中。
在一个实施例中,如图16所示,提供了一种业务容器的部署装置,包括:
发送模块21,用于向至少一个服务器发送部署指令;
展示模块22,用于展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
在一个实施例中,如图17所示,上述业务容器的部署装置,还包括:
获取模块23,用于获取部署策略;
确定模块24,用于根据所述部署策略,确定部署在各所述服务器上的至少一个业务容器;
生成模块25,用于根据部署在各所述服务器上的至少一个业务容器,生成发送至各所述服务器的部署指令。
关于业务容器的部署装置的具体限定可以参见上文中对于业务容器的部署方法的限定,在此不再赘述。上述业务容器的部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图18所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种业务容器的部署方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图18中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收用户端发送的部署指令;
根据所述部署指令获取待部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
向至少一个服务器发送部署指令;
展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收用户端发送部署指令;
根据所述部署指令获取待部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
向至少一个服务器发送部署指令;
展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种业务容器的部署方法,其特征在于,所述方法包括:
接收用户端发送的部署指令;
根据所述部署指令获取待部署的至少一个业务容器;其中,每个所述业务容器根据包含多进程管理器的镜像生成,且每个所述业务容器包括多个进程的处理程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将通过所述多进程管理器监控到的业务容器的进程状态发送至所述用户端。
3.根据权利要求1所述的方法,其特征在于,根据包含多进程管理器的镜像生成所述业务容器的方法,包括:
确定所述业务容器对应的处理程序;所述处理程序包括业务程序或中间件服务程序;
根据所述业务容器对应的处理程序和所述多进程管理器,生成所述业务容器。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述业务容器对应的处理程序和所述多进程管理器,生成所述业务容器,包括:
将操作系统镜像转换为Docker镜像,得到基础镜像;
将所述处理程序和所述多进程管理器封装到所述基础镜像中,生成所述业务容器镜像;
运行所述业务容器镜像,得到所述业务容器。
5.根据权利要求4所述的方法,其特征在于,所述处理程序还包括安全隔离服务程序。
6.根据权利要求4所述的方法,其特征在于,所述运行所述业务容器镜像,得到所述业务容器,包括:
运行所述业务容器镜像时,采用预设网络固定所述业务容器与外部容器进行通信的接口地址。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述业务容器的配置文件存储在共享存储中。
8.根据权利要求1所述的方法,其特征在于,所述部署指令为被一键触发的指令。
9.一种业务容器的部署方法,其特征在于,所述方法包括:
向至少一个服务器发送部署指令;
展示所述服务器根据所述部署指令返回的至少一个业务容器的进程状态;每个所述业务容器的进程状态为基于包含多进程管理器的镜像生成的业务容器的进程状态;每个所述业务容器包括多个进程的处理程序。
10.根据权利要求9所述的方法,其特征在于,所述向至少一个服务器发送部署指令之前,所述方法还包括:
获取部署策略;
根据所述部署策略,确定部署在各所述服务器上的至少一个业务容器;
根据部署在各所述服务器上的至少一个业务容器,生成发送至各所述服务器的部署指令。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN202011434311.0A 2020-12-10 2020-12-10 业务容器的部署方法、计算机设备和存储介质 Pending CN112527455A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011434311.0A CN112527455A (zh) 2020-12-10 2020-12-10 业务容器的部署方法、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011434311.0A CN112527455A (zh) 2020-12-10 2020-12-10 业务容器的部署方法、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN112527455A true CN112527455A (zh) 2021-03-19

Family

ID=75000164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011434311.0A Pending CN112527455A (zh) 2020-12-10 2020-12-10 业务容器的部署方法、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112527455A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127007A (zh) * 2021-03-29 2021-07-16 深圳华锐金融技术股份有限公司 业务组件部署方法、装置、计算机设备和存储介质
CN114880000A (zh) * 2022-07-05 2022-08-09 深圳市信润富联数字科技有限公司 工控机远程运维方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121595A (zh) * 2016-11-28 2018-06-05 中国科学院声学研究所 一种Docker容器多进程管理方法及系统
CN110166278A (zh) * 2019-04-09 2019-08-23 平安科技(深圳)有限公司 Kubernetes集群搭建方法、装置、计算机设备及存储介质
US20190391844A1 (en) * 2018-11-06 2019-12-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Task orchestration method and system
CN111198744A (zh) * 2018-11-16 2020-05-26 中标软件有限公司 自动化应用程序容器化和镜像备份发布的方法
US20200334066A1 (en) * 2019-04-18 2020-10-22 Huazhong University Of Science And Technology Nvm-based method for performance acceleration of containers

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108121595A (zh) * 2016-11-28 2018-06-05 中国科学院声学研究所 一种Docker容器多进程管理方法及系统
US20190391844A1 (en) * 2018-11-06 2019-12-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Task orchestration method and system
CN111198744A (zh) * 2018-11-16 2020-05-26 中标软件有限公司 自动化应用程序容器化和镜像备份发布的方法
CN110166278A (zh) * 2019-04-09 2019-08-23 平安科技(深圳)有限公司 Kubernetes集群搭建方法、装置、计算机设备及存储介质
US20200334066A1 (en) * 2019-04-18 2020-10-22 Huazhong University Of Science And Technology Nvm-based method for performance acceleration of containers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ESHIZHAN: "使用Docker的macvlan为容器提供桥接网络及跨主机通讯", 《HTTPS://WWW.CNBLOG.COM/ESHIZHAN/P/7255565.HTML》 *
JACK_CJ: "Docker容器内多进程管理—supervisor", 《HTTPS://WWW.ITDAAN.COM/BLOG/2016/10/30/6B8C2D4C0EF1.HTML》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127007A (zh) * 2021-03-29 2021-07-16 深圳华锐金融技术股份有限公司 业务组件部署方法、装置、计算机设备和存储介质
CN114880000A (zh) * 2022-07-05 2022-08-09 深圳市信润富联数字科技有限公司 工控机远程运维方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Palade et al. An evaluation of open source serverless computing frameworks support at the edge
US11829742B2 (en) Container-based server environments
CN104536899B (zh) 一种基于智能集群的软件部署及其维护方法
CN107493310B (zh) 一种云资源处理方法及云管理平台
CN107105009B (zh) 基于Kubernetes系统对接工作流引擎的作业调度方法和装置
CN106776998B (zh) 一种数据库服务提供方法及服务器
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
CN103064742A (zh) 一种hadoop集群的自动部署系统及方法
CN112988284B (zh) 应用程序启动方法、装置、计算机设备和存储介质
CN112104723A (zh) 一种多集群的数据处理系统及方法
CN112527455A (zh) 业务容器的部署方法、计算机设备和存储介质
CN114253557B (zh) 一种云平台应用部署方法、装置、电子设备及存储介质
CN103077034B (zh) 混合虚拟化平台java应用迁移方法与系统
CN112256406B (zh) 作业流程平台化调度方法
CN110362318A (zh) 应用部署方法、装置、设备和存储介质
CN105357067A (zh) 一种云平台的测试方法及系统
CN111966462A (zh) 一种混合云管理系统
CN110890987A (zh) 自动创建集群的方法、装置、设备和系统
CN113127361B (zh) 应用程序的开发方法、装置、电子设备和存储介质
CN115280312A (zh) 虚拟机完全前向保密
CN114579250A (zh) 一种构建虚拟集群的方法、装置及存储介质
CN111399999A (zh) 计算机资源处理方法、装置、可读存储介质和计算机设备
CN112445602A (zh) 资源调度方法、装置、系统及电子设备
CN112564979B (zh) 构建任务的执行方法、装置、计算机设备和存储介质
WO2020124459A1 (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210319