CN110224860A - 负载均衡应用创建方法、装置、计算机设备及存储介质 - Google Patents
负载均衡应用创建方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110224860A CN110224860A CN201910413852.6A CN201910413852A CN110224860A CN 110224860 A CN110224860 A CN 110224860A CN 201910413852 A CN201910413852 A CN 201910413852A CN 110224860 A CN110224860 A CN 110224860A
- Authority
- CN
- China
- Prior art keywords
- container
- application
- nginx
- load balancing
- information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5048—Automatic or semi-automatic definitions, e.g. definition templates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种负载均衡应用创建方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:根据所设置需创建的容器应用的信息以及Nginx负载均衡应用的信息创建容器应用的容器实例,以及创建所述Nginx负载均衡应用的Nginx容器,其中,Nginx容器中包括高可用服务;根据所创建的容器应用的容器实例的信息和Nginx容器的信息配置负载均衡应用的配置文件;为高可用服务配置虚拟IP;根据虚拟IP、主用Nginx容器的信息配置高可用服务的配置文件;开启高可用服务。本申请实施例在创建容器应用同时创建Nginx负载均衡应用并构建对应的配置文件,加快了创建的速度和效率,节约了时间成本和人工成本。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种负载均衡应用创建方法、装置、计算机设备及存储介质。
背景技术
目前,很多PaaS平台(Platform-as-a-Service,平台即服务)在创建容器应用时,需要为容器应用创建负载均衡应用。业内有使用F5负载均衡应用,而F5负载均衡应用需要租用硬件资源,增加了成本。目前的很多PaaS平台中在创建其他非F5负载均衡应用时,创建容器应用(负载均衡应用的后端应用)和创建其他非F5负载均衡应用是单独进行创建,即分别创建容器应用,在创建其他非F5负载均衡应用,再手动配置创建的容器应用与其他非F5负载均衡应用的关联关系。如此,创建的过程以及配置关联关系时较为复杂,不方便不快捷,很容易出现差错。
发明内容
本申请实施例提供一种负载均衡应用创建方法、装置、计算机设备及存储介质,可加快创建容器应用和创建相关联的负载均衡应用的速度和效率。
第一方面,本申请实施例提供了一种负载均衡应用创建方法,该方法包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的类型为Nginx;若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,所述Nginx容器中包括高可用服务;设置所创建的Nginx容器的标识状态和优先级;根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件;为所述高可用服务的虚拟服务器分配虚拟IP;根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件。
第二方面,本发明实施例提供了一种负载均衡应用创建装置,该负载均衡应用创建装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例在创建容器应用的同时创建Nginx负载均衡应用,因此无需将创建容器应用和创建Nginx负载均衡应用分开进行创建,加快了创建的速度。以上创建容器应用的同时创建Nginx负载均衡应用,这个过程自动完成,进一步加快了创建的速度和效率,节约了时间成本和人工成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的负载均衡应用创建方法的流程示意图;
图2是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图3是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图4是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图5是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图6是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图7是本申请实施例提供的负载均衡应用创建装置的示意性框图;
图8是本申请实施例提供的应用创建单元的示意性框图;
图9是本申请实施例提供的实例创建单元的示意性框图;
图10是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的负载均衡应用创建方法的流程示意图。如图1所示,该方法包括S101-S107。
S101,若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的类型为Nginx。
若接收到设置指令,根据设置指令调用预设的设置接口,以接收通过预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息。其中,预设的设置接口为开发人员编写的设置接口,可以以一个设置页面的形式呈现。接收该预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息。具体地,接收用户输入的/选择的需创建的容器应用的信息以及负载均衡应用的信息。如此,可同时获取容器应用的信息和负载均衡应用的信息。而且通过设置页面来设置需创建的容器应用的信息以及负载均衡应用的信息,方便简单,无需较多的专业知识即可实现,同时信息也非常透明。
其中,容器应用的信息包括容器应用的应用环境、容器应用的区域,容器应用的容器实例数量、容器应用镜像信息等。容器应用的信息还包括是否启用监控、应用管理员(创建容器应用的人,可以对创建的容器应用进行管理)、容器应用的资源组等。其中,容器应用的应用环境包括生产环境、测试环境、开发环境等。其中,生产环境意味着该容器应用创建成功后对接外部环境,或者供外部用户进行访问;测试环境意味着该容器应用创建成功后供测试使用;开发环境意味着该容器应用创建成功后供开发使用。容器应用的区域包括两部分:“区域”+“安全区域”。其中,“安全区域”是“区域”下的一个子区域。可以理解为,将容器应用创建在“xx区域”下的“xxx安全区域”中。然而,确定容器应用创建在哪个具体地机房中,需要根据容器应用的应用环境和容器应用的区域共同决定,可以理解为将容器应用创建在某个应用环境下容器应用的区域所对应的机房中。可以理解为,同一个区域不同应用环境所对应的机房是不同的。容器应用的容器实例数量指的是该容器应用的容器数量,一个容器应用的容器数量是没有上限的。其中,容器实例数量可根据该容器应用的访问量确定。容器实例镜像信息包括镜像版本、镜像类型和镜像名称。其中,镜像版本包括官方版本、官方版本1.1、官方版本4.5等;镜像类型指的是该容器实例使用哪种镜像,如nginx、tomcat、weblogic、springboot等;镜像名称指的是具体的镜像名称,如tomcat1.1等。其中,镜像信息可以从对应的镜像仓库中获取以供用户选择,其中,对应的镜像仓库指的是该容器应用的应用环境和容器应用的区域共同确定的机房下的镜像仓库。创建容器应用是需要收费的,容器应用的资源组下包括有资源账户,用于容器应用创建所使用的费用。是否启用监控指的是是否选择对容器应用的容器实例进行监控,比如容器实例的CPU/内存/IO等资源的使用情况。在一些实施例中,容器应用的信息还包括受益人资源池,受益人资源池指的是创建容器应用的子公司/部门,决定所创建的容器分配的IP网段以及容器的宿主机资源,不同资源池,使用的是不同的IP网段以及宿主机资源。若容器应用的信息还包括受益人资源池,那么受益人资源池与容器应用的应用环境、容器应用的区域一起决定所创建的容器实例分配的IP网段以及容器实例的宿主机资源。
负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息、负载均衡应用的容器实例数量,其中,负载均衡应用的类型为Nginx。负载均衡应用的端口信息可以有一个也可以有多个,负载均衡应用的端口指的是Nginx负载均衡应用支持的访问端口,也就是http模式访问的端口,如80、443等端口。负载均衡应用的容器实例数量默认为2个,也可以设置为其他的数量。
S102,若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例。
设置完成指令的触发方式包括多种,如用户点击提交等按钮或者图像触发,或者由语音触发等。容器应用的信息和负载均衡应用的信息设置完成,接收到设置完成指令,即可自动化创建容器应用、负载均衡应用、设置容器应用与负载均衡应用的关联关系。需要注意的是,容器应用理解为Nginx负载均衡应用的后端应用,即真正为用户提供服务的应用。
在一实施例中,如图2所示,步骤S102包括以下步骤S201-S202。
S201,根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP。
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域确定预先分配的用于创建容器实例的IP地址池。如根据容器应用的应用环境、容器应用的区域可确定创建容器应用的位置,即将容器应用创建在具体哪个机房中。如将容器应用创建在测试环境下宝信(地名)区域下的SF(宝信下面的一个更小的区域标识)子区域所在的机房中。获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的IP地址池。根据容器应用的的信息中的容器实例的数量从IP地址池中获取与容器应用的容器实例数量相同数量的空闲IP,将该空闲IP确定为容器应用的容器实例的IP。
S202,根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
分配好容器应用的容器实例的IP后,接着创建容器实例。需要注意的是,在其他实施例中,也可以先创建容器应用的容器实例,再确定容器应用的容器实例IP,再将所确定的容器应用的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,步骤S202,如图3所示,包括以下步骤S301-S304。
S301,根据容器应用的应用环境、容器应用的区域以及容器应用镜像信息确定创建容器应用的容器实例所需要使用的具体镜像。
如根据容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本以及镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像。根据该容器应用的应用环境、该容器应用的区域可确定容器应用创建的位置,即将容器应用创建在具体哪个机房中。需要注意的是,每个应用环境下每个区域中的都对应有保存镜像资源的镜像仓库。在该镜像仓库中保存有该应用环境下该区域所需要使用的所有的镜像资源。根据容器应用镜像信息的镜像类型、镜像版本以及镜像名称从所对应的镜像仓库中提取出创建容器实例所需要使用的具体镜像。
S302,根据容器应用的应用环境、容器应用的区域、容器应用镜像信息、容器应用的容器实例数量确定创建容器实例的宿主机。
如根据所述镜像类型、镜像版本以及镜像名称确定创建容器应用的容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域、创建容器应用的容器实例需占用的资源即容器应用的容器实例数量确定创建容器实例的宿主机。根据容器应用的应用环境、容器应用的区域确定容器应用创建的位置,获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的宿主机集群;根据创建容器实例需占用的资源、容器应用的容器实例数量从宿主机集群中确定创建容器实例的宿主机。创建容器实例是需要在宿主机上占用一定的资源的,因此需要先确定创建容器实例需占用的资源,具体地,根据镜像类型、镜像版本以及镜像名称从数据库中获取该镜像创建容器应用的容器实例时需占用的资源,根据创建容器实例需占用的资源以判断宿主机是否有足够的资源来创建该容器实例。其中,创建容器实例需占用的资源包括CPU(CPU核数等)、内存、监控资源等。
S303,根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例。
如通过容器编排工具将所确定的具体镜像发送到所确定的创建容器实例的宿主机上,以进行容器实例的创建。容器实例创建成功后,会返回创建成功的消息;容器实例若创建失败,会返回创建失败的原因。其中,容器编排工具可以为Marathon工具,也可以为其他的可实现相同功能的工具。
S304,将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
如通过自动化运维工具去连接容器实例,将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。自动化运维工具可以为Ansible工具,也可以为其他的可实现相同功能的工具。
以上创建容器实例的过程中,确定具体镜像、确定创建容器实例的宿主机的执行顺序并没有严格限定,在其他实施例中,也可以先确定创建容器实例的宿主机,再确定具体镜像。确定具体镜像、确定创建容器实例的宿主机可以并行执行,也可以分开执行。
在一实施例中,若当前容器应用的信息中的是否启用监控信息中的标识为启用监控标识,以上容器应用创建的过程中还涉及有为所创建容器应用的容器实例启用监控,对应的步骤还包括:
将容器实例对应的启用监控信息中的启用监控标识推送到所确定的宿主机上,以根据宿主机的监控进程收集该容器实例的运行数据信息。其中,默认所有宿主机上都会安装监控进程且该监控进程是启用状态。将启用监控标识推送到所确定的宿主机上,通过宿主机上安装的监控进程来监控该容器实例。如此,以方便获取该容器应用的所有容器实例的相关信息,方便定位容器应用中出现的异常。
在一实施例中,如图2所示,在步骤S201之前,根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤,还包括:
S201a,根据预设的名称生成规则生成该容器应用的应用名称。
S201b,判断所生成的应用名称在该容器应用对应的区域中是否已经存在,其中,根据所述容器应用的应用环境、所述容器应用的区域确定容器应用对应的区域。若所生成的应用名称在该容器应用对应的区域中不存在,执行步骤S201。若所生成的应用名称在该容器应用对应的区域中已经存在,执行步骤S201d。
S201d,进行提示。
在一实施例中,如图2所示,在步骤S201之前,根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤,还包括:
S201c,根据所述容器实例的使用时间、所述容器应用的资源组、所述容器实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该容器应用的容器实例。若有足够金额来创建该容器应用的容器实例,执行步骤S201。若没有足够金额来创建该容器应用的容器实例,执行步骤S201d。
其中,预先保存所有创建过的容器应用的相关信息,保存的信息包括有容器应用的应用名称、区域。可以理解地,在同一区域中不允许存在两个完全相同的应用名。其中,根据容器应用的容器实例数量、容器实例的使用时间、每个容器实例的费用计算创建当前容器应用需要支付的金额;判断容器应用的资源组中的剩余金额是否大于或者等于创建当前容器应用需要支付的金额;若是,则确定容器应用的资源组有足够金额以用来创建对应的容器应用;若否,则确定容器应用的资源组没有足够金额来进行创建。
S103,根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,所述Nginx容器中包括高可用服务。
需要注意的是,一般而言,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机不是同一个宿主机,以避免该宿主机出现故障后,会导致负载均衡应用不能使用,同时应用服务也不能使用。另外,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机通常是在通一个网段内,以提高网络访问的速度。需要指出的是,创建负载均衡应用的宿主机集群与创建容器应用的宿主机集群可以是同一个宿主机集群,也可以是不同的分别独立的宿主机集群。确定了创建负载均衡应用的宿主机后,接着创建Nginx负载均衡应用的Nginx容器。
在一实施例中,如图4所示,步骤S103,包括以下步骤S401-S402。
S401,根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的容器实例数量确定Nginx负载均衡应用的容器实例IP。
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域确定预先分配的用于创建容器实例的IP地址池。由于Nginx负载均衡应用和容器应用也在同一个机房中。因此,根据容器应用的应用环境、容器应用的区域可确定负载均衡应用创建的位置,即将负载均衡应用创建在具体哪个机房中;获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的IP地址池。根据负载均衡应用的信息中的负载均衡应用的容器实例数量从IP地址池中获取相同数量的空闲IP,将该空闲IP确定为Nginx负载均衡应用的容器实例IP。可以理解地,负载均衡应用的容器实例IP和容器应用的容器实例IP在同一个IP地址池中获取。在其他实施例中,也可以将容器应用的用于创建容器实例的IP地址池和负载均衡应用的用于创建容器实例的IP地址池分开,即包括两个IP地址池,分别从对应IP地址池中获取空闲IP。
S402,根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的类型和负载均衡应用的容器实例数量创建Nginx容器,并将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
分配好负载均衡应用的容器实例IP后,接着创建负载均衡应用。
需要注意的是,在其他实施例中,也可以先创建Nginx容器,再确定Nginx负载均衡应用的容器实例IP,再将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
在一实施例中,在步骤S401之前,所述根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器的步骤还包括:根据所述容器实例的使用时间、所述容器应用的资源组、所述负载均衡应用的容器实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该Nginx容器。若有足够金额来创建该Nginx容器,执行步骤S401。若没有足够金额来创建该容器应用的容器实例,进行提示。
在一实施例中,在创建容器应用和负载均衡应用之前,先判断容器应用的资源组中是否有足够金额来创建容器应用和负载均衡应用,若有足够金额来创建容器应用和负载均衡应用,则创建容器应用和负载均衡应用,否则,进行提示。
在一实施例中,如图5所示,步骤S402,包括以下步骤S501-S504。
S501,根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的类型确定创建所述负载均衡应用的Nginx镜像信息。
由于Nginx负载均衡应用和容器应用也在同一个机房中。因此,根据容器应用的应用环境、容器应用的区域可确定负载均衡应用创建的位置。根据容器应用的应用环境、容器应用的区域确定用于保存负载均衡应用镜像信息的镜像仓库并根据负载均衡应用的类型从所确定的镜像仓库中提取出创建负载均衡应用的容器所需要使用的具体镜像。需要注意的是,每个应用环境下每个区域中的都对应有保存镜像资源的镜像仓库。在该镜像仓库中保存有该应用环境下该区域所需要使用的所有的镜像资源。根据负载均衡应用的镜像类型从所对应的镜像仓库中提取创建负载均衡应用所需要使用的具体镜像,如Nginx镜像。
S502,根据所述容器应用的应用环境、容器应用的区域、所述Nginx镜像信息以及所述负载均衡应用的容器实例数量确定创建Nginx负载均衡应用的宿主机。
根据Nginx镜像从数据库中获取该镜像创建Nginx容器时需占用的资源;获取数据库中对应位置(该机房下)预先分配的用于创建负载均衡应用的宿主机集群;根据创建Nginx容器需占用的资源、负载均衡应用的容器实例数量从宿主机集群中确定创建Nginx容器的宿主机。创建Nginx容器是需要在宿主机上占用一定的资源的,因此需要先确定创建Nginx容器需占用的资源,以判断宿主机是否有足够的资源来创建该Nginx容器。其中,创建Nginx容器需占用的资源包括CPU(CPU核数等)、内存、监控资源等。需要注意的是,一般而言,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机不是同一个宿主机,以避免该宿主机出现故障后,会导致负载均衡应用不能使用,同时应用服务也不能使用。另外,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机通常是在同一个网段内,以提高网络访问的速度。可以理解地,数据库中对应位置(该机房下)预先分配的用于创建负载均衡应用的宿主机集群和预先分配的用于创建容器应用的宿主机集群可以是同一个宿主机集群。在其他实施例中,也可以对应不同的宿主机集群。
S503,根据所述Nginx镜像信息在所述宿主机上创建Nginx负载均衡应用的Nginx容器。
如通过容器编排工具将Nginx镜像发送到所确定的创建Nginx容器的宿主机上,以进行Nginx容器的创建。Nginx容器创建成功后,会返回创建成功的消息;Nginx容器若创建失败,会返回创建失败的原因。其中,容器编排工具可以为Marathon工具,也可以为其他的可实现相同功能的工具。
S504,将所确定的Nginx负载均衡应用的容器实例IP与所创建的Nginx容器进行绑定,以将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
以上创建Nginx容器的过程中,确定Nginx镜像、确定创建Nginx容器的宿主机的执行顺序并没有严格限定,在其他实施例中,也可以先确定创建Nginx容器的宿主机,再确定Nginx镜像。确定Nginx镜像、确定创建Nginx容器的宿主机可以并行执行,也可以分开执行。
如通过自动化运维工具去连接容器实例,将所创建的Nginx容器与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的Nginx容器的IP。自动化运维工具可以为Ansible工具,也可以为其他的可实现相同功能的工具。
需要注意的是,Nginx容器中已经包括了高可用服务(keepalived)的信息,如包括虚拟服务器等。可通过以下方式完成,在使用Nginx镜像信息在该容器上创建Nginx负载均衡应用之前,先安装高可用服务的虚拟服务器;或者在制作Nginx镜像时就把高可用服务的虚拟服务器安装好,如此Nginx镜像中已经包含了高可用服务的信息,使用Nginx镜像创建Nginx容器后,可直接使用该高可用服务,在本实施例中,优先采用这种方式。在其他实施例中,还可以使用其他的方式。
S104,设置所创建的Nginx容器的标识状态和优先级。
如设置第一个创建的Nginx容器的标识状态为master(主用Nginx容器),其优先级为最高,设置其他的Nginx容器的标识状态为backup(备用Nginx容器),优先级一个比一个低。需要注意的是,备用Nginx容器的优先级低于主用Nginx容器的优先级。其中,可按照创建的Nginx容器的顺序来设置,先创建的Nginx容器的优先级高于后创建的Nginx容器的优先级。其中,优先级可以用数字表示,如100表示优先级最高,是主用Nginx容器的优先级,99是备用Nginx容器的优先级,低于主用Nginx容器的优先级。
S105,根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件。
该处的Nginx负载均衡应用的配置文件指的是Nginx.conf配置文件。所创建的容器应用的容器实例信息包括容器实例IP、容器实例的端口等信息,所创建的负载均衡应用的信息包括Nginx容器IP等信息。
在一实施例中,步骤S105包括:获取Nginx负载均衡应用的配置文件模板;将所述容器应用的容器实例的信息中的容器实例IP和端口、所述负载均衡应用的信息中的负载均衡应用的端口信息分别替换所述配置文件模板中真实服务器的IP参数和端口参数、负载均衡应用的端口参数,以形成Nginx负载均衡应用的配置文件。
其中,数据库中保存有Nginx负载均衡应用的配置文件模板。Nginx负载均衡应用的配置文件模板中包括预先设置的Nginx负载均衡的全局变量信息、events节点信息、http节点信息等。其中,Nginx负载均衡的全局变量信息包括运行该负载均衡应用的用户或者用户组(参数user)、可生成的进程数(参数worker_processes,通常设置为与Nginx负载均衡应用的CPU数量相等)、全局错误日志及PID文件等信息。Events节点信息包括Nginx负载均衡的工作模式(参数use,主要的工作模式有select、poll、kqueue、epoll等)、单个进程的最大并发链接数(参数worker_connections)、单个进程是否同时接收多个网络连接(参数accept_mutex)等信息。http节点信息是Nginx很重要的部分,包括Nginx配置文件需包含的文件(参数include)、连接超时时间、是否开启高效传输模式、客户端请求的body大小、压缩功能参数、负载均衡应用所对应的服务器池信息(即对应于upstream节点信息,该负载均衡应用所对应的服务器池信息中包括容器应用的容器实例(即服务器)的IP参数、端口参数等,需要注意的是,该处的端口参数指的是容器应用的容器实例提供服务的端口)、负载均衡应用的虚拟主机信息(即对应于server节点信息,server节点信息的个数与Nginx负载均衡应用的端口有关,每个端口对应一个server节点信息,每个server节点信息中都有对应的端口参数,需要注意的是,该处理的端口号指的是Nginx负载均衡应用的端口号,server节点信息中包括有多个配置参数信息)等。其中,压缩功能参数包括是否开启gzip功能、允许压缩的页面最小字节数、压缩结果存贮的内存空间大小、压缩级别、压缩的文件类型、是否让前端的缓存服务器缓存经过gzip压缩的页面等信息。负载均衡应用所对应的服务器池信息包括会话保持的参数设置、所对应的容器应用的容器实例参数信息(包括容器应用的容器实例的IP参数、端口参数)、所对应的容器应用的容器实例检查参数等。负载均衡应用的虚拟主机信息包括监听端口、虚拟主机的域名/名称/地址等(如虚拟主机的名称对应于upstream节点信息中命名的upstream名称)、访问请求的日志路径、URL重定向信息、站点根目录、默认访问的首页、请求所对应的服务器的路径、允许访问的IP、拒绝访问的IP、静态文件的访问参数等等。其中,站点根目录、默认访问的首页、请求所对应的服务器的路径、允许访问的IP、拒绝访问的IP、静态文件的访问参数等等都是通过location节点配置块来实现的。
将所述容器应用的容器实例的信息中的容器实例IP和端口、所述负载均衡应用的信息中的负载均衡应用的端口信息分别替换所述配置文件模板中真实服务器的IP参数和端口参数、负载均衡应用的端口参数,以形成Nginx负载均衡应用的配置文件。其中,容器应用的容器实例有多个,那么在upstream节点中就生成多个server字段,每个server字段中包括有一个服务器的IP参数和端口参数,将容器应用的容器实例的IP和端口,替换server字段中的服务器的IP参数和端口参数。其中,server字段和文中的server节点是两个不同的概念,serverxxx.yyy.zzz.abc:8080,中的server指的是server字段。而server节点中包括有多个不同的参数信息等。其中,负载均衡应用的端口有多个,那么就生成多个server节点信息,将负载均衡应用的信息中的负载均衡应用的端口信息替换server节点中的端口参数,一个端口信息对应一个server中的端口参数。如此,以构建负载均衡应用的配置文件。
直接通过负载均衡应用的配置文件模板来生成负载均衡应用的配置文件,提高了生成配置文件的速度和效率。
S106,为所述高可用服务的虚拟服务器分配虚拟IP。
其中,分配虚拟IP(Virtual IP,VIP)的方式与分配Nginx容器IP的方式相同。需要指出的是,虚拟IP与Nginx容器IP是不同的。如假设Nginx容器有2个,会分别为每个Nginx容器分配一个IP,那么Nginx容器就对应有2个容器IP,虚拟IP又是另外的一个IP。无论Nginx有多少个,只对应一个虚拟IP。其中,高可用服务指的是keepalived服务。
S107,根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件。
高可用服务的配置文件为keepalived.conf。
在一实施例中,如图6所示,步骤S107,包括以下步骤S601-S603。
S601,获取高可用服务的配置文件模板。
在数据库中获取高可用服务的配置文件模板。其中,在一实施例中,高可用服务的配置文件模板中包括有高可用服务的全局变量信息、VRRP实例的信息等。其中,VRRP(Virtual Router Redundancy Protocol,虚拟路由冗余协议):通过把几台路由设备联合组成一台虚拟路由设备(相当于高可用服务的虚拟服务器),将虚拟路由设备的IP地址(虚拟IP)作为用户的默认网关地址实现与外部的通讯。当网关设备(主用Nginx容器)发生故障时,VRRP协议能够快速选举新的网关设备(从备用Nginx容器中选举)承担数据流量,保障网络的可靠通信。VRRP使用IP报文作为传输协议报文,协议号为112,使用固定的组播地址进行发送,通过协议报文选举出一台路由设备作为master(即主用设备),其他设备作为backup(即备用设备),来实现网关备份功能。
其中,全局变量信息包括运行高可用服务机器的标识,VRRP的组播地址等。VRRP实例的信息可以理解为主用Nginx容器的信息,包括VRRP实例的状态标识参数(即主用Nginx容器的状态标识master)、VRRP实例的的优先级参数(即主用Nginx容器的优先级)、VRRP实例绑定的网卡(即主用Nginx容器绑定的网卡,确定VRRP心跳包从哪块网卡发出)、虚拟路由设备的ID参数、VRRP心跳包的发送周期、认证信息(包括认证方式和认证密码)、虚拟IP参数等。如此,将master与虚拟IP绑定,而master又与主用Nginx容器绑定。如此,通过主用Nginx容器即可实现高可用服务。
S602,根据所设置的Nginx容器的标识状态和优先级确定主用的Nginx容器的信息。
主用的Nginx容器的信息包括主用Nginx容器的标识状态和优先级。从数据库中获取主用Nginx容器的优先级和标识状态,其中,主用Nginx容器的优先级最高,标识状态为master。
S603,将所述虚拟IP、主用的Nginx容器的信息替换所述高可用服务的配置文件模板中的虚拟IP参数、主用的Nginx容器的信息参数,以形成所述高可用服务的配置文件。
具体地,将虚拟IP替换VRRP实例的信息中的虚拟IP参数,将主用的Nginx容器中的标识状态和优先级替换VRRP实例的信息中的状态标识参数、VRRP实例的的优先级参数,如此,以形成所述高可用服务的配置文件。
在其他实施例中,也可以默认第一个创建的Nginx容器作为主用的Nginx容器,设置该第一个创建的Nginx容器的标识状态为master。
在一实施例中,所述方法还包括:
S108,开启所述Nginx负载均衡应用的所述高可用服务。
具体地,将新的配置文件与预设的启动脚本进行关联;执行关联后的预设的启动脚本。启动后,Nginx负载均衡服务的状态修改为已启动。在某一实施例中,可使用命令来实现。如xxx/xxxxx/xx/xx/keepalived.conf restart.其中,keepalived.conf为高可用服务的配置文件,restart表示重启。需要注意的是,生成的Nginx的配置文件保存在数据卷中,该配置文件是所有Nginx容器共用的配置文件,只有开启了Nginx负载均衡应用的负载均衡服务之后,Nginx容器才可以在数据卷中自动获取配置文件到Nginx容器中。
所创建的容器应用的容器实例即为应用所对应的真实的服务器,即真正为用户访问请求提供服务的服务器。访问服务器时,首先访问请求到达Nginx负载均衡容器,Nginx负载均衡容器根据访问请求的端口信息,再通过一定的负载均衡算法,将访问请求分配给某个容器实例(其中一个服务器),以通过容器实例返回访问请求所需要的信息。
上述方法实施例完成了在创建容器应用的同时创建Nginx负载均衡应用,同时将创建的容器应用与创建的Nginx负载均衡应用进行了自动关联。无需先创建容器应用,再创建Nginx负载均衡应用,最后将两者进行手动关联,加快了创建的速度。以上创建的具体过程自动完成,进一步加快了创建的速度和效率,节约了时间成本和人工成本。
图7是本申请实施例提供的负载均衡应用创建装置的示意性框图。该装置包括用于执行上述负载均衡应用创建方法所对应的单元。具体地,如图7所示,该装置100包括信息设置单元101、应用创建单元102、负载创建单元103、标识设置单元104、第一配置构建单元105、虚拟IP分配单元106、第二配置构建单元107。
信息设置单元101,用于若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的类型为Nginx。
应用创建单元102,用于若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例。
负载创建单元103,用于根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,所述Nginx容器中包括高可用服务。
标识设置单元104,用于设置所创建的Nginx容器的标识状态和优先级。
第一配置构建单元105,用于根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件。
虚拟IP分配单元106,用于为所述高可用服务的虚拟服务器分配虚拟IP。
第二配置构建单元107,用于根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件。
在一实施例中,负载均衡应用创建装置100还包括开启单元108。
开启单元108,用于开启所述Nginx负载均衡应用的所述高可用服务。
在一实施例中,如图8所示,应用创建单元102包括应用IP确定单元201、实例创建单元202。其中,应用IP确定单元201,用于根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP。实例创建单元202,用于根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例IP。
在一实施例中,如图8所示,应用创建单元102还包括名称生成单元201a、名称判断单元201b、提示单元201d。其中,名称生成单元201a,用于根据预设的名称生成规则生成该容器应用的应用名称。名称判断单元201b,用于判断所生成的应用名称在该容器应用对应的区域中是否已经存在。若所生成的应用名称在该容器应用对应的区域中不存在,触发应用IP确定单元201。提示单元201d,用于若所生成的应用名称在该容器应用对应的区域中已经存在,进行提示。
在一实施例中,如图8所示,应用创建单元102还包括金额判断单元201c。其中,金额判断单元201c,用于根据所述容器实例的使用时间、所述容器应用的资源组、所述容器实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该容器应用的容器实例。若有足够金额来创建该容器应用的容器实例,触发应用IP确定单元201。若没有足够金额来创建该容器应用的容器实例,触发提示单元201d。
在一实施例中,如图9所示,实例创建单元202包括应用镜像确定单元301、应用宿主机确定单元302、应用实例创建单元303、应用IP设置单元304。其中,应用镜像确定单元301,用于根据所述容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本以及镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像。应用宿主机确定单元302,用于根据所述镜像类型、镜像版本以及镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机。应用实例创建单元303,用于根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例。应用IP设置单元304,用于将所创建的容器实例与所确定的容器实例IP进行绑定,以将所确定的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,负载创建单元103包括负载IP确定单元、Nginx创建单元。其中,负载IP确定单元,用于根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的容器实例数量确定Nginx负载均衡应用的容器实例IP。Nginx创建单元,用于根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的类型和负载均衡应用的容器实例数量创建Nginx容器,并将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
在一实施例中,负载IP确定单元包括地址池确定单元、负载容器IP确定单元。其中,地址池确定单元,用于根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域确定预先分配的用于创建容器实例的IP地址池。负载容器IP确定单元,用于根据所述负载均衡应用的信息中的负载均衡应用的容器实例数量从所述IP地址池中获取相同数量的空闲IP,将所获取的空闲IP确定为Nginx负载均衡应用的容器实例IP。
在一实施例中,Nginx创建单元包括负载镜像确定单元、负载宿主机确定单元、负载实例创建单元、负载IP设置单元。其中,负载镜像确定单元,用于根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的类型确定创建所述负载均衡应用的Nginx镜像信息。负载宿主机确定单元,用于根据所述容器应用的应用环境、容器应用的区域、所述Nginx镜像信息以及所述负载均衡应用的容器实例数量确定创建Nginx负载均衡应用的宿主机。负载实例创建单元,用于根据所述Nginx镜像信息在所述宿主机上创建Nginx负载均衡应用的Nginx容器。负载IP设置单元,用于将所确定的Nginx负载均衡应用的容器实例IP与所创建的Nginx容器进行绑定,以将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
在一实施例中,第一配置构建单元105,包括第一模板获取单元、第一替换单元。其中,第一模板获取单元,用于获取Nginx负载均衡应用的配置文件模板。第一替换单元,用于将所述容器应用的容器实例的信息中的容器实例IP和端口、所述负载均衡应用的信息中的负载均衡应用的端口信息分别替换所述配置文件模板中真实服务器的IP参数和端口参数、负载均衡应用的端口参数,以形成Nginx负载均衡应用的配置文件。
在一实施例中,第二配置构建单元107,包括第二配置获取单元、主用容器确定单元、第二替换单元。其中,第二配置获取单元,用于获取高可用服务的配置文件模板。主用容器确定单元,用于根据所设置的Nginx容器的标识状态和优先级确定主用的Nginx容器的信息。第二替换单元,用于将所述虚拟IP、主用的Nginx容器的信息替换所述高可用服务的配置文件模板中的虚拟IP参数、主用的Nginx容器的信息参数,以形成所述高可用服务的配置文件。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图10所示的计算机设备上运行。
图10为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备100包括通过系统总线101连接的处理器102、存储器和网络接口103,其中,存储器可以包括非易失性存储介质104和内存储器105。
该非易失性存储介质104可存储操作系统1041和计算机程序1042。该非易失性存储介质中所存储的计算机程序1042被处理器102执行时,可实现上述服务器中所述的多活负载均衡应用创建方法。该处理器102用于提供计算和控制能力,支撑整个设备100的运行。该内存储器105为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器102执行时,可使得处理器102执行上述服务器中所述的多活负载均衡应用创建方法。该网络接口103用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器102用于运行存储在存储器中的计算机程序,以实现上述多活负载均衡应用创建方法的任一实施例。
应当理解,在本申请实施例中,所称处理器102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现上述多活负载均衡应用创建方法的任一实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种负载均衡应用创建方法,其特征在于,所述方法包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的类型为Nginx;
若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;
根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,所述Nginx容器中包括高可用服务;
设置所创建的Nginx容器的标识状态和优先级;
根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件;
为所述高可用服务的虚拟服务器分配虚拟IP;
根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,包括:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的容器实例数量确定Nginx负载均衡应用的容器实例IP;
根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的类型和负载均衡应用的容器实例数量创建Nginx容器,并将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
3.根据权利要求2所述的方法,其特征在于,所述根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的类型和负载均衡应用的容器实例数量创建Nginx容器,并将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP,包括:
根据所述容器应用的应用环境、容器应用的区域、所述负载均衡应用的类型确定创建所述负载均衡应用的Nginx镜像信息;
根据所述容器应用的应用环境、容器应用的区域、所述Nginx镜像信息以及所述负载均衡应用的容器实例数量确定创建Nginx负载均衡应用的宿主机;
根据所述Nginx镜像信息在所述宿主机上创建Nginx负载均衡应用的Nginx容器;
将所确定的Nginx负载均衡应用的容器实例IP与所创建的Nginx容器进行绑定,以将所确定的Nginx负载均衡应用的容器实例IP设置为所创建的Nginx容器的IP。
4.根据权利要求2所述的方法,其特征在于,所述根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、所述负载均衡应用的信息中的负载均衡应用的容器实例数量确定Nginx负载均衡应用的容器实例IP,包括:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域确定预先分配的用于创建容器实例的IP地址池;
根据所述负载均衡应用的信息中的负载均衡应用的容器实例数量从所述IP地址池中获取相同数量的空闲IP,将所获取的空闲IP确定为Nginx负载均衡应用的容器实例IP。
5.根据权利要求1所述的方法,其特征在于,所述根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件,包括:
获取Nginx负载均衡应用的配置文件模板;
将所述容器应用的容器实例的信息中的容器实例IP和端口、所述负载均衡应用的信息中的负载均衡应用的端口信息分别替换所述配置文件模板中真实服务器的IP参数和端口参数、负载均衡应用的端口参数,以形成Nginx负载均衡应用的配置文件。
6.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件,包括:
获取高可用服务的配置文件模板;
根据所设置的Nginx容器的标识状态和优先级确定主用的Nginx容器的信息;
将所述虚拟IP、主用的Nginx容器的信息替换所述高可用服务的配置文件模板中的虚拟IP参数、主用的Nginx容器的信息参数,以形成所述高可用服务的配置文件。
7.根据权利要求1所述的方法,其特征在于,所述根据所设置的容器应用的信息创建所述容器应用的容器实例,包括:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP;
根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
8.一种负载均衡应用创建装置,其特征在于,所述负载均衡应用创建装置包括:
信息设置单元,用于若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的类型为Nginx;
应用创建单元,用于若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;
负载创建单元,用于根据所设置的容器应用的信息和负载均衡应用的信息创建Nginx容器,所述Nginx容器中包括高可用服务;
标识设置单元,用于设置所创建的Nginx容器的标识状态和优先级;
第一配置构建单元,用于根据所创建的容器应用的容器实例的信息和所述负载均衡应用的信息,构建Nginx负载均衡应用的配置文件;
虚拟IP分配单元,用于为所述高可用服务的虚拟服务器分配虚拟IP;
第二配置构建单元,用于根据所述虚拟IP、所设置的Nginx容器的标识状态和优先级,构建高可用服务的配置文件。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910413852.6A CN110224860B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910413852.6A CN110224860B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110224860A true CN110224860A (zh) | 2019-09-10 |
CN110224860B CN110224860B (zh) | 2023-05-26 |
Family
ID=67821366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910413852.6A Active CN110224860B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110224860B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111352995A (zh) * | 2020-02-25 | 2020-06-30 | 中信银行股份有限公司 | 基于数据库Neo4j的服务器服务方法、系统、设备和存储介质 |
CN111475289A (zh) * | 2020-03-26 | 2020-07-31 | 北京世纪家天下科技发展有限公司 | 负载均衡方法及装置 |
CN111641719A (zh) * | 2020-06-02 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 基于Openstack的内网型负载均衡实现方法、存储介质 |
CN112532669A (zh) * | 2019-09-19 | 2021-03-19 | 贵州白山云科技股份有限公司 | 一种网络边缘计算方法、装置及介质 |
WO2021179493A1 (zh) * | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN113992683A (zh) * | 2021-10-25 | 2022-01-28 | 重庆紫光华山智安科技有限公司 | 实现同一集群中双网络有效隔离的方法、系统、设备及介质 |
CN114064155A (zh) * | 2022-01-17 | 2022-02-18 | 深圳市华付信息技术有限公司 | 基于容器的算法调用方法、装置、设备及存储介质 |
CN115242700A (zh) * | 2021-04-23 | 2022-10-25 | 网联清算有限公司 | 一种通信传输方法、装置及系统 |
CN117539594A (zh) * | 2024-01-10 | 2024-02-09 | 中国电子科技集团公司信息科学研究院 | 一种面向像素流程序并发渲染的负载均衡方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959138A (zh) * | 2016-04-29 | 2016-09-21 | 深圳前海大数点科技有限公司 | 基于云计算的微服务动态部署的系统及方法 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
CN106790595A (zh) * | 2016-12-29 | 2017-05-31 | 上海理想信息产业(集团)有限公司 | 一种Docker容器主动负载均衡装置及方法 |
WO2018095138A1 (zh) * | 2016-11-25 | 2018-05-31 | 华为技术有限公司 | 容器的部署方法、服务间的通信方法及相关装置 |
CN108833163A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | Linux虚拟服务器的创建方法、装置、计算机设备及存储介质 |
CN109032760A (zh) * | 2018-08-01 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于部署应用的方法和装置 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
-
2019
- 2019-05-17 CN CN201910413852.6A patent/CN110224860B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105959138A (zh) * | 2016-04-29 | 2016-09-21 | 深圳前海大数点科技有限公司 | 基于云计算的微服务动态部署的系统及方法 |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
WO2018095138A1 (zh) * | 2016-11-25 | 2018-05-31 | 华为技术有限公司 | 容器的部署方法、服务间的通信方法及相关装置 |
CN106790595A (zh) * | 2016-12-29 | 2017-05-31 | 上海理想信息产业(集团)有限公司 | 一种Docker容器主动负载均衡装置及方法 |
CN108833163A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | Linux虚拟服务器的创建方法、装置、计算机设备及存储介质 |
CN109032760A (zh) * | 2018-08-01 | 2018-12-18 | 北京百度网讯科技有限公司 | 用于部署应用的方法和装置 |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532669A (zh) * | 2019-09-19 | 2021-03-19 | 贵州白山云科技股份有限公司 | 一种网络边缘计算方法、装置及介质 |
CN112532674A (zh) * | 2019-09-19 | 2021-03-19 | 贵州白山云科技股份有限公司 | 一种网络边缘计算系统的创建方法、装置及介质 |
CN111352995A (zh) * | 2020-02-25 | 2020-06-30 | 中信银行股份有限公司 | 基于数据库Neo4j的服务器服务方法、系统、设备和存储介质 |
WO2021179493A1 (zh) * | 2020-03-09 | 2021-09-16 | 平安科技(深圳)有限公司 | 基于微服务的负载均衡方法、装置、设备及存储介质 |
CN111475289A (zh) * | 2020-03-26 | 2020-07-31 | 北京世纪家天下科技发展有限公司 | 负载均衡方法及装置 |
CN111475289B (zh) * | 2020-03-26 | 2024-04-12 | 北京世纪家天下科技发展有限公司 | 负载均衡方法及装置 |
CN111641719B (zh) * | 2020-06-02 | 2023-03-28 | 山东汇贸电子口岸有限公司 | 基于Openstack的内网型负载均衡实现方法、存储介质 |
CN111641719A (zh) * | 2020-06-02 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 基于Openstack的内网型负载均衡实现方法、存储介质 |
CN115242700A (zh) * | 2021-04-23 | 2022-10-25 | 网联清算有限公司 | 一种通信传输方法、装置及系统 |
CN115242700B (zh) * | 2021-04-23 | 2024-03-22 | 网联清算有限公司 | 一种通信传输方法、装置及系统 |
CN113992683A (zh) * | 2021-10-25 | 2022-01-28 | 重庆紫光华山智安科技有限公司 | 实现同一集群中双网络有效隔离的方法、系统、设备及介质 |
CN113992683B (zh) * | 2021-10-25 | 2024-02-13 | 重庆紫光华山智安科技有限公司 | 实现同一集群中双网络有效隔离的方法、系统、设备及介质 |
CN114064155A (zh) * | 2022-01-17 | 2022-02-18 | 深圳市华付信息技术有限公司 | 基于容器的算法调用方法、装置、设备及存储介质 |
CN117539594A (zh) * | 2024-01-10 | 2024-02-09 | 中国电子科技集团公司信息科学研究院 | 一种面向像素流程序并发渲染的负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110224860B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224860A (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
EP3605323B1 (en) | Method for generating network slice template and for applying network slice template, and apparatus | |
US10757197B2 (en) | Self-extending cloud | |
US10671368B2 (en) | Automatic creation of delivery pipelines | |
US9667750B2 (en) | Client-initiated leader election in distributed client-server systems | |
CN110825539B (zh) | 业务处理方法及装置 | |
CN110266761B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US10601680B2 (en) | Application resiliency using APIs | |
JP2021530037A (ja) | オンデマンドネットワークコード実行システムにおけるオペレーティングシステムカスタマイゼーション | |
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US11200157B1 (en) | Automated execution reporting for container builds | |
CN110275775A (zh) | 容器应用的资源配置方法、系统及存储介质 | |
US20140096136A1 (en) | Creating a Virtual Machine and Cloud Server | |
US20150142978A1 (en) | Management of cloud provider selection | |
JP2015122088A (ja) | コンピューティング能力に対する要求を動的に管理するための方法およびシステム | |
CN107005435B (zh) | 一种网络服务描述符上架方法及装置 | |
CN112333096A (zh) | 一种微服务流量调度方法及相关组件 | |
US11509527B1 (en) | Assisted and context-driven network changes | |
CN110166544B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN110286997B (zh) | 多容器应用创建方法、装置、计算机设备及存储介质 | |
CN112328390A (zh) | 自动化实施云管理平台的方法、装置及存储介质 | |
CN110673787A (zh) | 一种配置卷的方法及装置 | |
CN110620754B (zh) | Nf所需资源的部署方法、装置、存储介质及电子装置 | |
CN110275717A (zh) | 私有镜像克隆方法、装置、计算机设备及存储介质 | |
CN110417856B (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 |