CN112346818B - 一种容器应用部署方法、装置、电子设备和存储介质 - Google Patents
一种容器应用部署方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112346818B CN112346818B CN202011201558.8A CN202011201558A CN112346818B CN 112346818 B CN112346818 B CN 112346818B CN 202011201558 A CN202011201558 A CN 202011201558A CN 112346818 B CN112346818 B CN 112346818B
- Authority
- CN
- China
- Prior art keywords
- container application
- deployment
- application
- configuration information
- container
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 230000003068 static effect Effects 0.000 claims abstract description 35
- 238000007726 management method Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种容器应用部署方法、装置、电子设备和存储介质。所述方法包括:将容器应用的动态配置信息保存至剧本的配置文件中,所述剧本包括多个角色,每个角色对应一个容器应用;响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取所述剧本;根据所述静态配置信息和所述剧本进行容器应用的部署。该技术方案以部署工具Ansible为基础,可实现容器应用的一体化自动部署,提升了部署效率并节约了计算资源,尤其适用于在集群中使用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种容器应用部署方法、装置、电子设备和存储介质。
背景技术
将应用以容器化的方式实现,也就是容器应用,是目前越来越多公司的选择,容器应用的部署也是运维的重点。目前,已出现了Ansible、Puppet、SaltStack、Kubernetes等多款工具,但均有着一些缺点。例如,Kubernetes实施较为繁琐,在单机、小集群上发挥不出较大优势,而Ansible、Puppet、SaltStack等功能较为单一,增加了运维成本和出错率。
发明内容
本申请实施例提供了一种容器应用部署方法、装置、电子设备和存储介质,以实现高效、便捷、可靠性高的容器应用部署。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种容器应用部署方法,包括:将容器应用的动态配置信息保存至剧本的配置文件中,所述剧本包括多个角色,每个角色对应一个容器应用;响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取所述剧本;根据所述静态配置信息和所述剧本进行容器应用的部署。
可选地,所述将容器应用的动态配置信息保存至剧本的配置文件中包括:根据图形化页面接收容器应用的动态配置信息,所述图形化页面的入口根据预设的TCP端口实现,所述图形化页面的数据存储服务基于所述数据库实现。
可选地,所述容器应用部署方法还包括:将所述动态配置信息的至少部分保存至所述数据库中作为静态配置信息,和/或从所述数据库中读取至少部分静态配置信息并保存至所述配置文件中。
可选地,所述根据所述静态配置信息和所述剧本进行容器应用的部署包括:确定目标容器应用的部署状态;若所述目标容器应用已被部署,则跳过对该目标容器应用的部署。
可选地,所述确定目标容器应用的部署状态包括:对目标容器应用的网络地址进行访问,得到目标容器应用的状态码;根据所述状态码确定目标容器应用的部署状态。
可选地,所述容器应用部署方法还包括:提供剧本模板,所述剧本模板至少包括一个角色模板;在所述文件系统中保存根据所述剧本模板生成的剧本。
可选地,所述容器应用包括容器编排管理应用,以使部署后的容器应用具备容器编排管理功能。
第二方面,本申请实施例还提供一种容器应用部署装置,用于实现如上任一所述的容器应用部署方法。
第三方面,本申请实施例还提供一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上任一所述的容器应用部署方法。
第四方面,本申请实施例还提供一种计算机可读存储介质,存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行如上任一所述的容器应用部署方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
采用动态配置信息与静态配置信息的复合配置方式,基于Ansible的剧本Playbook和角色Role,实现了容器应用的自动化部署。动态配置信息使容器应用的部署更加灵活,而静态配置信息又使得容器部署过程中一些固定依赖的信息不需要重复提供,Playbook幂等性的特点可以使容器应用在集群中均能够保证部署的一致性,同时也适用于单机部署,尤其适用于较为复杂的容器应用。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为根据本申请一个实施例的容器应用部署方法的流程示意图;
图2为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的技术构思在于,以Ansible为基础,将容器应用的配置文件作为剧本Playbook的一部分,并通过数据库存储静态配置信息便于多次复用,可实现对复杂容器应用的灵活一体化部署。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为根据本申请一个实施例的容器应用部署方法的流程示意图。如图1所示,容器应用部署方法包括:
步骤S110,将容器应用的动态配置信息保存至剧本的配置文件中,剧本包括多个角色,每个角色对应一个容器应用。
其中的剧本可以指Ansible中的Playbook,或者可以实现类似功能的其他工具。Playbook可以通过YAML(一种序列化格式)进行Role的描述,在一个Playbook的目录结构中可以包含多个角色Role。Playbook中的每个角色Role可以被独立重复调用,在调用角色时,只需要读取相应角色目录下的内容并应用即可。在本申请的实施例中将每个角色对应一个容器应用,使得容器应用可以同时在多台主机上进行部署。由于Ansible的幂等性(多次执行可得到相同结果),各主机上部署的容器应用可保持一致。
这里的动态配置信息可以是在每次容器应用部署过程中需要分别设置的信息,例如可以包括但不限于部署应用的主机IP地址、登录密码、SSH连接端口、部署路径、部署容器应用的端口、服务镜像等等。如果在集群中部署容器应用,通常还需要虚拟IP地址。
动态配置信息可以保存到剧本的配置文件中。剧本通常呈一个树形目录结构,配置文件存放在其中一个目录节点下。
步骤S120,响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取剧本。
数据库中存储的可以是在多次容器部署中都可以使用的相对固定不变的信息,例如包括但不限于服务的镜像地址、部署步骤、部署模型(单机部署或集群部署)、逻辑卷、暴露端口等。
在一些实施例中,数据库可以选用Python的SQlite3模块实现,不仅能够满足需求,还具有轻量的特点,在代码以Python框架实现的情况下更是不需要额外安装数据库,节约了计算资源。
步骤S130,根据静态配置信息和剧本进行容器应用的部署。
其中,可以根据已经配置好的部署模式(单机或集群,同步或异步等等)来进行容器应用的部署。角色的目录下可以包含控制容器结构的配置与容器中需要包含的环境变量等。
具体来说,根据部署应用的主机IP地址、登录密码、SSH连接端口等信息可以登录到相应主机上,并通过角色目录中包含的控制容器结构的配置信息,以及包含容器需要传入的环境变量,例如部署路径、部署容器应用的端口、服务镜像等等,再结合静态配置信息中的部署步骤、部署模型等信息,相应地创建容器,以及在创建的容器中部署应用,实现应用的容器化,从而实现了容器应用的部署。
可见,图1所示的方法,采用动态配置信息与静态配置信息的复合配置方式,基于Ansible的剧本Playbook和角色Role,实现了容器应用的自动化部署。动态配置信息使容器应用的部署更加灵活,而静态配置信息又使得容器部署过程中一些固定依赖的信息不需要重复提供,Playbook幂等性的特点可以使容器应用在集群中均能够保证部署的一致性,同时也适用于单机部署,尤其适用于较为复杂的容器应用。
在本申请的一个实施例中,上述容器应用部署方法中,将容器应用的动态配置信息保存至剧本的配置文件中包括:根据图形化页面接收容器应用的动态配置信息,图形化页面的入口根据预设的TCP端口实现,图形化页面的数据存储服务基于数据库实现。
Ansible缺少图形化操作界面使得运维的难度增大,本申请的实施例还提出了通过图形化页面接收动态配置信息,方便部署的方案。对此,只需要预先在服务器中打开预设的TCP端口作为图形化页面的入口,即可访问图形化页面。该图形化页面的实现方式也并不复杂,例如可以通过Flask微型Python框架作为基础框架,采用Flask的蓝图概念将视图函数关联起来,实现图形化页面的UI(User Interface,用户交互界面)。
所依赖的数据存储服务可以基于与前述实施例相同的数据库实现,不需要额外设置数据库,数据库可以存储UI的相应数据,如标题等等。
为了提高安全性,还可以利用图形化页面实现用户验证功能,以确保合适的人员才能进行容器部署。同样地,可以依赖同一数据库实现数据存储,并且可利用如webzeug工具包等实现登录验证、路由解析、web异常封装等功能,使用SQLAlchemy实现SQL功能并具有灵活性,使用Gunicorn服务实现服务器网关接口,具有轻量、易实现、高性能的特点。若使用Python进行开发,还可以整合Python中os、sys、time、json、shuil等模块以实现相应功能。
需要说明的是,上述仅是图形化页面的一些可行的实施方式示例,在其他实施例中可根据需求采用其他方式实现。
在本申请的一个实施例中,上述容器应用部署方法还包括:将动态配置信息的至少部分保存至数据库中作为静态配置信息,和/或从数据库中读取至少部分静态配置信息并保存至配置文件中。
在一些情况下,动态配置信息可以是在进行一次特定的容器应用部署时获取的,而静态配置信息可以具有较高的泛用性,可以是预先配置好的。那么若动态配置信息中的一部分或全部信息可以在后续的容器应用部署中被反复使用,则可以将这部分信息直接保存到数据库中,例如服务镜像信息。类似地,数据库中的一些静态配置信息也可以根据需求保存到剧本的配置文件中,方便部署,例如容器的端口、名称等。
可以看出,配置信息的动态与静态是相对的,此外二者在进行容器应用的部署时使用方式有一些不同,具体来说,配置文件可以通过Python的os模块调用,数据库中的静态配置信息可以通过SQlite3模块进行存取。
在本申请的一个实施例中,上述容器应用部署方法中,根据静态配置信息和剧本进行容器应用的部署包括:确定目标容器应用的部署状态;若目标容器应用已被部署,则跳过对该目标容器应用的部署。
在容器应用的部署过程中可能出现一些容器应用已被部署过的情况,此时没有必要重新部署。本申请的技术方案可以用于多个容器应用的批量部署,在一个例子中,当第一个容器应用部署完成,准备部署第二个容器应用时,就可以先确定第二个容器应用的部署状态,如果其已被部署则跳过,再判断第三个个容器应用的部署状态,直至确定一个未部署过的容器应用,再进行部署即可。
具体地,在一个实施例中,确定目标容器应用的部署状态包括:对目标容器应用的网络地址进行访问,得到目标容器应用的状态码;根据状态码确定目标容器应用的部署状态。
容器应用具有一个网络地址url,在本实施例中对其进行访问可以得到一个状态码,例如状态码为200表示容器应用已部署,如果得到非200的状态码或者在预定时间内没有得到状态码,则认为容器应用未部署,可以着手进行部署。
在本申请的一个实施例中,上述容器应用部署方法中,容器应用部署方法还包括:提供剧本模板,剧本模板至少包括一个角色模板;在文件系统中保存根据剧本模板生成的剧本。
本申请的实施例还通过剧本模板使用户可以对容器应用进行自定义,以得到容器应用的自定义剧本,适用于不同场景下,需要不同容器应用、不同服务结构等情景。具体地,用户可以通过复制角色模板,修改其中的tasks、var、defalts等目录下的配置、环境变量等即可完成一个新的容器应用,在conf目录下修改控制部署顺序、数量的配置文件,定义部署所需主机的数量以及每台主机的容器应用分布情况即可完成该新的容器应用的剧本。
在本申请的一个实施例中,上述容器应用部署方法中,容器应用可包括容器编排管理应用,以使部署后的容器应用具备容器编排管理功能。
例如,容器编排管理应用可以是Rancher,在其他实施例中也可以选择其他应用。这样的好处在于,弥补了Ansible不能实现容器编排管理的劣势,可以支持服务升级回滚、容器镜像管理、日志查看等,提升了运维稳定性。
当然,在不需要容器编排管理功能,或是已部署好了容器编排管理应用的情况下,则不需要重复再部署容器编排管理应用。
本申请的实施例还提供了一种容器应用部署装置,能够实现前述实施例中提供的容器应用部署方法的各个步骤,关于容器应用部署方法的相关阐释均适用于容器应用部署装置,此处不再赘述。
图2是本申请的一个实施例电子设备的结构示意图。请参考图2,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成容器应用部署装置。处理器,执行存储器所存放的程序,并具体用于执行:
将容器应用的动态配置信息保存至剧本的配置文件中,剧本包括多个角色,每个角色对应一个容器应用;响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取剧本;步骤S130,根据静态配置信息和剧本进行容器应用的部署。
上述容器应用部署装置所执行的容器应用部署方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1中容器应用部署方法,并实现容器应用部署方法在图1所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图1所示实施例中容器应用部署方法,并具体用于执行:
将容器应用的动态配置信息保存至剧本的配置文件中,剧本包括多个角色,每个角色对应一个容器应用;响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取剧本;步骤S130,根据静态配置信息和剧本进行容器应用的部署。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种容器应用部署方法,其特征在于,包括:
将容器应用的动态配置信息保存至剧本的配置文件中,所述剧本包括多个角色,每个角色对应一个容器应用;
所述将容器应用的动态配置信息保存至剧本的配置文件中包括:
根据图形化页面接收容器应用的动态配置信息,所述图形化页面的入口根据预设的TCP端口实现,所述图形化页面的数据存储服务基于数据库实现;
所述动态配置信息包括部署应用的主机IP地址、登录密码、SSH连接端口、部署路径、部署容器应用的端口、服务镜像、虚拟IP地址中的一种或多种;
响应于容器应用部署请求,从数据库中读取容器应用的静态配置信息,以及从文件系统中读取所述剧本;
所述静态配置信息包括服务的镜像地址、部署步骤、部署模型、逻辑卷、暴露端口中的一种或多种;
根据所述静态配置信息和所述剧本进行容器应用的部署;
所述方法还包括:
将所述动态配置信息的至少部分保存至所述数据库中作为静态配置信息,和/或从所述数据库中读取至少部分静态配置信息并保存至所述配置文件中。
2.根据权利要求1所述的容器应用部署方法,其特征在于,所述根据所述静态配置信息和所述剧本进行容器应用的部署包括:
确定目标容器应用的部署状态;
若所述目标容器应用已被部署,则跳过对该目标容器应用的部署。
3.根据权利要求2所述的容器应用部署方法,其特征在于,所述确定目标容器应用的部署状态包括:
对目标容器应用的网络地址进行访问,得到目标容器应用的状态码;
根据所述状态码确定目标容器应用的部署状态。
4.根据权利要求1所述的容器应用部署方法,其特征在于,所述容器应用部署方法还包括:
提供剧本模板,所述剧本模板至少包括一个角色模板;
在所述文件系统中保存根据所述剧本模板生成的剧本。
5.根据权利要求1所述的容器应用部署方法,其特征在于,所述容器应用包括容器编排管理应用,以使部署后的容器应用具备容器编排管理功能。
6.一种容器应用部署装置,其特征在于,所述容器应用部署装置用于实现权利要求1~5之任一所述方法。
7.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~5之任一所述方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~5之任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011201558.8A CN112346818B (zh) | 2020-11-02 | 2020-11-02 | 一种容器应用部署方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011201558.8A CN112346818B (zh) | 2020-11-02 | 2020-11-02 | 一种容器应用部署方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112346818A CN112346818A (zh) | 2021-02-09 |
CN112346818B true CN112346818B (zh) | 2024-08-23 |
Family
ID=74356307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011201558.8A Active CN112346818B (zh) | 2020-11-02 | 2020-11-02 | 一种容器应用部署方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112346818B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190326A (zh) * | 2021-04-20 | 2021-07-30 | 北京异乡旅行网络科技有限公司 | 信息处理方法及装置 |
CN113220451A (zh) * | 2021-04-30 | 2021-08-06 | 江苏云从曦和人工智能有限公司 | 分布式集群系统的部署方法、系统、装置及存储介质 |
US11789712B2 (en) * | 2021-09-06 | 2023-10-17 | Jpmorgan Chase Bank, N.A. | Data configuration deployment framework |
CN114416290B (zh) * | 2021-12-29 | 2024-09-17 | 航天信息股份有限公司 | 基于ansible自动搭建容器平台的方法和设备 |
CN114338178B (zh) * | 2021-12-30 | 2022-11-29 | 北京安博通科技股份有限公司 | Soar剧本模型、剧本构建方法、电子设备和存储介质 |
CN115220874B (zh) * | 2022-09-05 | 2023-01-06 | 税友信息技术有限公司 | 一种Kubernetes集群部署方法、装置、设备及存储介质 |
CN115828231B (zh) * | 2022-10-28 | 2024-07-02 | 广州汽车集团股份有限公司 | 应用程序运行方法、装置、车辆以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843837A (zh) * | 2016-12-21 | 2017-06-13 | 中电科华云信息技术有限公司 | openstack组件容器化的构建方法 |
CN108958796A (zh) * | 2017-05-23 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置、业务请求处理系统 |
CN111506306A (zh) * | 2019-01-31 | 2020-08-07 | 北京神州泰岳软件股份有限公司 | 一种Ansible剧本编写方法、装置和电子设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539855A (zh) * | 2008-12-25 | 2009-09-23 | 厦门亿力吉奥信息科技有限公司 | 一种业务基础软件平台 |
CN102591964B (zh) * | 2011-12-30 | 2014-07-09 | 北京新媒传信科技有限公司 | 数据读写分离机制的实现方法和装置 |
CN105323282B (zh) * | 2014-07-28 | 2018-12-04 | 神州数码信息系统有限公司 | 一种面向多租户的企业应用部署与管理系统 |
CN106548076A (zh) * | 2015-09-23 | 2017-03-29 | 百度在线网络技术(北京)有限公司 | 检测应用漏洞代码的方法和装置 |
CN107733985B (zh) * | 2017-09-14 | 2021-02-02 | 广州西麦科技股份有限公司 | 一种云计算系统功能组件部署方法及装置 |
CN108694053A (zh) * | 2018-05-14 | 2018-10-23 | 平安科技(深圳)有限公司 | 基于Ansible工具自动搭建Kubernetes主节点的方法及终端设备 |
CN108924217B (zh) * | 2018-06-29 | 2020-12-22 | 中山大学 | 一种分布式云系统自动化部署方法 |
CN109388486B (zh) * | 2018-10-09 | 2021-08-24 | 北京航空航天大学 | 一种针对异构内存与多类型应用混合部署场景的数据放置与迁移方法 |
EP3912035A1 (en) * | 2019-01-15 | 2021-11-24 | Microsoft Technology Licensing, LLC | Dynamic auto-configuration of multi-tenant paas components |
CN109714219B (zh) * | 2019-03-13 | 2021-11-09 | 大连大学 | 一种基于卫星网络的虚拟网络功能快速映射方法 |
CN110210924B (zh) * | 2019-04-15 | 2024-03-26 | 腾讯科技(深圳)有限公司 | 产品功能定制方法、装置以及服务器 |
CN110286997B (zh) * | 2019-05-17 | 2023-08-18 | 平安科技(深圳)有限公司 | 多容器应用创建方法、装置、计算机设备及存储介质 |
CN110166544B (zh) * | 2019-05-17 | 2023-05-19 | 平安科技(深圳)有限公司 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
CN110795108B (zh) * | 2019-09-18 | 2022-08-16 | 国网江苏省电力有限公司 | 一种基于Ansible编排部署Weblogic应用的方法 |
CN111610967A (zh) * | 2020-04-08 | 2020-09-01 | 曙光信息产业(北京)有限公司 | 基于云管理平台的持续集成和部署方法及装置 |
-
2020
- 2020-11-02 CN CN202011201558.8A patent/CN112346818B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843837A (zh) * | 2016-12-21 | 2017-06-13 | 中电科华云信息技术有限公司 | openstack组件容器化的构建方法 |
CN108958796A (zh) * | 2017-05-23 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 业务请求处理方法及装置、业务请求处理系统 |
CN111506306A (zh) * | 2019-01-31 | 2020-08-07 | 北京神州泰岳软件股份有限公司 | 一种Ansible剧本编写方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112346818A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112346818B (zh) | 一种容器应用部署方法、装置、电子设备和存储介质 | |
US9015710B2 (en) | Deployment system for multi-node applications | |
AU2018365860B2 (en) | Code module selection for device design | |
US9996331B1 (en) | Customized application state transition | |
CN106294113B (zh) | 一种基于可编程式测试服务的创建方法及装置 | |
CN110515795B (zh) | 一种大数据组件的监控方法、装置、电子设备 | |
US10089152B1 (en) | Using scripts to bootstrap applications with metadata from a template | |
US9692653B1 (en) | Automatic generation of validators to validate deployment code used for configuring servers | |
CN113885849B (zh) | 基于工业互联网平台的应用开发方法、装置及终端设备 | |
CN114422618B (zh) | 基于云原生的iot平台协议适配方法、装置、设备及介质 | |
CN111858727A (zh) | 一种基于模板配置的多数据源数据导出系统及方法 | |
US20160253160A1 (en) | Using cloud patterns for installation on unmanaged physical machines and appliances | |
CN116450165A (zh) | 一种快速搭建环境及部署程序的方法、系统、终端及存储介质 | |
CN114661306A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112130900A (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN111797070A (zh) | 票务数据处理方法及装置 | |
US20230259347A1 (en) | Container based generation of inputs for generic functions | |
US20240020103A1 (en) | Parallelizing data processing unit provisioning | |
US20240036896A1 (en) | Generating installation images based upon dpu-specific capabilities | |
An | OpenStack automated cloud development | |
CN115454494A (zh) | 基于事件流机制的内容管理系统的实现方法、系统及介质 | |
CN116319950A (zh) | 架构前后端分离的实现方法、架构系统以及请求处理方法 | |
CN115658099A (zh) | 企业级应用运维方法及系统 | |
CN116795548A (zh) | 基于多云管理的接口处理方法、装置、系统及存储介质 | |
CN111159972A (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 |