CN110166544A - 负载均衡应用创建方法、装置、计算机设备及存储介质 - Google Patents
负载均衡应用创建方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110166544A CN110166544A CN201910410808.XA CN201910410808A CN110166544A CN 110166544 A CN110166544 A CN 110166544A CN 201910410808 A CN201910410808 A CN 201910410808A CN 110166544 A CN110166544 A CN 110166544A
- Authority
- CN
- China
- Prior art keywords
- container
- application
- load balancing
- haproxy
- 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
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供一种负载均衡应用创建方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:若接收到设置指令,根据设置指令调用预设的设置接口,以通过预设的设置接口设置需创建的容器应用的信息以及Haproxy负载均衡应用的信息;根据所设置的容器应用的信息创建容器应用的容器实例;根据所设置的容器应用的信息和负载均衡应用的信息创建所述Haproxy负载均衡应用;开启Haproxy负载均衡服务。本申请实施例在创建容器应用同时创建Haproxy负载均衡应用,不用分开创建容器应用和Haproxy负载均衡应用,加快了创建的速度和效率,节约了时间成本和人工成本。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种负载均衡应用创建方法、装置、计算机设备及存储介质。
背景技术
目前,很多PaaS平台(Platform-as-a-Service,平台即服务)在创建容器应用时,需要为容器应用创建负载均衡应用。业内有使用F5负载均衡应用,而F5负载均衡应用需要租用硬件资源,增加了成本。目前的很多PaaS平台中在创建其他非F5负载均衡应用时,创建容器应用和创建其他非F5负载均衡应用是单独进行创建,即分别创建容器应用,在创建其他非F5负载均衡应用,再手动配置创建的容器应用与其他非F5负载均衡应用的关联关系。如此,创建的过程以及配置关联关系时较为复杂,不方便不快捷,很容易出现差错。
发明内容
本申请实施例提供一种负载均衡应用创建方法、装置、计算机设备及存储介质,可加快创建容器应用和创建相关联的负载均衡应用的速度和效率。
第一方面,本申请实施例提供了一种负载均衡应用创建方法,该方法包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器;为所创建的Haproxy容器分配虚拟IP;根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件,以完成在创建容器应用时,创建Haproxy负载均衡应用。
第二方面,本发明实施例提供了一种负载均衡应用创建装置,该负载均衡应用创建装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例在创建容器应用的同时创建Haproxy负载均衡应用,因此无需将创建容器应用和创建Haproxy负载均衡应用分开进行创建,加快了创建的速度。以上创建容器应用的同时创建Haproxy负载均衡应用,这个过程自动完成,进一步加快了创建的速度和效率,节约了时间成本和人工成本。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的负载均衡应用创建方法的流程示意图;
图2是是本申请实施例提供的设置界面的示意图;
图3是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图4是本申请实施例提供的图4的子流程示意图;
图5是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图6是本申请实施例提供的负载均衡应用创建方法的子流程示意图;
图7是本申请实施例提供的负载均衡应用创建装置的示意性框图;
图8是本申请实施例提供的应用创建单元的示意性框图;
图9是本申请实施例提供的实例创建单元的示意性框图;
图10是本申请实施例提供的Haproxy创建单元的示意性框图;
图11是本申请实施例提供的重构单元的示意性框图;
图12是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的负载均衡应用创建方法的流程示意图。如图1所示,该方法包括S101-S106。
S101,若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy。
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;容器应用的信息包括容器应用的应用环境、容器应用的区域、容器应用的容器实例数量、容器应用镜像信息。其中,容器应用指的是需要进行负载均衡的应用,在本实施例中,容器应用可以是某一个具体的应用,如某一社交应用、某一购物应用等。
其中,预设的设置接口为开发人员编写的设置接口,可以以一个设置页面的形式呈现,如图2所示。通过该预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息。具体地,接收用户输入的/选择的需创建的容器应用的信息以及负载均衡应用的信息。由于该预设的创建接口中可以设置容器应用的信息和负载均衡应用的信息,因此可同时获取容器应用的信息和负载均衡应用的信息。
其中,容器应用的信息包括容器应用的应用环境、容器应用的区域,容器应用的容器实例数量、容器应用镜像信息等。容器应用的信息还包括是否启用监控、应用管理员(创建容器应用的人,可以对创建的容器应用进行管理)、容器应用的资源组等。其中,容器应用的应用环境包括生产环境、测试环境、开发环境等。其中,生产环境意味着该容器应用创建成功后对接外部环境,或者供外部用户进行访问;测试环境意味着该容器应用创建成功后供测试使用;开发环境意味着该容器应用创建成功后供开发使用。容器应用的区域指的是创建容器应用的机房位置,由两部分组成:“区域”+“安全区域”。其中,“安全区域”是“区域”下的一个子区域。可以理解为,将容器应用创建在“xx区域”下的“xxx安全区域”的机房中。然而,确定容器应用创建在哪个具体地机房中,需要根据容器应用的应用环境和容器应用的区域共同决定,可以理解为将容器应用创建在某个应用环境下容器应用的区域所对应的机房中。可以理解为,同一个区域不同应用环境所对应的机房是不同的。容器应用的容器实例数量指的是该容器应用的容器数量,一个容器应用的容器数量是没有上限的。其中,容器实例数量可根据该容器应用的访问量确定。容器实例镜像信息包括镜像版本、镜像类型和镜像名称。其中,镜像版本包括官方版本、官方版本1.1、官方版本4.5等;镜像类型指的是该容器实例使用哪种镜像,如nginx、tomcat、weblogic、springboot等;镜像名称指的是具体的镜像名称,如tomcat1.1等。其中,镜像信息可以从对应的镜像仓库中获取以供用户选择,其中,对应的镜像仓库指的是该容器应用的应用环境和容器应用的区域共同确定的机房下的镜像仓库。创建容器应用是需要收费的,容器应用的资源组下包括有资源账户,用于容器应用创建所使用的费用。是否启用监控指的是是否选择对容器应用的容器实例进行监控,比如容器实例的CPU/内存/IO等资源的使用情况。在一些实施例中,容器应用的信息还包括受益人资源池,受益人资源池指的是创建容器应用的子公司/部门,决定所创建的容器分配的IP网段以及容器的宿主机资源,不同资源池,使用的是不同的IP网段以及宿主机资源。若容器应用的信息还包括受益人资源池,那么受益人资源池与容器应用的应用环境、容器应用的区域一起决定所创建的容器实例分配的IP网段以及容器实例的宿主机资源。
负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy。负载均衡应用的端口信息可以有一个也可以有多个,负载均衡应用的端口指的是Haproxy负载均衡应用支持的访问端口,也就是http模式访问的端口,如80、443等端口。在该实施例中,负载均衡应用的实例数量默认为1个。
S102,若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例。
设置完成指令由用户点击提交等按钮触发,容器应用的信息和负载均衡应用的信息设置完成,接收用户触发的设置完成指令,即可自动化创建容器应用、负载均衡应用、设置容器应用与负载均衡应用的关联关系。
在一实施例中,如图3所示,步骤S102包括以下步骤S301-S302。
S301,根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP。
S302,根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
根据容器应用的应用环境、容器应用的区域可确定创建容器应用的位置,即将容器应用创建在具体哪个机房中。如将容器应用创建在测试环境下宝信(地名)区域下的SF(宝信下面的一个更小的区域标识)子区域所在的机房中。获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的IP地址池;从IP地址池中获取与容器应用的容器实例数量相同数量的空闲IP,将该空闲IP确定为容器应用的容器实例的IP。
分配好容器应用的容器实例的IP后,接着创建容器实例。具体地,如图4所示,根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP的步骤,包括以下步骤S401-S403。
S401,根据容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像。
S402,根据容器镜像类型、镜像版本、镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机。
S403,根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
以上创建容器实例的过程中,确定具体镜像、确定创建容器实例的宿主机的执行顺序并没有严格限定,在其他实施例中,也可以先确定创建容器实例的宿主机,再确定具体镜像。
其中,根据该容器应用的应用环境、该容器应用的区域可确定容器应用创建的位置,即将容器应用创建在具体哪个机房中。需要注意的是,每个应用环境下每个区域中的都对应有保存镜像资源的镜像仓库。在该镜像仓库中保存有该应用环境下该区域所需要使用的所有的镜像资源。获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的宿主机的IP地址池;根据创建容器实例需占用的资源从宿主机的IP地址池中确定创建容器实例的宿主机。创建容器实例是需要在宿主机上占用一定的资源的,因此需要先确定创建容器实例需占用的资源,以判断宿主机是否有足够的资源来创建该容器实例。其中,创建容器实例需占用的资源包括CPU(如CPU核数等)、内存、监控资源等。
其中,步骤S403,即根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP,包括:通过容器编排工具将所确定的具体镜像发送到所确定创建容器实例的宿主机上,以进行容器实例的创建;若创建完成,通过运维工具如ansible工具去连接容器实例,将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。容器实例创建成功后,会返回创建成功的消息;容器实例若创建失败,会返回创建失败的原因。
在一实施例中,若当前容器应用的信息中的是否启用监控信息中的标识为启用监控标识,以上容器应用创建的过程中还涉及有为所创建容器应用的容器实例启用监控,对应的步骤还包括:
将容器实例对应的启用监控信息中的启用监控标识推送到所确定的宿主机上,以根据宿主机的监控进程收集该容器实例的运行数据信息。其中,默认所有宿主机上都会安装监控进程且该监控进程是启用状态。将启用监控标识推送到所确定的宿主机上,通过宿主机上安装的监控进程来监控该容器实例。如此,以方便获取该容器应用的所有容器实例的相关信息,方便定位容器应用中出现的异常。
在一实施例中,如图3所示,在步骤S301之前,根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤,还包括:
S301a,根据预设的名称生成规则生成该容器应用的应用名称。
S301b,判断所生成的应用名称在该容器应用对应的区域中是否已经存在,其中,根据所述容器应用的应用环境、所述容器应用的区域确定容器应用对应的区域。若所生成的应用名称在该容器应用对应的区域中不存在,执行步骤S301。若所生成的应用名称在该容器应用对应的区域中已经存在,执行步骤S301d。
S301d,进行提示。
在一实施例中,如图3所示,在步骤S301之前,根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤,还包括:
S301c,根据所述容器实例的使用时间、所述容器应用的资源组、所述容器实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该容器应用的容器实例。若有足够金额来创建该容器应用的容器实例,执行步骤S301。若没有足够金额来创建该容器应用的容器实例,执行步骤S301d。
其中,预先保存所有创建过的容器应用的相关信息,保存的信息包括有容器应用的应用名称、区域。可以理解地,在同一区域中不允许存在两个完全相同的应用名。其中,根据容器应用的容器实例数量、容器实例的使用时间、每个容器实例的费用计算创建当前容器应用需要支付的金额;判断容器应用的资源组中的剩余金额是否大于或者等于创建当前容器应用需要支付的金额;若是,则确定容器应用的资源组有足够金额以用来创建对应的容器应用;若否,则确定容器应用的资源组没有足够金额来进行创建。
S103,根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器。
根据容器应用的应用环境、容器应用的区域可确定容器应用创建的位置,即将容器应用创建在具体哪个机房的宿主机中。需要注意的是,一般而言,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机不是同一个宿主机,以避免该宿主机出现故障后,会导致负载均衡应用不能使用,同时应用服务也不能使用。另外,容器应用的容器实例所在的宿主机与负载均衡应用所在的宿主机通常是在通一个网段内,以提高网络访问的速度。需要指出的是,创建负载均衡应用的宿主机集群与创建容器应用的宿主机集群可以是同一个宿主机集群,也可以是不同的分别独立的宿主机集群。确定了创建负载均衡应用的宿主机后,接着创建Haproxy负载均衡应用的Haproxy容器。
在一实施例中,如图5所示,步骤S103,包括以下步骤S501-S503。
S501,根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息。
S502,根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机。
S503,根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定用于保存Haproxy镜像信息的镜像仓库并从镜像仓库中获取Haproxy镜像信息。根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的容器实例需占用的资源,根据所述容器应用的应用环境、容器应用的区域、所确定的创建Haproxy负载均衡应用的容器实例需占用的资源确定创建Haproxy负载均衡应用的宿主机。
其中,创建Haproxy负载均衡应用的容器实例与创建容器应用的容器实例的方法相同,在此不再赘述。其中,在创建Haproxy负载均衡应用的时候会根据Haproxy镜像信息会生成一个默认的配置文件,该配置文件保存在一个预设目录中。
在一实施例中,在步骤S501之前,步骤S103还包括:根据所述容器实例的使用时间、所述容器应用的资源组、所述负载均衡应用的实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该负载均衡应用。若有足够金额来创建该负载均衡应用,执行步骤S501。若没有足够金额来创建该负载均衡应用,进行提示。
在一实施例中,在创建容器应用和负载均衡应用之前,先判断容器应用的资源组中是否有足够金额来创建容器应用以及负载均衡应用。若存在足够金额,则创建容器应用和负载均衡应用;否则进行提示。
S104,为所创建的Haproxy容器分配虚拟IP。
其中,虚拟IP(Virtual IP,VIP)即为服务IP,服务IP为提供负载均衡服务所需要使用的IP,也可以理解为对外使用的IP,即外部用户请求进来所对应的IP。该虚拟IP也是PaaS平台内部管理Haproxy容器所使用的IP。需要注意的是,由于Haproxy负载均衡是七层的负载均衡。七层的负载均衡,就是在四层的基础上,再考虑应用层的特征。比如同一个Web服务器的负载均衡,除了根据虚拟IP+端口辨别是否需要处理的流量,还可根据七层负载均衡的URL、浏览器类别、语言来决定是否要进行负载均衡。可以理解地,七层负载均衡可以基于请求的应用层信息进行负载均衡,如根据请求的资源类型分配到服务器,而不再仅仅是根据IP和端口选择。如若有一个Web服务器分成两组,一组是中文语言,一组是英文语言,那么七层负载均衡就可以根据访问请求,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。
在一实施例中,步骤S104包括以下步骤:根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域,从预先分配的IP地址池中获取一个空闲IP;将所获取的空闲IP作为虚拟IP,并将所述虚拟IP分配给所创建的Haproxy容器。其中,根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域可确定预先分配的IP地址池。
S105,根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件。
由于在创建Haproxy容器时,会根据Haproxy镜像信息会生成一个默认的配置文件,而该配置文件并不能真正用来做负载均衡使用。因此,需要重构该配置文件。
在一实施例中,如图6所示,步骤S105包括以下步骤S601-S603。
S601,将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到预设配置文件生成接口。
S602,根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件。
S603,将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时根据Haproxy镜像信息生成的配置文件。
其中,在一实施例中,在步骤S602之前,还包括生成配置文件模板。其中,生成配置文件模板的步骤,包括:获取预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息(若监听Haproxy负载均衡实例的端口,即负载均衡应用的端口包括443时,会涉及监听Haproxy负载均衡安全证书的参数信息);设置虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数;根据预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息,所设置的虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数生成配置文件模板。
其中,预先设置的Haproxy负载均衡的全局变量参数信息用于设置一些Haproxy负载均衡的全局变量信息,包括Haproxy负载均衡的最大连接数(如最大连接数默认设置为65535)、启动Haproxy负载均衡的进程数量(默认为1个进程)、Haproxy负载均衡的运行方式(默认以守护进程的方式来运行负载均衡,具体值为daemon)、进程文件所存放的位置参数、socket文件所存放的位置参数等。
预先设置的Haproxy负载均衡的默认变量参数信息,包括负载均衡日志文件的存在位置参数(为每个容器实例启用日志文件,如默认使用全局变量参数中的位置)、负载均衡的连接模式(也可以理解为转发协议,默认为http。因为Haproxy负载均衡是七层的负载均衡,如果使用七层的负载均衡,那么默认值为http;但也可以使用四层的负载均衡,那么对应的,连接模式为TCP)。重新分发参数(默认值为redispatch,意味着当某一个容器实例(serverId)所对应的服务器挂掉后,强制定向到其他健康的容器实例(服务器),该参数用于保持服务器与客户端(用户端)的会话session持久性)、连接超时时间参数、客户端连接超时时间参数、服务器端连接超时时间参数、服务器连接失败后重试次数参数、服务器重试时间参数、统计认证访问数据的设置(staus auth admin:admin)等。
预先设置的监听Haproxy负载均衡实例的参数信息包括预先设置的Haproxy负载均衡每个监听实例的参数信息。在一些实施例中,可以理解为负载均衡应用的一个端口对应一个负载均衡的监听实例。在每个监听实例中,可以设置该监听实例的参数信息,需要注意的是,若监听实例中的参数信息与默认变量参数信息不一致,那么以每个监听实例中的参数信息为准。如每个监听实例的参数信息包括负载均衡的连接模式、负载均衡的算法(默认为轮询)、option选项的设置等。option选项的设置,如设置option fowardfor参数,该参数中包括容器应用的容器实例(服务器)的健康检查相关参数等。如健康检查相关参数包括健康检查时间间隔、健康检测的检测次数(如检测多少次才认为是正常的)、不可用的检测失败次数(失败多少次才认为是不可用的)、权重等。需要注意的是若负载均衡应用的端口为443,那么预先设置的Haproxy负载均衡实例的参数信息还包括cookie参数的设置、健康检查方式的设置(如设置option httpchk get/f5monweb http/1.0,那么意味着通过http的get请求方式来进行健康检查,如具体的http为IP:80/f5monweb,使用的是http1.0的版本)等。
预先设置的监听Haproxy负载均衡安全证书的参数信息包括设置证书绑定参数(如bind192.168.2.3:443ssl crt证书文件路径,其中,ssl表示证书类型,crt为证书标识)、cookie参数的设置、reqadd参数的设置(若设置了该参数,那么在每一个请求前面,加上一个相关证书的字段)、负载均衡的算法参数、option选项的设置等。需要注意的是,若有监听Haproxy负载均衡安全证书的参数信息,那么意味着该负载均衡应用的端口包括443。
需要注意的是,预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息中的所有的参数都是默认值。可以理解为,配置文件模板中的参数值都是基于当前环境当前应用场景下的最优的值。
其中,生成的配置文件模板中包括:预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、每个监听Haproxy负载均衡实例的信息、每个监听Haproxy负载均衡安全证书的信息。其中,每个监听Haproxy负载均衡实例的信息,包括:所设置的容器实例的参数、负载均衡应用的端口参数、预先设置的监听Haproxy负载均衡实例的参数信息。每个监听Haproxy负载均衡安全证书的信息,包括:所设置的容器实例的IP参数、负载均衡应用的端口参数、预先设置的监听Haproxy负载均衡实例的参数信息。
所述根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件的步骤,其包括:根据容器实例的个数在optionfowardfor参数中生成相同数量的容器应用的容器实例(服务器)的IP参数、容器实例的端口参数(服务器用于提供服务的端口)、健康检查相关参数。
将虚拟IP、所创建的容器实例、端口信息写入到配置文件模板中,生成新的配置文件。新的配置文件中,包括了虚拟IP、所创建的容器实例、端口信息的值,以及配置文件模板中的所有参数的值。在一些实施例中,端口信息是默认的,如默认端口包括80、443端口。生成了新的配置文件后,将新的配置文件上传至Haproxy容器的配置文件所在的预设的目录中,以替换创建Haproxy容器时根据Haproxy镜像信息生成的配置文件。
S106,开启所述Haproxy容器的Haproxy负载均衡服务。
在一实施例中,步骤S106包括:将新的配置文件与预设的启动脚本进行关联;执行关联后的预设的启动脚本。启动后,Haproxy负载均衡服务的状态修改为已启动。在某一实施例中,可使用命令来实现。如xxx/xxxxx/xx/xx/keepalived.conf restart.其中,keepalived.conf为新的配置文件,restart表示重启。
在一实施例中,所述方法只包括S101-S105,并不包括S106。
以上方法实施例自动完成了容器应用的创建以及Haproxy负载均衡应用的创建,自动实现了创建的负载均衡应用的基本设置,加快了创建的速度和效率。
在一实施例中,完成了Haproxy容器的基本设置,并且开启Haproxy容器的Haproxy负载均衡服务后,还需要进一步验证Haproxy容器的有效性,即是否真实可用。如在一些情况下,IP已经释放后放回到对应的IP地址池中作为一个空闲IP存在,但是实际上该IP仍然在内存中并没有完全真实的释放。在该实施例中,如图1所示,所述负载均衡应用创建方法还包括以下步骤:
S106a,根据所述虚拟IP验证所述Haproxy容器的有效性。
验证Haproxy容器的有效性,包括验证Haproxy的VIP是否真正完全释放,即该VIP是否可以作为一个独立的IP真实以供访问。如可使用arping命令。即向Haproxy容器的VIP发送ICMP包以对该IP地址进行检测,如果在设定的时间内能收到该VIP的ICMP的回应,则认为可以ping通。若可以ping通,则表示是有效的。若不能ping通,则表示VIP还不能使用,需要进一步核查。
若想每个服务器上的数据可以通过Haproxy负载均衡应用发送到用户端,那么还需要在每个服务器上设置服务器(容器应用的容器实例)与Haproxy均衡均衡应用的关联关系。在一实施例中,如图1所示,所述负载均衡应用创建方法还包括以下步骤:
S106b,设置所述容器应用的容器实例与虚拟IP的关联关系,以实现将所述容器应用的容器实例与虚拟IP进行绑定。
所创建的容器应用的容器实例即为应用所对应的真实的服务器,即真正为用户访问请求提供服务的服务器。设置容器实例与Haproxy负载均衡应用的关联关系,具体地,设置容器应用的容器实例与VIP的关联关系,以将容器实例与VIP进行绑定。如此,访问服务器时,首先访问请求经过子网卡到达Haproxy负载均衡容器,Haproxy负载均衡容器根据访问请求的端口信息,再通过一定的负载均衡算法,将访问请求分配给某个容器实例(其中一个服务器),以通过容器实例返回访问请求所需要的信息。
以上方法实施例创建容器应用的同时创建Haproxy负载均衡应用,并且将创建的容器应用与创建的Haproxy负载均衡应用进行了自动关联,因此无需将创建容器应用和创建Haproxy负载均衡应用分开进行创建,且无需将两者进行手动关联,加快了创建的速度。以上创建容器应用的同时创建Haproxy负载均衡应用,且将创建的容器应用与创建的Haproxy负载均衡应用进行了自动关联,这整个过程自动完成,进一步加快了创建的速度和效率,节约了时间成本和人工成本。
图7是本申请实施例提供的负载均衡应用创建装置的示意性框图。该装置包括用于执行上述负载均衡应用创建方法所对应的单元。具体地,如图7所示,该装置70包括设置单元701、应用创建单元702、Haproxy创建单元703、IP分配单元704、重构单元705、开启单元706。
设置单元701,用于若若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型为Haproxy。
应用创建单元702,用于若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例。
在一实施例中,如图8所示,应用创建单元702包括实例IP确定单元801、实例创建单元802。其中,实例IP确定单元801,用于根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP。实例创建单元802,用于根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例IP。
在一实施例中,如图8所示,应用创建单元702还包括名称生成单元801a、名称判断单元801b、提示单元801d。其中,名称生成单元801a,用于根据预设的名称生成规则生成该容器应用的应用名称。名称判断单元801b,用于判断所生成的应用名称在该容器应用对应的区域中是否已经存在。若所生成的应用名称在该容器应用对应的区域中不存在,触发实例IP确定单元801。提示单元801d,用于若所生成的应用名称在该容器应用对应的区域中已经存在,进行提示。
在一实施例中,如图8所示,应用创建单元702还包括金额判断单元801c。其中,金额判断单元801c,用于根据所述容器实例的使用时间、所述容器应用的资源组、所述容器实例数量来判断所述容器应用的资源组中是否有足够金额以用来创建该容器应用的容器实例。若有足够金额来创建该容器应用的容器实例,触发实例IP确定单元801。若没有足够金额来创建该容器应用的容器实例,触发提示单元801d。
在一实施例中,如图9所示,实例创建单元802包括镜像确定单元901、宿主机确定单元902、应用实例创建单元903。其中,镜像确定单元901,用于根据所述容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像。宿主机确定单元902,用于根据所述镜像类型、镜像版本以及镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机。应用实例创建单元903,用于根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
Haproxy创建单元703,用于根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器。
在一实施例中,如图10所示,Haproxy创建单元703包括Haproxy镜像确定单元101、Haproxy宿主机确定单元102、Haproxy容器创建单元103。其中,Haproxy镜像确定单元101,用于根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息。Haproxy宿主机确定单元102,用于根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机。Haproxy容器创建单元103,用于根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
IP分配单元704,用于为所创建的Haproxy容器分配虚拟IP和管理IP。
重构单元705,用于根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件。
在一实施例中,如图11所示,重构单元705包括参数传入单元111、配置文件生成单元112、替换单元113。其中,参数传入单元111,用于将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到预设配置文件生成接口。配置文件生成单元112,用于根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件。替换单元113,用于将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时根据Haproxy镜像信息生成的配置文件。
在一实施例中,重构单元705还包括模板生成单元。所述模板生成单元用于生成配置文件模板。其中,模板生成单元包括参数获取单元、参数设置单元、配置模板生成单元。其中,参数获取单元,用于获取预先设置的Haproxy负载均衡参数信息、预先设置的容器实例的参数信息。参数设置单元,用于设置虚拟IP参数、容器实例的IP参数、端口参数。配置模板生成单元,用于根据预先设置的Haproxy负载均衡参数信息、预先设置的容器实例的参数信息,所设置的虚拟IP参数、容器实例的IP参数、端口参数生成配置文件模板。
开启单元706,用于开启所述Haproxy容器的Haproxy负载均衡服务,以完成在创建容器应用时,创建Haproxy负载均衡应用。
在一实施例中,该负载均衡应用创建包括设置单元701、应用创建单元702、Haproxy创建单元703、IP分配单元704、重构单元705,并不包括开启单元706。
在一实施例中,如图7所示,在开启了Haproxy容器的Haproxy负载均衡服务之后,所述负载均衡应用创建装置还包括验证单元706a。所述验证单元706a,用于根据所述虚拟IP验证所述Haproxy容器的有效性。
在一实施例中,如图7所示,所述负载均衡应用创建装置还包括关联设置单元706b。所述关联设置单元706b,用于若所述Haproxy容器有效,设置所述容器应用的容器实例与虚拟IP的关联关系,以实现将所述容器应用的容器实例与虚拟IP进行绑定。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图12所示的计算机设备上运行。
图12为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备120包括通过***总线121连接的处理器122、存储器和网络接口123,其中,存储器可以包括非易失性存储介质124和内存储器125。
该非易失性存储介质124可存储操作***1241和计算机程序1242。该非易失性存储介质中所存储的计算机程序1242被处理器122执行时,可实现上述服务器中所述的负载均衡应用创建方法。该处理器122用于提供计算和控制能力,支撑整个设备120的运行。该内存储器125为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器122执行时,可使得处理器122执行上述服务器中所述的负载均衡应用创建方法。该网络接口123用于进行网络通信。本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器122用于运行存储在存储器中的计算机程序,以实现如下步骤:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器;为所创建的Haproxy容器分配虚拟IP;根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件;开启所述Haproxy容器的Haproxy负载均衡服务,以完成在创建容器应用时,创建Haproxy负载均衡应用。
在一实施例中,所述处理器122在执行所述根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器的步骤时,具体实现如下步骤:
根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息;根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机;根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
在一实施例中,所述处理器122在执行所述根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件的步骤时,具体实现如下步骤:
将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到预设配置文件生成接口;根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件;将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时根据Haproxy镜像信息生成的配置文件。
在一实施例中,所述处理器122还执行步骤:生成配置文件模板。所述处理器122在执行所述生成配置文件模板的步骤时,具体实现如下步骤:
获取预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息;设置虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数;根据预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息,以及所设置的虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数生成配置文件模板。
在一实施例中,所述处理器122在执行所述根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤时,具体实现如下步骤:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP;根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,所述处理器122在执行所述根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP的步骤时,具体实现如下步骤:
根据所述容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像;根据所述镜像类型、镜像版本以及镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机;根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,所述处理器122在执行还实现如下步骤:
根据所述虚拟IP验证所述Haproxy容器的有效性;若所述Haproxy容器有效,设置所述容器应用的容器实例与虚拟IP的关联关系,以实现将所述容器应用的容器实例与虚拟IP进行绑定。
应当理解,在本申请实施例中,所称处理器122可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(应用程序lication Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时实现以下步骤:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器;为所创建的Haproxy容器分配虚拟IP;根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件;开启所述Haproxy容器的Haproxy负载均衡服务,以完成在创建容器应用时,创建Haproxy负载均衡应用。
在一实施例中,所述处理器在执行所述根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器的步骤时,具体实现如下步骤:
根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息;根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机;根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
在一实施例中,所述处理器在执行所述根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件的步骤时,具体实现如下步骤:
将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到预设配置文件生成接口;根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件;将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时根据Haproxy镜像信息生成的配置文件。
在一实施例中,所述处理器还执行步骤:生成配置文件模板。所述处理器在执行所述生成配置文件模板的步骤时,具体实现如下步骤:
获取预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息;设置虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数;根据预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息,以及所设置的虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数生成配置文件模板。
在一实施例中,所述处理器在执行所述根据所设置的容器应用的信息创建所述容器应用的容器实例的步骤时,具体实现如下步骤:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP;根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,所述处理器在执行所述根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP的步骤时,具体实现如下步骤:
根据所述容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像;根据所述镜像类型、镜像版本以及镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机;根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
在一实施例中,所述处理器还实现如下步骤:
根据所述虚拟IP验证所述Haproxy容器的有效性;若所述Haproxy容器有效,设置所述容器应用的容器实例与虚拟IP的关联关系,以实现将所述容器应用的容器实例与虚拟IP进行绑定。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种负载均衡应用创建方法,其特征在于,所述方法包括:
若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;
若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;
根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器;
为所创建的Haproxy容器分配虚拟IP;
根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件,以完成在创建容器应用时,创建Haproxy负载均衡应用。
2.根据权利要求1所述的方法,其特征在于,所述根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器,包括:
根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息;
根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机;
根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
3.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件,包括:
将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到预设配置文件生成接口;
根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件;
将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时根据Haproxy镜像信息生成的配置文件。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括生成配置文件模板,所述生成配置文件模板,包括:
获取预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息;
设置虚拟IP参数、容器应用的容器实例的参数以及负载均衡应用的端口参数;
根据预先设置的Haproxy负载均衡的全局变量参数信息、预先设置的Haproxy负载均衡的默认变量参数信息、预先设置的监听Haproxy负载均衡实例的参数信息、预先设置的监听Haproxy负载均衡安全证书的参数信息,以及所设置的虚拟IP参数、容器应用的容器实例的参数、负载均衡应用的端口参数生成配置文件模板。
5.根据权利要求1所述的方法,其特征在于,所述根据所设置的容器应用的信息创建所述容器应用的容器实例,包括:
根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP;
根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP。
6.根据权利要求5所述的方法,其特征在于,所述根据所设置的容器应用的信息中的容器应用镜像信息、所述容器应用的应用环境、所述容器应用的区域、所述容器应用的容器实例数量创建容器实例,将所确定的容器实例IP设置为所创建的容器实例的IP,包括:
根据所述容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像;
根据所述镜像类型、镜像版本以及镜像名称确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域以及创建容器实例需占用的资源确定创建容器实例的宿主机;
根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
开启所述Haproxy容器的Haproxy负载均衡服务;
根据所述虚拟IP验证所述Haproxy容器的有效性;
若所述Haproxy容器有效,设置所述容器应用的容器实例与虚拟IP的关联关系,以实现将所述容器应用的容器实例与虚拟IP进行绑定。
8.一种负载均衡应用创建装置,其特征在于,所述负载均衡应用创建装置包括:
设置单元,用于若接收到设置指令,根据所述设置指令调用预设的设置接口,以通过所述预设的设置接口设置需创建的容器应用的信息以及负载均衡应用的信息,其中,负载均衡应用的信息包括负载均衡应用的类型、负载均衡应用的端口信息,其中,负载均衡应用的类型包括Haproxy;
应用创建单元,用于若接收到设置完成指令,根据所设置的容器应用的信息创建所述容器应用的容器实例;
Haproxy创建单元,用于根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器;
IP分配单元,用于为所创建的Haproxy容器分配虚拟IP;
重构单元,用于根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件,以完成在创建容器应用时,创建Haproxy负载均衡应用。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410808.XA CN110166544B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410808.XA CN110166544B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166544A true CN110166544A (zh) | 2019-08-23 |
CN110166544B CN110166544B (zh) | 2023-05-19 |
Family
ID=67631221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910410808.XA Active CN110166544B (zh) | 2019-05-17 | 2019-05-17 | 负载均衡应用创建方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166544B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111970152A (zh) * | 2020-08-21 | 2020-11-20 | 中国建设银行股份有限公司 | 基于sdn的负载均衡中故障定位方法、***、设备和介质 |
CN112346818A (zh) * | 2020-11-02 | 2021-02-09 | 北京新媒传信科技有限公司 | 一种容器应用部署方法、装置、电子设备和存储介质 |
CN112532674A (zh) * | 2019-09-19 | 2021-03-19 | 贵州白山云科技股份有限公司 | 一种网络边缘计算***的创建方法、装置及介质 |
WO2024113895A1 (zh) * | 2022-11-30 | 2024-06-06 | 苏州元脑智能科技有限公司 | 负载均衡方法、装置、***及***创建方法及设备和介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160182315A1 (en) * | 2014-12-22 | 2016-06-23 | Rovio Entertainment Ltd. | Container manager |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
-
2019
- 2019-05-17 CN CN201910410808.XA patent/CN110166544B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160182315A1 (en) * | 2014-12-22 | 2016-06-23 | Rovio Entertainment Ltd. | Container manager |
CN105979009A (zh) * | 2016-07-06 | 2016-09-28 | 乾云众创(北京)信息科技研究院有限公司 | 一种针对云应用容器的增加负载自动均衡方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532674A (zh) * | 2019-09-19 | 2021-03-19 | 贵州白山云科技股份有限公司 | 一种网络边缘计算***的创建方法、装置及介质 |
CN112532674B (zh) * | 2019-09-19 | 2023-07-28 | 贵州白山云科技股份有限公司 | 一种网络边缘计算***的创建方法、装置及介质 |
CN111970152A (zh) * | 2020-08-21 | 2020-11-20 | 中国建设银行股份有限公司 | 基于sdn的负载均衡中故障定位方法、***、设备和介质 |
CN111970152B (zh) * | 2020-08-21 | 2023-01-13 | 中国建设银行股份有限公司 | 基于sdn的负载均衡中故障定位方法、***、设备和介质 |
CN112346818A (zh) * | 2020-11-02 | 2021-02-09 | 北京新媒传信科技有限公司 | 一种容器应用部署方法、装置、电子设备和存储介质 |
WO2024113895A1 (zh) * | 2022-11-30 | 2024-06-06 | 苏州元脑智能科技有限公司 | 负载均衡方法、装置、***及***创建方法及设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110166544B (zh) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166544A (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US8341462B2 (en) | System and method for provisioning and running a cross-cloud test grid | |
CN110224860A (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
CN110266761A (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US8839035B1 (en) | Cloud-based test execution | |
US10268571B2 (en) | System and method for automated thin client contact center agent desktop testing | |
CN108989136B (zh) | 业务端到端性能监控方法及装置 | |
CN110048908B (zh) | 网络测试平台、网络测试方法以及装置 | |
WO2017144432A1 (en) | Cloud verification and test automation | |
US9397922B1 (en) | Automated network testing platform | |
CN110289983B (zh) | 负载均衡应用创建方法、装置、计算机设备及存储介质 | |
US11297128B2 (en) | Automated end-to-end application deployment in a data center | |
US20180324031A1 (en) | Diagnostic traffic generation for automatic testing and troubleshooting | |
US11159416B1 (en) | Systems and methods of testing virtual private network communications using remote connectivity | |
CN110430115A (zh) | 业务恢复方法、***、网络设备及计算机可读存储介质 | |
CN107919971A (zh) | 用于音视频通讯连接容灾的方法、装置及*** | |
US11863419B2 (en) | Network service management system and network service management method | |
CN110245020A (zh) | 基于多个取证设备的手机内容取证方法和*** | |
CN109218370A (zh) | 消息发送方法及装置、电子设备 | |
CN107015906B (zh) | 测试方法及装置、端口生成方法及端口生成器和测试*** | |
CN105163336B (zh) | 优化无线网络稳定性的方法及*** | |
CN113949631B (zh) | 客户端容灾的处理方法、***及电子设备 | |
CN110287021A (zh) | 负载均衡应用管理方法、装置、计算机设备及存储介质 | |
CN108462897A (zh) | 一种网络故障的数据收集方法和装置 | |
CN109547289B (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 |