CN110365742A - 多活负载均衡应用创建方法、装置、计算机设备及存储介质 - Google Patents
多活负载均衡应用创建方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110365742A CN110365742A CN201910527650.4A CN201910527650A CN110365742A CN 110365742 A CN110365742 A CN 110365742A CN 201910527650 A CN201910527650 A CN 201910527650A CN 110365742 A CN110365742 A CN 110365742A
- Authority
- CN
- China
- Prior art keywords
- application
- load balancing
- container
- lvs
- nginx
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
-
- 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
- H04L67/1004—Server selection for load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种多活负载均衡应用创建方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。本申请实施例的多活负载均衡,大大增加了LVS负载均衡的并发量,提高了用户访问后端容器应用的速度和效率,创建的过程自动完成,加快了创建的速度和效率,节约了时间成本和人工成本。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种多活负载均衡应用创建方法、装置、计算机设备及存储介质。
背景技术
创建LVS负载均衡应用时,通常是创建单活LVS负载均衡应用,即LVS负载均衡应用只对应有一个LVS容器,且单活LVS负载均衡应用仅仅只有LVS负载均衡应用。该LVS容器接收所有的用户请求,并把用户请求通过负载均衡算法分发到LVS负载均应用所对应的后端容器应用。当用户请求增多时,一个LVS容器同时要接收大量的用户请求,然而一个LVS容器的资源有限,可并发处理用户请求的数量有限。当用户请求增多时,单活LVS负载均衡应用已经满足不了需求。
发明内容
本申请实施例提供一种多活负载均衡应用创建方法、装置、计算机设备及存储介质,可增加LVS负载均衡应用的并发量,提高用户访问后端容器应用的速度和效率。
第一方面,本申请实施例提供了一种多活负载均衡应用创建方法,包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1;若接收到设置完成指令,根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用的信息、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用的信息、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
第二方面,本发明实施例提供了一种多活负载均衡应用创建装置,该多活负载均衡应用创建装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例通过创建多活负载均衡应用,该多活负载均衡应用包括LVS负载均衡应用、Nginx负载均衡应用,其中,LVS负载均衡应用对应有多个LVS容器,Nginx负载均衡应用对应有多个Nginx容器,通过所创建的多活负载均衡应用实现多活负载均衡,相对于单活LVS负载均衡应用,大大增加了LVS负载均衡的并发量,提高了用户访问后端容器应用的速度和效率。创建多活负载均衡应用的过程自动完成,加快了创建多活负载均衡应用的速度和效率,节约了时间成本和人工成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的多活负载均衡应用创建方法的流程示意图;
图2是本申请实施例提供的多活负载均衡应用创建方法的子流程示意图;
图3是本申请实施例提供的多活负载均衡应用创建方法的子流程示意图;
图4是本申请实施例提供的多活负载均衡应用创建方法的子流程示意图;
图5是本申请实施例提供的多活负载均衡应用创建方法的子流程示意图;
图6是本申请实施例提供的多活负载均衡应用创建装置的示意性框图;
图7是本申请实施例提供的多活创建单元的示意性框图;
图8是本申请实施例提供的第一配置生成单元的示意性框图;
图9是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的多活负载均衡应用创建方法的流程示意图。如图1所示,该方法包括S101-S102。
S101,若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的多活负载均衡应用的信息、LVS(Linux VirtualServer,Linux虚拟服务器)负载均衡应用的容器数量以及端口信息、Nginx(engine x)负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1。
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1,Nginx负载均衡应用的容器数量一般默认为2个,也可以设置其他的数量。在一实施例中,LVS负载均衡应用的容器数量等可根据后端容器应用的用户访问量来确定。
其中,预设的设置接口为开发人员编写的设置接口,可以以一个设置页面的形式呈现。通过该预设的设置接口设置需创建的多活负载均衡应用的各种相关信息。具体地,接收用户输入的/选择的需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息。
其中,多活负载均衡应用的信息包括多活负载均衡应用的应用环境、多活负载均衡应用的区域等。其中,多活负载均衡应用的应用环境包括生产环境、测试环境、开发环境等。其中,生产环境意味着该多活负载均衡应用创建成功后对接外部环境,或者供外部用户进行访问;测试环境意味着该多活负载均衡应用创建成功后供测试使用;开发环境意味着该多活负载均衡应用创建成功后供开发使用。多活负载均衡应用的区域指的是创建多活负载均衡应用的机房位置,由两部分组成:“区域”+“安全区域”。其中,“安全区域”是“区域”下的一个子区域。可以理解为,将多活负载均衡应用创建在“xx区域”下的“xxx安全区域”的机房中。然而,确定多活负载均衡应用创建在哪个具体地机房中,需要根据多活负载均衡应用的应用环境和多活负载均衡应用的区域共同决定,可以理解为将多活负载均衡应用创建在某个应用环境下多活负载均衡应用的区域所对应的机房中。可以理解为,同一个区域不同应用环境所对应的机房是不同的。多活负载均衡应用的信息还包括应用管理员(创建多活负载均衡应用的人,可以对创建的多活负载均衡应用进行管理)等。在一些实施例中,多活负载均衡应用的信息还包括受益人资源池,受益人资源池指的是创建多活负载均衡应用的子公司/部门,决定所创建的容器分配的IP网段以及容器的宿主机资源等,不同资源池,使用的是不同的IP网段以及宿主机资源。若多活负载均衡应用的信息还包括受益人资源池,那么受益人资源池与多活负载均衡应用的应用环境、多活负载均衡应用的区域一起决定所创建的容器所分配的IP网段以及容器的宿主机资源。
LVS负载均衡应用以及Nginx负载均衡应用的端口信息可以有一个也可以有多个,负载均衡应用的端口指的是负载均衡应用支持的访问端口,如http模式访问的端口,如80、443等端口。
S102,若接收到设置完成指令,根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用的信息、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用的信息、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
设置完成指令由用户点击提交等按钮触发或者接收到语音等触发,若接收到设置完成指令,接着即可自动化创建多活负载均衡应用了。其中,后端容器应用即为多活负载均衡应用所对应的后端应用,该多活负载均衡应用为该后端容器应用提供负载均衡服务。由于该多活负载均衡应用包括LVS负载均衡应用和Nginx负载均衡应用,因此,为了方便理解,后端容器应用也可以看做是Nginx负载均衡应用的后端应用,Nginx负载均衡应用可以看做是LVS负载均衡应用的后端应用。如此,需要根据后端容器应用以及Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用以及LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。需要注意的是,“可以看做”这种表述只是为了方便理解多活负载均衡应用中的LVS负载均衡应用和Nginx负载均衡应用之间的关系。同样可以理解地,需要先创建Nginx负载均衡应用所对应的Nginx容器,再创建LVS负载均衡应用所对应的LVS容器,才可以根据Nginx负载均衡应用以及LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
在一实施例中,创建多活负载均衡应用可先创建Nginx负载均衡应用,生成Nginx负载均衡应用的配置文件,再创建LVS负载均衡应用,生成LVS负载均衡应用的配置文件。
在一实施例中,如图2所示,步骤S102包括以下步骤S201-S206。
S201,根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量确定LVS容器以及Nginx容器对应的IP。
在一实施例中,步骤S201包括以下步骤:根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定预先分配的容器IP地址池;根据LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量从预先分配的容器IP地址池中确定对应数量的IP,将所确定的对应数量的IP作为LVS容器以及Nginx容器对应的IP。
根据多活负载均衡应用的应用环境、多活负载均衡应用的区域可确定创建多活负载均衡应用的位置,即将多活负载均衡应用创建在具体哪个机房中。如将多活负载均衡应用创建在测试环境下宝信(地名)区域下的SF(宝信下面的一个更小的区域标识)子区域所在的机房中。获取数据库中对应位置(该机房下)预先分配的用于创建容器的容器IP地址池;根据LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量从预先分配的容器IP地址池中获取与对应容器数量相同数量的空闲IP,将该空闲IP确定为LVS容器以及Nginx容器对应的IP。LVS容器指的是LVS负载均衡应用的容器,Nginx容器指的是Nginx负载均衡应用的容器。需要注意的是,LVS容器以及Nginx容器对应的IP是从同一个容器IP地址池中获取的,以使得LVS负载均衡应用和Nginx负载均衡应用处于同一个网络中。其中,LVS容器以及Nginx容器对应的IP包括LVS容器的IP和Nginx容器的IP。LVS容器的IP的数量与LVS负载均衡应用的容器数量相同,Nginx容器的IP的数量与Nginx负载均衡应用的容器数量相同。
S202,根据所述多活负载均衡应用的信息、Nginx负载均衡应用的容器数量、LVS负载均衡应用的容器数量创建对应数量的Nginx容器、LVS容器,并将所创建的容器与所确定的IP进行绑定。
该步骤先创建Nginx容器、LVS容器,再将所创建的容器与所确定的IP进行绑定,以将所确定的IP设置为Nginx容器、LVS容器的IP。
在一实施例中,如图3所示,步骤S202包括以下步骤S301-S303。
S301,根据所述多活负载均衡应用的信息、Nginx负载均衡应用的容器数量创建对应数量的Nginx容器。
其中,所述多活负载均衡应用的信息包括多活负载均衡应用的应用环境、多活负载均衡应用的区域。
在一实施例中,步骤S301包括以下步骤:根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定Nginx负载均衡应用的镜像信息;根据所述多活负载均衡应用的应用环境、多活负载均衡应用的区域、Nginx负载均衡应用的镜像信息、Nginx负载均衡应用的容器数量确定创建Nginx容器的宿主机;根据所述Nginx负载均衡应用的镜像信息在所述宿主机上创建Nginx容器。
具体地,根据多活负载均衡应用的应用环境、多活负载均衡应用的区域确定用于保存Nginx负载均衡应用的镜像信息的镜像仓库;从镜像仓库中提取出创建Nginx负载均衡应用所需要使用的镜像信息;根据创建Nginx负载均衡应用所需要使用的镜像信息确定创建Nginx容器所需要占用的资源;根据多活负载均衡应用的应用环境、多活负载均衡应用的区域、创建Nginx容器所需要占用的资源以及Nginx负载均衡应用的容器数量确定创建Nginx容器的宿主机;根据所述Nginx负载均衡应用的镜像信息在所述宿主机上创建Nginx容器。
其中,根据该多活负载均衡应用的应用环境、多活负载均衡应用的区域可确定多活负载均衡应用创建的位置,即将多活负载均衡应用创建在具体哪个机房中。需要注意的是,每个应用环境下每个区域中的都对应有保存镜像资源的镜像仓库。在该镜像仓库中保存有该应用环境下该区域所需要使用的所有的镜像资源。获取数据库中对应位置(该机房下)预先分配的用于创建Nginx容器的宿主机的IP地址池;根据创建Nginx容器需占用的资源从宿主机的IP地址池中确定创建Nginx容器的宿主机。创建Nginx容器是需要在宿主机上占用一定的资源的,因此需要先确定创建Nginx容器需占用的资源,以判断宿主机是否有足够的资源来创建Nginx容器。其中,创建Nginx容器需占用的资源包括CPU(CPU核数等)、内存、监控资源等。其中,一个Nginx容器会创建在一个宿主机上,即一个Nginx容器对应一个宿主机。
其中,根据所述Nginx负载均衡应用的镜像信息在所述宿主机上创建Nginx容器的步骤,包括:通过容器编排工具将Nginx负载均衡应用的镜像信息发送到所确定的创建Nginx容器的宿主机上,以进行Nginx容器的创建。Nginx容器创建成功后,会返回创建成功的消息;Nginx容器若创建失败,会返回创建失败的原因。其中,容器编排工具可以为Marathon工具,也可以为其他的工具。
S302,根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量创建对应数量的LVS容器。
在一实施例中,步骤S302包括:根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定LVS负载均衡应用的镜像信息;根据所述多活负载均衡应用的应用环境、多活负载均衡应用的区域、LVS负载均衡应用的镜像信息、LVS负载均衡应用的容器数量确定创建LVS容器的宿主机;根据所述LVS负载均衡应用的镜像信息在所述宿主机上创建LVS容器。步骤S302中创建LVS容器与前述步骤中的创建Nginx容器的步骤一致,具体请参看前述步骤中的创建Nginx容器的相关描述,在此不再赘述。
S303,将所创建的Nginx容器、LVS容器与所确定的IP进行绑定。
通过自动化运维工具如ansible工具去连接所创建的Nginx容器、LVS容器,将所创建的Nginx容器、LVS容器与所确定的IP进行绑定,以将所确定的容器IP设置为所创建的容器的IP。
在其他实施例中,也可以在创建了Nginx容器后,就将所创建的Nginx容器与所确定的IP中对应数量的IP进行绑定,再接着创建LVS容器,将所创建的LVS容器与所确定的IP中的对应数量的IP进行绑定。
在一实施例中,若多活负载均衡应用的信息中的是否启用监控信息中的标识为启用监控标识,即对所创建的多活负载均衡应用的容器进行监控,比如监控容器的CPU/内存/IO等资源的使用情况。如此,以上多活负载均衡应用创建的过程中还涉及有为所创建多活负载均衡应用的容器实例启用监控,对应的步骤还包括:
将多活负载均衡应用的启用监控标识推送到所确定的创建LVS容器、Nginx容器的宿主机上,以根据宿主机的监控进程收集LVS容器、Nginx容器的运行数据信息。其中,默认所有宿主机上都会安装监控进程且该监控进程是启用状态。将启用监控标识推送到所确定的宿主机上,通过宿主机上安装的监控进程来监控LVS容器、Nginx容器。如此,以方便获取该多活负载均衡应用的所有容器的相关信息,方便定位多活负载均衡应用中出现的异常。
S203,根据所述多活负载均衡应用的信息为LVS负载均衡应用分配一个虚拟IP(Virtual IP,VIP)。
根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定预先分配的虚拟IP地址池;从预先分配的虚拟IP地址池中确定一个空闲的IP,将所确定的空闲IP作为LVS负载均衡应用的虚拟IP。其中,虚拟IP地址池可以与容器IP地址池可以为预先分配的同一个IP地址池,也可以为预先分配的不同IP地址池。其中,虚拟IP即为服务IP,服务IP为提供负载均衡服务所需要使用的IP,也可以理解为对外使用的IP,即外部用户请求进来所对应的IP。需要注意的是,无论LVS负载均衡应用对应有多少个LVS容器,都只分配一个虚拟IP。
S204,根据所述虚拟IP、所创建的Nginx容器信息、所设置的LVS负载均衡应用的端口信息、第一配置文件生成模板构建LVS负载均衡应用的配置文件。
其中,第一配置文件生成模板预先存在,第一配置文件生成模板中包括容器实例模板和负载均衡模板。
其中,容器实例模板中包括容器实例IP参数、容器实例端口参数以及容器实例其他参数和其他参数所对应的值。该处的容器实例指的是LVS负载均衡应用所对应的后端应用所对应的容器。在本实施例中,LVS负载均衡应用所对应的后端应用所对应的容器指的是Nginx容器。容器实例其他参数包括容器实例的权重参数(根据该权重来决定访问请求应该转发到哪个容器实例,若是轮询算法那么每个容器实例所对应的权重是一样的,那么就随机转发)、容器实例所对应的TCP健康检查参数(LVS负载均衡要定期检查容器实例以检测容器实例是否可用)等。其中,容器实例所对应的TCP健康检查参数包括连接超时时间参数(默认为3s)、重连次数参数(默认为3次)、重连间隔时间参数(默认为3s)、所连接的端口参数(可与负载均衡应用的端口一致)。可以理解地,若在3s内都连接补上,那么认为连接超时,默认重连3次,每次重连间隔时间为3s。若重连3次,每次重连间隔时间为3s后,仍连接超时,那么认为该容器实例是不可用的。需要注意的是,容器实例其他参数所对应的值都是默认值,也可以理解为,容器实例其他参数所对应的值都是基于当前环境当前应用场景下的最优的值。
其中,负载均衡模板包括虚拟IP参数、负载均衡应用端口参数以及其他负载均衡参数和其他负载均衡参数所对应的值。其中,其他负载均衡参数包括LVS负载均衡算法参数(默认为轮询算法(轮询算法可简写为rr))、LVS负载均衡转发模式参数(默认为DR模式,该模式下通过为接收到的请求报文重新封装一下新的MAC地址,以转发到对应的服务器(即容器实例))、LVS负载均衡转发协议参数(默认为TCP协议,该协议默认使用LVS四层负载均衡)等。同理,其他负载均衡参数所对应的值都是默认值,也可以理解为,其他负载均衡参数值都是基于当前环境当前应用场景下的最优的值。
如在一实施例中,第一配置文件生成模板可包括以下内容:
其中,xxx.yyy.zzz.mmm表示VIP,LVS_port表示负载均衡应用的端口,LVS_algorithm表示LVS负载均衡算法参数,LVS_kind表示LVS负载均衡转发模式参数,protocol表示LVS负载均衡转发协议参数。xxx.yyy.zzz.nnn表示Nginx负载均衡应用的一个Nginx容器的IP、Realserver_port对应该Nginx容器的端口、weight表示容器实例所对应服务器的权重参数、TCP_CHECK表示容器实例所对应的服务器的TCP健康检查参数,该参数中包括以下参数:connect_timeout表示连接超时时间参数、nb_get_retry表示重连次数参数、delay_before_retry表示重连间隔时间参数、connect_port表示所连接的端口参数。在该实施例提供的第一配置文件生成模板中,Real_server部分即对应一个容器实例模板。
在一实施例中,如图4所示,步骤S204包括以下步骤S401-S404。
S401,对于所设置的LVS负载均衡应用的端口信息中的每个端口,根据所创建的Nginx容器信息中的容器数量、所述容器实例模板,生成与所述容器数量相同的容器实例模板,其中,每个容器实例模板中包括有一个容器实例IP参数和一个负载均衡应用端口参数。
根据所创建的Nginx容器信息中的容器数量、所述容器实例模板,生成与所述容器数量相同的容器实例模板。可以理解为,有多少个Nginx容器,就会生成多少个容器实例模板。
S402,将Nginx容器信息中的一个Nginx容器的IP和LVS负载均衡应用的一个端口替换一个容器实例模板中的容器实例IP参数和负载均衡应用端口参数,如此完成每个Nginx容器的IP的替换。
即将一个容器实例模板中的容器实例IP参数修改为一个Nginx容器的IP,如此一个容器实例模板对应一个Nginx容器的IP,如此每个容器实例模板中的容器实例IP参数修改为其中一个Nginx容器的IP,将Nginx容器作为LVS负载均衡应用的的后端应用的容器。
S403,将虚拟IP和该LVS负载均衡应用的一个端口替换负载均衡模板中的虚拟IP参数和负载均衡应用端口参数。
S404,将替换后的每个容器实例模板和替换后的负载均衡模板一起组成该LVS负载均衡应用的一个端口所对应的配置信息,如此,可生成LVS负载均衡应用的所有端口所对应的配置信息,将LVS负载均衡应用的所有端口所对应的配置信息文件作为LVS负载均应用的配置文件。
对于所设置的LVS负载均衡应用的端口信息中的每个端口,都执行步骤S401-S404,如此,生成多个端口的所对应的配置信息,将多个端口的配置信息文件作为LVS负载均应用的配置文件。如若所创建的Nginx容器为第一数量,如2个,端口信息中包括第二数量,如三个端口80,443,7001。那么生成的新的配置文件中,80端口所对应的容器实例信息有2个,443端口中所对应的容器实例数量也有2个,7001端口所对应的容器实例信息也有2个,最后生成的新的配置文件中包括80端口的相关配置信息、443端口的相关配置信息以及7001端口的相关配置信息。
需要注意的是,以上步骤S401-S402与步骤S403的顺序并没有严格限制,在其他实施例中,也可以先执行步骤S403,在执行步骤S401-S402。
S205,配置每个LVS容器的子网卡,以将所述虚拟IP与每个LVS容器的子网卡进行绑定。
为了让LVS负载均衡应用可以提供服务,在创建LVS容器时会有对应的负载均衡应用所依赖的环境信息,该环境信息包括子网卡。需要指出的是,子网卡并不是实际上的网络接口设备,但是也可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,但是当所依赖的物理网卡不启用时(Down状态)这些子网卡也将一同不能工作。一个LVS容器可以对应有多个子网卡。
将VIP分配给LVS容器的一个子网卡,如此,可通过VIP访问该子网卡。如可以使用命令ifconfig来配置子网卡。需要注意的是,一个VIP对应一个子网卡,因此无论LVS负载均衡的端口有多少个,那么都对应一个子网卡。在一实施例中,配置该LVS容器的子网卡,可使用命令来实现。如:ifconfig eth0:1 192.168.1.54 netmask 255.255.255.255broadcast 192.168.1.54up。其中,eth0:1表示子网卡eth0的网络接口1,192.168.1.54为VIP,255.255.255.255为掩码地址,192.168.1.54为广播地址。
S206,根据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 mime.types)、连接超时时间、是否开启高效传输模式、客户端请求的body大小、压缩功能参数、负载均衡应用所对应的后端容器应用的容器实例模板(即对应于upstream节点模板,该后端容器应用的容器实例模板中包括后端容器应用的容器实例的IP参数、端口参数等,需要注意的是,该处的端口参数指的是后端容器应用的容器实例提供服务的端口)、负载均衡应用的虚拟主机模板(server节点模板,server节点模板的个数与Nginx负载均衡应用的端口有关,每个端口对应一个server节点模板,每个server节点模板中都有对应的端口号信息,需要注意的是,该处理的端口号指的是Nginx负载均衡应用的端口号,server节点模板中包括有多个配置参数信息)等。其中,压缩功能参数包括是否开启gzip功能、允许压缩的页面最小字节数、压缩结果存贮的内存空间大小、压缩级别、压缩的文件类型、是否让前端的缓存服务器缓存经过gzip压缩的页面等信息。负载均衡应用所对应的后端容器应用的容器实例模板包括会话保持的参数设置、所对应的后端容器应用的容器实例参数信息(包括后端容器应用的容器实例的IP参数、端口参数)、所对应的后端容器应用的容器实例检查参数等。负载均衡应用的虚拟主机模板包括监听端口、虚拟主机的域名/名称/地址等(如虚拟主机的名称对应于upstream节点模板中命名的upstream名称)、访问请求的日志路径、URL重定向信息、站点根目录、默认访问的首页、请求所对应的服务器的路径、允许访问的IP、拒绝访问的IP、静态文件的访问参数等等。其中,站点根目录、默认访问的首页、请求所对应的服务器的路径、允许访问的IP、拒绝访问的IP、静态文件的访问参数等等都是通过location配置块来实现的。
在一实施例中,第二配置文件生成模板中包括负载均衡应用所对应的后端容器应用的容器实例模板、负载均衡应用的虚拟主机模板等。如图5所示,步骤S206包括以下步骤S501-S504。
S501,将后端容器应用的容器信息中的容器实例的IP、端口信息,替换容器实例模板中的容器实例的IP参数、端口参数。
后端容器应用的容器实例模板对应于upstream节点模板。在一实施例中,一个upstream节点模板实例化后可包括:
其中,sticky表示基于cookie的负载均衡模式的会话保存,10.54.18.198:8080表示real server,即真实服务器,对应后端容器应用的容器实例的IP和端口,Checkinterval=500 rise=2 fall=3 timeout=1000表示对upstream节点实例中的所有realserver进行探测,每5秒检查一次,请求2次正常则标记real server为up,否则为down,超时时间为1秒。
在该upstream节点实例中,所有的参数都已经赋予了对应的参数值。其中,appid是upstream节点名称,同时该upstream节点实例中,只对应一个后端容器应用的容器实例的IP和端口。在其他实施例中,upstream节点实例中可包括后端容器应用的所有容器实例的IP和端口信息,还可以包括更多的参数信息。其中,如若后端容器应用有两个容器实例的IP和端口信息时,可再多加一段serverxxx.yyy.zzz.aaa:port。
S502,根据Nginx负载均衡应用的端口信息中的端口数量、负载均衡应用的虚拟主机模板,生成相同数量的虚拟主机模板,其中,每个虚拟主机模板中包括一个端口参数。
负载均衡应用的虚拟主机模板对应于server节点模板,即生成多个server节点模板,每个server节点中包括有端口参数、代理转发参数等。其中,该代理转发参数(参数proxy_pass)中的转发路径需要加入upstream节点实例中的upstream节点名称。在一实施例中,upstream节点名称使用默认的名称,如此转发路径中的也是用该默认的名称。
S503,将Nginx负载均衡应用的端口信息中的每个端口号替换每个虚拟主机模板中的端口参数。
S504,将替换后的容器实例模板、虚拟主机模板、第二配置文件生成模板中其他预设参数组合以形成Nginx负载均衡应用的所有端口所对应的配置信息,将所对应的配置信息文件作为Nginx负载均衡应用的配置文件。
以上步骤S501与S502-S503的执行步骤顺序并没有严格限制,也可以先执行步骤S502-S503,再执行步骤S501。
在其他实施例中,步骤S204-S205与步骤S206的执行顺序并没有严格限定,也可以先执行步骤S206,再执行步骤S204-S205。在一实施例中,也可以先执行步骤S204,再执行步骤S206,再执行步骤S205。
在一实施例中,多活负载均衡应用的信息还包括多活负载均衡应用的使用时间、多活负载均衡应用的资源组。可以理解地,创建多活负载均衡应用的容器是需要收费的,多活负载均衡应用的资源组下包括有资源账户,用于多活负载均衡应用创建所使用的费用。多活负载均衡应用的使用时间,可以以月为单位,也可以以其他时间为单位。
如此,在步骤S201之前,所述方法还包括:根据所述多活负载均衡应用的使用时间、多活负载均衡应用的资源组、LVS负载均衡应用的容器数量以及Nginx负载均衡应用的容器数量来判断所述多活负载均衡应用的资源组中是否有足够金额以用来创建该多活负载均衡应用的容器。若有足够金额来创建该多活负载均衡应用的容器,执行步骤S201。若没有足够金额来创建该多活负载均衡应用的容器,进行提示。
其中,根据多活负载均衡应用中的LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量、多活负载均衡应用的使用时间、每个容器的费用计算创建多活负载均衡应用需要支付的金额;判断多活负载均衡应用的资源组中的剩余金额是否大于或者等于创建多活负载均衡应用需要支付的金额;若是,则确定多活负载均衡应用的资源组有足够金额以用来创建对应的多活负载均衡应用;若否,则确定多活负载均衡应用的资源组没有足够金额来进行创建。
在一实施例中,所述多活负载均衡应用创建方法还包括步骤S103。
S103,启动Nginx负载均衡应用所对应的Nginx容器和LVS负载均衡应用所对应的LVS容器,并开启每个LVS容器的OSPF服务,以启动多活负载均衡服务。
开启每个LVS容器的OSPF服务,可以自动开启,也可以手动开启。在本实施例中,是自动开启。可通过把启动OSPF服务的内容添加到另一个配置文件(在LVS容器中存在),在启动LVS容器后,读取该配置文件,以启动每个LVS容器的OSPF服务。
需要说明的是,以上创建多活负载均衡应用的所有方法实施例中当创建了多活负载均衡应用之后,会将所创建的多活负载均衡应用的信息添加到数据库中。包括多活负载均衡应用中的LVS容器实例的信息、Nginx容器实例的信息、多活负载均衡应用的应用环境、多活负载均衡应用的区域等等信息。
需要注意的是,以上创建多活负载均衡应用的方法实施例针对特定的一种网络架构,该网络架构中的路由协议需要使用OSPF协议,以使得用户请求通过OSPF协议所对应的路由器的分发策略分发到不同的LVS容器上。另一方面,由于网络架构中的路由协议使用的是OSPF协议,那么也无需为LVS容器的子网卡添加路由。
上述多活负载均衡应用所在的网络接收到用户请求后,由OSPF协议将用户请求按照一定的分发策略分发到不同的LVS容器上,LVS容器接收到用户请求后,按照LVS负载均衡算法将用户请求发送到Nginx容器上,Nginx容器接收到用户请求后,按照Nginx负载均衡算法将用户请求发送到后端容器应用,后端容器应用来响应用户请求。
上述方法实施例,通过创建多活负载均衡应用,该多活负载均衡应用包括LVS负载均衡应用、Nginx负载均衡应用(双层负载均衡),其中,LVS负载均衡应用对应有多个LVS容器,Nginx负载均衡应用对应有多个Nginx容器,通过所创建的多活负载均衡应用实现多活负载均衡,相对于单活LVS负载均衡应用,大大增加了LVS负载均衡的并发量,提高了用户访问后端容器应用的速度和效率。而且,创建多活负载均衡应用的过程自动完成,加快了创建多活负载均衡应用的速度和效率,节约了时间成本和人工成本。另外,相对于单活LVS负载均衡应用的低压模式,LVS负载均衡应用的后端容器应用与LVS负载均衡应用在同一个网络(网段)中,多活负载均衡应用中只需LVS负载均衡应用和Nginx负载均衡应用在同一个网络,后端容器应用与多活负载均衡应用可不在同一个网络,如此,可满足更多场景的需求,适用性广,适用性更强。
图6是本申请实施例提供的多活负载均衡应用创建装置的示意性框图。该装置包括用于执行上述多活负载均衡应用创建方法所对应的单元。如图6所示,该多活负载均衡应用创建装置100包括设置单元101、创建单元102。
设置单元101,用于若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1;
多活创建单元102,用于若接收到设置完成指令,根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用的信息、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用的信息、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
在一实施例中,该多活负载均衡应用创建装置100还包括启动单元103。其中,启动单元103,用于启动Nginx容器和LVS容器,并开启每个LVS容器的OSPF服务,以启动多活负载均衡服务。
在一实施例中,如图7所示,多活创建单元102包括IP确定单元201、容器生成单元202、虚拟IP确定单元203、第一配置生成单元204、子网卡配置单元205以及第二配置生成单元206。
IP确定单元201,用于根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量确定LVS容器以及Nginx容器对应的IP。
在一实施例中,IP确定单元201包括IP地址池确定单元、容器IP确定单元。其中,IP地址池确定单元,用于根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定预先分配的容器IP地址池。容器IP确定单元,用于根据LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量从预先分配的容器IP地址池中确定对应数量的IP,将所确定的对应数量的IP作为LVS容器以及Nginx容器对应的IP。
容器生成单元202,用于根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量,创建对应数量的LVS容器、Nginx容器,并将所创建的容器与所确定的IP进行绑定。
在一实施例中,容器生成单元202包括Nginx容器生成单元、LVS容器生成单元、IP绑定单元。其中,Nginx容器生成单元,用于根据所述多活负载均衡应用的信息、Nginx负载均衡应用的容器数量创建对应数量的Nginx容器。LVS容器生成单元,用于根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量创建对应数量的LVS容器。IP绑定单元,用于将所创建的Nginx容器、LVS容器与所确定的IP进行绑定。
在一实施例中,LVS容器生成单元包括LVS镜像确定单元、LVS宿主机确定单元以及LVS容器创建单元。其中,LVS镜像确定单元,用于根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定LVS负载均衡应用的镜像信息。LVS宿主机确定单元,用于根据所述多活负载均衡应用的应用环境、多活负载均衡应用的区域、LVS负载均衡应用的镜像信息、LVS负载均衡应用的容器数量确定创建LVS容器的宿主机。LVS容器创建单元,用于根据所述LVS负载均衡应用的镜像信息在所述宿主机上创建LVS容器。
在一实施例中,Nginx容器生成单元包括Nginx镜像确定单元、Nginx宿主机确定单元以及Nginx容器创建单元。其中,Nginx镜像确定单元,用于根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定Nginx负载均衡应用的镜像信息。Nginx宿主机确定单元,用于根据所述多活负载均衡应用的应用环境、多活负载均衡应用的区域、Nginx负载均衡应用的镜像信息、Nginx负载均衡应用的容器数量确定创建Nginx容器的宿主机。Nginx容器创建单元,用于根据所述Nginx负载均衡应用的镜像信息在所述宿主机上创建Nginx容器。
虚拟IP确定单元203,用于根据所述多活负载均衡应用的信息为LVS负载均衡应用分配一个虚拟IP。
第一配置生成单元204,用于根据所述虚拟IP、所创建的Nginx容器信息、所设置的LVS负载均衡应用的端口信息、第一配置文件生成模板构建LVS负载均衡应用的配置文件。
在一实施例中,如图8所示,第一配置生成单元204包括实例模板生成单元301、实例模板替换单元302、负载模板替换单元303以及第一组合单元304。其中,实例模板生成单元301,用于对于所设置的LVS负载均衡应用的端口信息中的每个端口,根据所创建的Nginx容器信息中的容器数量、所述容器实例模板,生成与所述容器数量相同的容器实例模板,其中,每个容器实例模板中包括有一个容器实例IP参数和一个负载均衡应用端口参数。实例模板替换单元302,用于将Nginx容器信息中的一个Nginx容器的IP和LVS负载均衡应用的一个端口替换一个容器实例模板中的容器实例IP参数和负载均衡应用端口参数,如此完成每个Nginx容器的IP的替换。负载模板替换单元303,用于虚拟IP和该LVS负载均衡应用的一个端口替换负载均衡模板中的虚拟IP参数和负载均衡应用端口参数。第一组合单元304,用于将替换后的每个容器实例模板和替换后的负载均衡模板一起组成该LVS负载均衡应用的一个端口所对应的配置信息,如此,可生成LVS负载均衡应用的所有端口所对应的配置信息,将LVS负载均衡应用的所有端口所对应的配置信息作为LVS负载均应用的配置文件。
子网卡配置单元205,用于配置每个LVS容器的子网卡,以将所述虚拟IP与每个LVS容器的子网卡进行绑定。
第二配置生成单元206,用于根据Nginx负载均衡应用的端口信息、后端容器应用的容器信息、第二配置文件生成模板构建Nginx负载均衡应用的配置文件。
在一实施例中,第二配置生成单元206包括容器实例替换单元、主机模板生成单元、主机模板替换单元以及第二组合单元。其中,容器实例替换单元,用于将后端容器应用的容器信息中的容器实例的IP、端口信息,替换容器实例模板中的容器实例的IP参数、端口参数。主机模板生成单元,用于根据Nginx负载均衡应用的端口信息中的端口数量、负载均衡应用的虚拟主机模板,生成相同数量的虚拟主机模板,其中,每个虚拟主机模板中包括一个端口参数。主机模板替换单元,用于将Nginx负载均衡应用的端口信息中的每个端口号替换每个虚拟主机模板中的端口参数。第二组合单元,用于将替换后的容器实例模板、虚拟主机模板、第二配置文件生成模板中其他预设参数组合以形成Nginx负载均衡应用的所有端口所对应的配置信息,将所对应的配置信息文件作为Nginx负载均衡应用的配置文件。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如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.一种多活负载均衡应用创建方法,其特征在于,所述多活负载均衡应用包括LVS(Linux Virtual Server)负载均衡应用和Nginx负载均衡应用,所述方法包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以接收通过所述预设的设置接口设置的需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1;
若接收到设置完成指令,根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用的信息、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用的信息、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用的信息、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用的信息、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件,包括:
根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量确定LVS容器以及Nginx容器对应的IP;
根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量,创建对应数量的LVS容器、Nginx容器,并将所创建的容器与所确定的IP进行绑定;
根据所述多活负载均衡应用的信息为LVS负载均衡应用分配一个虚拟IP;
根据所述虚拟IP、所创建的Nginx容器信息、所设置的LVS负载均衡应用的端口信息、第一配置文件生成模板构建LVS负载均衡应用的配置文件;
配置每个LVS容器的子网卡,以将所述虚拟IP与每个LVS容器的子网卡进行绑定;
根据Nginx负载均衡应用的端口信息、后端容器应用的容器信息、第二配置文件生成模板构建Nginx负载均衡应用的配置文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量创建对应数量的LVS容器、Nginx容器,并将所创建的容器与所确定的IP进行绑定,包括:
根据所述多活负载均衡应用的信息、Nginx负载均衡应用的容器数量创建对应数量的Nginx容器;
根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量创建对应数量的LVS容器;
将所创建的Nginx容器、LVS容器与所确定的IP进行绑定。
4.根据权利要求3所述的方法,其特征在于,所述多活负载均衡应用的信息包括多活负载均衡应用的应用环境、多活负载均衡应用的区域,所述根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量创建对应数量的LVS容器,包括:
根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定LVS负载均衡应用的镜像信息;
根据所述多活负载均衡应用的应用环境、多活负载均衡应用的区域、LVS负载均衡应用的镜像信息、LVS负载均衡应用的容器数量确定创建LVS容器的宿主机;
根据所述LVS负载均衡应用的镜像信息在所述宿主机上创建LVS容器。
5.根据权利要求2所述的方法,其特征在于,所述第一配置文件生成模板包括容器实例模板和负载均衡模板;所述根据所述虚拟IP、所创建的Nginx容器信息、所设置的LVS负载均衡应用的端口信息、第一配置文件生成模板构建LVS负载均应用的配置文件,包括:
对于所设置的LVS负载均衡应用的端口信息中的每个端口,根据所创建的Nginx容器信息中的容器数量、所述容器实例模板,生成与所述容器数量相同的容器实例模板,其中,每个容器实例模板中包括有一个容器实例IP参数和一个负载均衡应用端口参数;
将Nginx容器信息中的一个Nginx容器的IP和LVS负载均衡应用的一个端口替换一个容器实例模板中的容器实例IP参数和负载均衡应用端口参数,如此完成每个Nginx容器的IP的替换;
将虚拟IP和该LVS负载均衡应用的一个端口替换负载均衡模板中的虚拟IP参数和负载均衡应用端口参数;
将替换后的每个容器实例模板和替换后的负载均衡模板组合以形成该LVS负载均衡应用的一个端口所对应的配置信息,如此,可生成LVS负载均衡应用的所有端口所对应的配置信息,将LVS负载均衡应用的所有端口所对应的配置信息作为LVS负载均应用的配置文件。
6.根据权利要求2所述的方法,其特征在于,所述根据所述多活负载均衡应用的信息、LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量确定LVS容器以及Nginx容器对应的IP,包括:
根据所述多活负载均衡应用的信息中的多活负载均衡应用的应用环境、多活负载均衡应用的区域确定预先分配的容器IP地址池;
根据LVS负载均衡应用的容器数量、Nginx负载均衡应用的容器数量从预先分配的容器IP地址池中确定对应数量的IP,将所确定的对应数量的IP作为LVS容器以及Nginx容器对应的IP。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
启动Nginx容器和LVS容器,并开启每个LVS容器的OSPF服务,以启动多活负载均衡服务。
8.一种多活负载均衡应用创建装置,其特征在于,所述多活负载均衡应用创建装置包括:
设置单元,用于若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,其中,LVS负载均衡应用的容器数量大于1;
多活创建单元,用于若接收到设置完成指令,根据所设置的多活负载均衡应用的信息、LVS负载均衡应用的容器数量以及端口信息、Nginx负载均衡应用的容器数量以及端口信息,确定LVS负载均衡应用的LVS容器、Nginx负载均衡应用的Nginx容器对应的IP,以及创建LVS容器、Nginx容器,并将所创建的LVS容器、Nginx容器与所确定的IP进行绑定,以创建Nginx负载均衡应用、LVS负载均衡应用,并根据后端容器应用、Nginx负载均衡应用的端口信息生成Nginx负载均衡应用的配置文件,根据Nginx负载均衡应用、LVS负载均衡应用的端口信息生成LVS负载均衡应用的配置文件。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527650.4A CN110365742B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用创建方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910527650.4A CN110365742B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用创建方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110365742A true CN110365742A (zh) | 2019-10-22 |
CN110365742B CN110365742B (zh) | 2022-09-27 |
Family
ID=68216303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910527650.4A Active CN110365742B (zh) | 2019-06-18 | 2019-06-18 | 多活负载均衡应用创建方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110365742B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190133A (zh) * | 2022-07-08 | 2022-10-14 | 中电云数智科技有限公司 | 一种基于资源复用Nginx容器的七层负载均衡系统和方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183876A1 (en) * | 2007-01-31 | 2008-07-31 | Sun Microsystems, Inc. | Method and system for load balancing |
CN104486402A (zh) * | 2014-12-11 | 2015-04-01 | 江苏爱信诺航天信息科技有限公司 | 一种基于大型网站组合均衡的方法 |
US20160255007A1 (en) * | 2015-02-27 | 2016-09-01 | Ixia | Matrix Load Balancing Within Network Packet Communication Systems |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109451065A (zh) * | 2018-12-26 | 2019-03-08 | 中电福富信息科技有限公司 | 一种软负载均衡分流自动化系统及其运行方法 |
-
2019
- 2019-06-18 CN CN201910527650.4A patent/CN110365742B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080183876A1 (en) * | 2007-01-31 | 2008-07-31 | Sun Microsystems, Inc. | Method and system for load balancing |
CN104486402A (zh) * | 2014-12-11 | 2015-04-01 | 江苏爱信诺航天信息科技有限公司 | 一种基于大型网站组合均衡的方法 |
US20160255007A1 (en) * | 2015-02-27 | 2016-09-01 | Ixia | Matrix Load Balancing Within Network Packet Communication Systems |
CN109343963A (zh) * | 2018-10-30 | 2019-02-15 | 杭州数梦工场科技有限公司 | 一种容器集群的应用访问方法、装置及相关设备 |
CN109451065A (zh) * | 2018-12-26 | 2019-03-08 | 中电福富信息科技有限公司 | 一种软负载均衡分流自动化系统及其运行方法 |
Non-Patent Citations (2)
Title |
---|
MENGNA ZHANG;HONGYANG YU: "A New Load Balancing Scheduling Algorithm Based on Linux Virtual Server", 《2013 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCES AND APPLICATIONS》 * |
陈荣赏等: "LVS/DR、NGINX混合负载均衡集群技术应用研究", 《湖北民族学院学报(自然科学版)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115190133A (zh) * | 2022-07-08 | 2022-10-14 | 中电云数智科技有限公司 | 一种基于资源复用Nginx容器的七层负载均衡系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110365742B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754494B1 (en) | Using multidimensional metadata tag sets to determine resource allocation in a distributed computing environment | |
US10719369B1 (en) | Network interfaces for containers running on a virtual machine instance in a distributed computing environment | |
CN110224860B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US7257817B2 (en) | Virtual network with adaptive dispatcher | |
CN110266761B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN113783922A (zh) | 负载均衡的方法、系统和装置 | |
US10230795B2 (en) | Data replication for a virtual networking system | |
CN110557357A (zh) | 一种远程过程调用协议自适应方法、相关装置及服务器 | |
US12004076B2 (en) | Evaluating a hosting device for installation of a virtualized function within a network infrastructure | |
CN106657180B (zh) | 用于云服务的信息传输方法、装置、终端设备及系统 | |
CN110289983A (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN111857733B (zh) | 一种业务环境的构建方法、装置、系统以及可读存储介质 | |
CN111431730B (zh) | 一种业务处理方法、系统、计算机设备及可读介质 | |
CN110633175A (zh) | 基于微服务的多机房数据处理方法、电子设备及存储介质 | |
CN113810230A (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
CN109120444A (zh) | 云资源管理方法、处理器以及存储介质 | |
CN111615128A (zh) | 一种多接入边缘计算方法、平台及系统 | |
CN110808857A (zh) | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 | |
CN110417856B (zh) | 多活负载均衡应用的扩容方法、装置、设备及存储介质 | |
CN113242299A (zh) | 多数据中心的容灾系统、方法、计算机设备及介质 | |
CN113179295A (zh) | 报文处理方法及装置 | |
CN107404410B (zh) | 一种云环境下构建虚拟网络功能平台的方法及装置 | |
CN116264538A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN110365742A (zh) | 多活负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN110086881A (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 |