CN110262894A - 负载均衡应用管理方法、装置、计算机设备及存储介质 - Google Patents

负载均衡应用管理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN110262894A
CN110262894A CN201910414380.6A CN201910414380A CN110262894A CN 110262894 A CN110262894 A CN 110262894A CN 201910414380 A CN201910414380 A CN 201910414380A CN 110262894 A CN110262894 A CN 110262894A
Authority
CN
China
Prior art keywords
load balancing
haproxy
application
interface
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.)
Granted
Application number
CN201910414380.6A
Other languages
English (en)
Other versions
CN110262894B (zh
Inventor
黄桂钦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910414380.6A priority Critical patent/CN110262894B/zh
Publication of CN110262894A publication Critical patent/CN110262894A/zh
Application granted granted Critical
Publication of CN110262894B publication Critical patent/CN110262894B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本申请实施例提供一种负载均衡应用管理方法、装置、计算机设备及存储介质,其涉及云计算技术领域,可应用于PaaS平台中。所述方法包括:根据预设的创建接口创建Haproxy负载均衡应用;在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口;若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。本申请实施例可将通过预设的创建接口创建的Haproxy负载均衡应用,在预设管理接口所对应的管理界面进行管理。通过预设管理接口的管理界面可以实现对所创建的Haproxy负载均衡应用的不同信息进行管理,提高了Haproxy负载均衡应用管理的效率,提高了用户的体验。

Description

负载均衡应用管理方法、装置、计算机设备及存储介质
技术领域
本申请涉及云计算技术领域,尤其涉及一种负载均衡应用管理方法、装置、计算机设备及存储介质。
背景技术
目前,市场上的PaaS平台(Platform-as-a-Service:平台即服务)对于Haproxy负载均衡应用的管理都是依托于有相应权限的用户进行人工修改,这样需要修改的用户有较高的专业背景知识,并且是手动修改,修改操作非常繁琐,很容易出错。另外,在创建了容器应用的Haproxy负载均衡应用后,若一个企业有多个子公司,每个子公司想使用一个独立的端口;或者一个企业有多个应用的需求,而每个应用需要一个端口。以上情况下,涉及对Haproxy负载均衡应用的管理。
发明内容
本申请实施例提供一种负载均衡应用管理方法、装置、计算机设备及存储介质,可通过预设管理接口所对应的管理界面对所创建的Haproxy负载均衡应用进行管理,提高Haproxy负载均衡应用管理的效率。
第一方面,本申请实施例提供了一种负载均衡应用管理方法,该方法包括:
根据预设的创建接口创建Haproxy负载均衡应用;在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口;若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。
第二方面,本发明实施例提供了一种负载均衡应用管理装置,该负载均衡应用管理装置包括用于执行上述第一方面所述的方法对应的单元。
第三方面,本发明实施例提供了一种计算机设备,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序,所述处理器用于运行所述存储器中存储的计算机程序,以执行上述第一方面所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面所述的方法。
本申请实施例可将通过预设的创建接口创建的Haproxy负载均衡应用,在预设管理接口所对应的管理界面进行管理。通过预设管理接口的管理界面可以实现对所创建的Haproxy负载均衡应用的不同信息进行管理,因此无需人工修改以进行相应的管理,管理的操作方便简单,并且自动化实现管理,不容易出错,提高了Haproxy负载均衡应用管理的效率;并且通过预设管理接口的管理界面能非常直观清晰的获取所创建的Haproxy负载均衡应用的各种相关信息,信息非常透明直观,提高了用户的体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的负载均衡应用管理方法的流程示意图;
图2是本申请实施例提供的设置界面的示意图;
图3是本申请实施例提供的负载均衡应用管理方法的子流程示意图;
图4是本申请实施例提供的负载均衡应用管理方法的子流程示意图;
图5是本申请实施例提供的负载均衡应用管理方法的端口添加方法流程示意图;
图6是本申请实施例提供的负载均衡应用管理方法的端口删除方法流程示意图;
图7是本申请实施例提供的负载均衡应用管理方法的配置参数修改方法流程示意图;
图8是本申请实施例提供的负载均衡应用管理装置的示意性框图;
图9是本申请实施例提供的第一创建单元的示意性框图;
图10是本申请实施例提供的管理单元的示意性框图;
图11是本申请实施例提供的管理单元的示意性框图;
图12是本申请实施例提供的管理单元的示意性框图;
图13是本申请实施例提供的管理单元的示意性框图;
图14是本申请实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例提供的负载均衡应用管理方法的流程示意图。如图1所示,该方法包括S101-S103。
S101,根据预设的创建接口创建Haproxy负载均衡应用。
其中,预设的创建接口包括第一预设创建接口和第二预设创建接口。其中,第一预设创建接口用于先创建容器应用,再创建该容器应用的Haproxy负载均衡应用,并设置容器应用与Haproxy负载均衡应用的关联关系。可以理解地,通过第一预设创建接口,容器应用和该容器应用的Haproxy负载均衡应用一次性创建完成,即在创建容器应用的同时创建该容器应用的Haproxy负载均衡应用并设置该容器应用与Haproxy负载均衡应用的关联关系。第二预设创建接口用于创建Haproxy负载均衡应用。可应用的情景包括如下情景:容器应用已经创建完成,如将容器应用已经运行了一段时间,再确定为该容器应用创建Haproxy负载均衡应用。在该种情景下,需要单独为容器应用创建负载均衡应用,即需要用到第二预设创建接口。具体地,第一预设创建接口和第二预设创建接口可以以设置界面和接口函数的形式存在。
需要注意的是,只有通过预设的创建接口创建的Haproxy负载均衡应用,才可以在预设管理接口所对应的管理界面上进行管理。
在一实施例中,若预设的创建接口为第一预设创建接口,根据预设的创建接口创建Haproxy负载均衡应用,即步骤S101包括以下步骤:
获取通过第一预设创建接口设置的容器应用的信息和负载均衡应用的信息,其中,负载均衡应用的类型为Haproxy;根据所设置的容器应用的信息和负载均衡应用的信息,以及预设的负载均衡参数信息,利用第一预设创建接口,创建容器应用以及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等端口。
在一实施例中,如图3所示,所述根据所设置的容器应用的信息和负载均衡应用的信息,以及预设的负载均衡参数信息,利用第一预设创建接口,创建容器应用以及Haproxy负载均衡应用,并设置所创建的容器应用与Haproxy负载均衡应用的关联关系,包括以下步骤S1011-S1015。其中,第一预设创建接口还包括接口函数。利用第一预设创建接口可以理解为,利用第一预设创建接口所对应的接口函数。
S1011,利用第一预设创建接口,以根据容器应用的信息中的容器应用的应用环境、容器应用的区域、容器实例数量、容器应用镜像信息创建所述容器应用的容器实例。
具体地,步骤S1011,包括:根据所设置的容器应用的信息中的容器应用的应用环境、容器应用的区域、容器应用的容器实例数量确定所述容器应用的容器实例IP;根据容器应用的应用环境、容器应用的区域确定用于保存容器应用镜像信息的镜像仓库并根据容器应用镜像信息的镜像类型、镜像版本、镜像名称从所确定的镜像仓库中提取出创建容器实例所需要使用的具体镜像;根据容器镜像类型、镜像版本确定创建容器实例需占用的资源,并根据容器应用的应用环境、容器应用的区域、创建容器实例需占用的资源确定创建容器实例的宿主机;根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定以将所确定的容器实例IP设置为所创建的容器实例的IP。
其中,根据该容器应用的应用环境、该容器应用的区域可确定容器应用创建的位置,即将容器应用创建在具体哪个机房中。需要注意的是,每个应用环境下每个区域中的都对应有保存镜像资源的镜像仓库。在该镜像仓库中保存有该应用环境下该区域所需要使用的所有的镜像资源。确定创建容器应用的宿主机包括:获取数据库中对应位置(该机房下)预先分配的用于创建容器实例的宿主机的IP地址池;根据创建容器实例需占用的资源从宿主机的IP地址池中确定创建容器实例的宿主机。创建容器实例是需要在宿主机上占用一定的资源的,因此需要先确定创建容器实例需占用的资源,以判断宿主机是否有足够的资源来创建该容器实例。其中,创建容器实例需占用的资源包括CPU、内存、监控资源等。其中,根据所确定的具体镜像在所确定的宿主机上创建容器应用的容器实例,并将所创建的容器实例与所确定的容器实例IP进行绑定,包括:通过容器编排工具将所确定的具体镜像发送到所确定创建容器实例的宿主机上,以进行容器实例的创建;创建完成,通过运维工具如ansible工具去连接容器实例,将所创建的容器实例与所确定的容器实例IP进行绑定。
S1012,根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器。
根据容器应用的应用环境、容器应用的区域可确定容器应用创建的位置,即将容器应用创建在具体哪个机房的宿主机中。确定了创建负载均衡应用的宿主机后,接着创建Haproxy负载均衡应用的Haproxy容器。
具体地,步骤S1012,包括:根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域确定Haproxy镜像信息;根据所述容器应用的应用环境、容器应用的区域、所述Haproxy镜像信息确定创建Haproxy负载均衡应用的宿主机;根据所述Haproxy镜像信息在所述宿主机上创建Haproxy负载均衡应用的容器实例,将所创建的Haproxy负载均衡应用的容器实例称为Haproxy容器。
其中,在创建Haproxy负载均衡应用的时候会根据Haproxy镜像信息会生成一个默认的配置文件,该配置文件保存在一个预设目录中。
S1013,为所创建的Haproxy容器分配虚拟IP。
其中,虚拟IP(VirtualIP,VIP)即为服务IP,服务IP为提供负载均衡服务所需要使用的IP,也可以理解为对外使用的IP,即外部用户请求进来所对应的IP。该虚拟IP也是PaaS平台内部管理Haproxy容器所使用的IP。需要注意的是,由于Haproxy负载均衡是七层的负载均衡。七层的负载均衡,就是在四层的基础上,再考虑应用层的特征。比如同一个Web服务器的负载均衡,除了根据虚拟IP+端口辨别是否需要处理的流量,还可根据七层负载均衡的URL、浏览器类别、语言来决定是否要进行负载均衡。可以理解地,七层负载均衡可以基于请求的应用层信息进行负载均衡,如根据请求的资源类型分配到服务器,而不再仅仅是根据IP和端口选择。如若有一个Web服务器分成两组,一组是中文语言,一组是英文语言,那么七层负载均衡就可以根据访问请求,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。
在一实施例中,步骤S1013包括以下步骤:根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域,从预先分配的IP地址池中获取一个空闲IP;将所获取的空闲IP作为虚拟IP,并将所述虚拟IP分配给所创建的Haproxy容器。其中,根据所述容器应用的信息中的容器应用的应用环境、容器应用的区域可确定预先分配的IP地址池。
S1014,根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件。
由于在创建Haproxy容器时,会根据Haproxy镜像信息会生成一个默认的配置文件,而该配置文件并不能真正用来做负载均衡使用。因此,需要重构该配置文件。
在一实施例中,步骤S1014,包括:将所述虚拟IP、所创建的容器应用的容器实例、所述端口信息作为变量,传入到配置文件生成接口;根据所述预设配置文件生成接口中集成的配置文件模板生成新的配置文件;将新的配置文件上传至所述Haproxy容器的配置文件所在的预设目录中,以替换创建所述Haproxy负载均衡应用的Haproxy容器时所生成的配置文件。其中,配置文件模板包括第一配置文件模板和第二配置文件模板。第一配置文件模板中包括添加证书的信息,以及将虚拟IP以及端口信息进行绑定等。
S1015,开启所述Haproxy容器的Haproxy负载均衡服务。
以上方法实施例自动完成了容器应用的创建以及Haproxy负载均衡应用的创建,自动实现了创建的Haproxy负载均衡应用的基本设置,加快了创建的速度和效率,节约了时间成本和人工成本。
在一实施例中,若预设的创建接口为第二预设创建接口,根据预设的创建接口创建Haproxy负载均衡应用,即步骤S101包括以下步骤:
获取通过第二预设创建接口设置的负载均衡应用的信息和与所述负载均衡应用关联的关联应用的信息,其中,负载均衡的类型为Haproxy;根据所设置的负载均衡应用的信息和关联应用的信息,利用第二预设创建接口,创建该关联应用的Haproxy负载均衡应用。
其中,第二预设创建接口包括一个设置接口,通过该设置接口设置需创建的负载均衡应用的信息以及与所述负载均衡应用关联的关联应用,其中,该设置接口为开发人员编写的设置接口,可以以一个设置界面的形式呈现。通过该设置接口设置需创建的负载均衡应用的信息以及与所述负载均衡应用关联的关联应用。其中,负载均衡应用的信息包括负载均衡应用类型(默认为Haproxy)、关联应用、负载均衡算法(如轮询等)、Haproxy负载均衡转发模式(如为DR模式,该模式下通过为接收到的请求报文重新封装一下新的MAC地址,以转发到对应的服务器(即关联应用的容器实例))、Haproxy负载均衡转发协议(默认为HTTP协议,该协议默认使用Haproxy七层负载均衡)、健康检查方式、所连接的端口等。
其中,第二预设创建接口还包括接口函数,利用第二预设创建接口,创建Haproxy负载均衡应用,可理解为利用第二预设创建接口所对应的接口函数来获取所设置的Haproxy负载均衡应用的信息,获取关联应用的信息,再根据关联应用的信息、Haproxy负载均衡应用的信息创建该关联应用的Haproxy负载均衡应用。
需要注意的是,第一预设创建接口中负载均衡参数使用的是预设的负载均衡参数,而通过第二预设创建接口创建负载均衡应用时,可通过第二预设创建接口的设置接口来设置负载均衡应用的参数。
S102,在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口。
其中,预设管理接口是由开发人员编写的多个不同的管理界面。在管理界面中可以查看通过预设的创建接口创建过的所有Haproxy负载均衡应用的所有信息、Haproxy负载均衡所对应的服务器信息(也即容器应用或者关联应用的相关信息)。以及对创建过的所有Haproxy负载均衡应用的相关信息、Haproxy负载均衡所对应的服务器信息进行修改。
其中,每个Haproxy负载均衡应用包括Haproxy负载均衡应用的信息,如Haproxy负载均衡应用的Haproxy容器的虚拟IP、Haproxy负载均衡应用的端口信息、Haproxy负载均衡应用的参数信息(如Haproxy负载均衡算法、Haproxy负载均衡转发协议等参数)、Haproxy负载均衡应用的创建者等。其中,对Haproxy负载均衡应用的所有信息进行修改包括新增Haproxy负载均衡应用的端口、删除Haproxy负载均衡应用的端口、修改Haproxy负载均衡应用的配置参数等。Haproxy负载均衡所对应的服务器信息包括每个服务器所对应的权重信息、每个服务器所对应的健康检查方式信息(包括连接超时时间、重连次数、重连间隔时间等)、服务器的端口信息以及IP信息等。
S103,若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。
管理指令由用户点击管理界面上的相关按钮触发,其中,管理指令包括端口添加指令、端口删除指令、配置参数修改指令、查询指令等。其中,端口添加指令、端口删除指令、配置参数修改指令都涉及对Haproxy负载均衡应用的修改,也可以统称为修改指令。
在一实施例中,如图4所示,若管理指令为修改指令,步骤S103包括S1031-S1037。
S1031,若接收到来自预设管理接口所对应的管理界面触发的修改指令,调用与所述修改指令对应的预设修改接口,以通过预设修改接口设置待修改信息。
其中,预设修改接口由开发人员进行开发得到。若修改指令为端口添加指令,那么对应的预设修改接口为预设端口添加接口,待修改信息为待添加的端口号以及是否为所述端口号添加证书的信息;若修改指令为端口删除指令,那么对应的预设修改接口为预设端口删除接口,待修改信息为待删除的端口信息;若修改指令为配置参数修改指令,那么对应的预设修改接口为预设配置修改接口,待修改信息为待修改的配置参数信息。
S1032,若接收到设置完成指令,获取所设置的待修改信息。
设置完成指令由用户点击“提交”等相关按钮触发,若结束到设置完成指令,获取所设置的待修改信息。
S1033,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。
从数据库中获取该Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。其中,Haproxy容器指的是创建了Haproxy负载均衡应用的容器。
S1034,根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。
具体地,根据虚拟IP确定所述Haproxy容器的宿主机;再根据虚拟IP确定宿主机上的所述Haproxy容器,并从所述Haproxy容器中获取所述Haproxy负载均衡应用的配置文件;将所获取的配置文件下载到本地的一个预先设置的目录。需要注意的是,将所获取的配置文件下载到本地,以对配置文件进行修改,而不是直接远程在所述Haproxy容器上进行修改,是考虑到若在对配置文件进行修改的过程中,网络出现中断,那么改写的过程也会出现中断,即排除远程改写的过程中出现的意外情况对改写造成的影响,另一方面,在本地改写配置文件比在远程改写配置文件的速度要快。
S1035,根据所述待修改信息,修改所述配置文件,以得到目标配置文件。
S1036,将目标配置文件推送到所述Haproxy容器中。
在本地对配置文件进行修改后,再将修改后的目标配置文件从预先设置的目录推送到Haproxy容器中。
S1037,重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
具体地,可以用restart命令重启所述Haproxy容器的负载均衡服务。
该实施例实现了对Haproxy负载均衡应用信息的修改,修改的过程自动化完成,如此提高了修改的速度,方便快捷;同时也不需要修改的用户有较高的专业背景知识,节省了人工成本和维护成本;而且在修改配置文件时,将配置文件下载到本地进行修改,提高了修改的速度。
以下是分别当接收到端口添加指令、端口删除指令、配置参数修改指令时,如何实现对Haproxy负载均衡应用进行管理进行进一步的详细描述。
若修改指令为端口添加指令,也即管理指令为端口添加指令,对应地,对创建的Haproxy负载均衡应用进行管理的方法,包括端口添加的方法。如图5所示,所述端口添加的方法,对应步骤S103,包括以下步骤S1031a-S1039a:
S1031a,若接收到来自预设管理接口所对应的管理界面触发的端口添加指令,调用预设端口添加接口,以通过预设端口添加接口设置待添加的端口信息以及是否为所述端口号添加证书的信息,其中,所述端口信息包括端口号。
预设端口添加接口由开发人员进行开发,通过该预设端口添加接口可设置Haproxy负载均衡应用所需新增的端口信息,即设置待添加的端口信息。待添加的端口信息包括待添加的端口号。如待添加的端口号为443、7001等。通过该预设端口添加接口还可设置是否为该端口号添加证书的信息。如设置待添加的端口为7001,对应地,可设置为该端口号添加证书,也可设置不为该端口号添加证书。需要注意的是,若新增的端口号为443,那么默认需要为该端口号添加证书。
S1032a,若接收到设置完成指令,获取所设置的待添加的端口号以及是否为所述端口号添加证书的信息。
S1033a,判断所述待添加的端口号是否已经存在。
在Haproxy负载均衡应用的管理平台中保存有该Haproxy负载均衡应用所对应的端口信息,那么判断所设置的端口号是否已经存在,包括:获取管理平台中保存的该Haproxy负载均衡应用所对应的端口号;将获取的端口号与所设置的待添加的端口号进行比对;若获取的端口号中不存在所设置的待添加的端口号,那么确定所设置的待添加的端口号不存在,否则,确定所设置的待添加的端口号已经存在。需要注意的是,若所设置的待添加的端口号有多个,那么只要有一个端口号已经存在,那么确定所设置的待添加的端口号已经存在。
若所述待添加的端口号在配置文件中已经存在,执行步骤S1034a;若所述待添加的端口号在配置文件中不存在,执行步骤S1035a。
S1034a,进行提示。
S1035a,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。
S1036a,根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。
S1037a,根据所述待添加的端口号以及是否为所述端口号添加证书的信息,在所述配置文件中添加所述端口号所对应的配置代码,以形成目标配置文件。
其中,端口号所对应的配置代码可通过如下方式得到:若为所述端口号添加证书的信息,获取第一配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息;若不为所述端口号添加证书的信息,获取第二配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息;将所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息,填充到所述第一配置文件模板或者第二配置文件模板中,以形成所述待添加的端口号所对应的配置代码,其中,第一配置文件模板中的配置代码实现将所添加证书的信息与所述虚拟IP以及所述待添加的端口号进行绑定;将所述配置代码追加到所述配置文件的末尾以形成目标配置文件。
其中,第一配置文件模板和第二配置文件模板中都包括端口号、该端口号所对应的VIP、负载均衡相关信息(包括负载均衡的算法、负载均衡转发模式、负载均衡转发协议等)、该端口号下所对应的所有服务器的信息(服务器的IP地址以及端口信息,就是容器应用或者关联应用的容器实例)、以及每个服务器所对应的健康检查方式的参数、每个服务器的权重等。其中,第一配置文件模板中还包括所添加证书的信息,如包括预先设置的监听安全证书参数,预先设置的监听安全证书参数包括需要绑定的VIP+端口参数、证书绑定参数(如bind192.168.2.3:443sslcrt证书文件路径,其中,ssl表示证书类型,crt为证书标识)、cookie参数的设置、reqadd参数的设置(若设置了该参数,那么在每一个请求前面,加上一个相关证书的字段)。第一配置文件模板中的配置代码实现将所添加证书的信息与所述虚拟IP以及所述待添加的端口号进行绑定。
以上参数在配置文件模板中都是默认值。其中,配置文件模板中的参数值默认为符合当前应用环境、应用场景的值。
S1038a,将目标配置文件推送到所述Haproxy容器中。
S1039a,重启Haproxy容器的负载均衡服务,以使得目标配置文件生效。
上述端口添加的过程,全程自动化完成,如此提高了添加接口的速度,方便快捷;同时也不需要修改的用户有较高的专业背景知识,节省了人工成本和维护成本;而且在添加端口时,无需登陆到Haproxy容器中对配置文件进行修改,在本地即可完成,提高了添加端口的速度;同时也实现了企业的多个子公司可以使用独立的端口进行访问。
若修改指令为端口删除指令,也即管理指令为端口删除指令,对应地,对创建的Haproxy负载均衡应用进行管理的方法,包括端口删除的方法。如图6所示,所述端口删除的方法,对应步骤S103,包括以下步骤S1031b-S1039b:
S1031b,若接收到来自预设管理接口所对应的管理界面触发的端口删除指令,调用预设端口删除接口,以通过预设端口删除接口设置待删除的端口信息,其中,所述端口信息包括端口号。
预设端口删除接口由开发人员进行开发,通过该预设端口删除接口可设置Haproxy负载均衡应用所需删除的端口信息,即设置待删除的端口信息。待删除的端口信息包括待删除的端口号。如待删除的端口号为443、7001。
S1032b,若接收到设置完成指令,获取所设置的待删除的端口号。
S1033b,判断所述待删除的端口号是否已经存在。
在Haproxy负载均衡应用的管理平台中保存有该Haproxy负载均衡应用所对应的端口信息,根据该保存的端口信息判断待删除的端口号是否已经存在。
若所述待删除的端口号不存在,执行步骤S1034b;若所述待删除的端口号已经存在,执行步骤S1035b。
S1034b,进行提示。
S1035b,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。
S1036b,根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。
S1037b,根据所述待删除的端口号,定位配置文件中所述待删除的端口号所对应的配置代码区域,将所述待删除的端口号所对应的配置代码区域中的代码删除,以形成目标配置文件。
具体地,在配置文件中定位所删除的端口号所对应的起始行和末尾行,将起始行和末尾行之间的代码区域作为所述端口号所对应的配置代码区域。需要注意的是,若删除的端口号有多个,那么依次定位所删除的端口号所对应的配置代码区域。定位所删除的端口号所对应的起始行的方法包括:检测所删除的端口号所在的行(第一次出现所删除的端口号的行),将所删除的端口号所在的行作为起始行。定位所删除的端口号所对应的末尾行的方法包括:获取所删除的端口号所对应的是否添加证书的信息(每一个端口号是否添加证书的信息都已经预先保存);若所删除的端口号有添加证书,检测起始行后出现的监听证书listenhaproxy_instance_ssl代码段的最后一行,将该最后一行作为末尾行;若所删除的端口号没有添加证书,检测下一个端口号的起始行,将下一个端口号的起始行的前一行作为末尾行。
S1038b,将目标配置文件推送到所述Haproxy容器中。
S1039b,重启Haproxy容器的负载均衡服务,以使得目标配置文件生效。
上述端口删除的过程,全程自动化完成,如此提高了添加删除的速度,方便快捷;同时也不需要修改的用户有较高的专业背景知识,节省了人工成本和维护成本;而且在删除端口时,无需登陆到Haproxy容器中对配置文件进行修改,在本地即可完成,提高了删除端口的速度。
由于在通过第一预设创建接口创建Haproxy负载均衡应用时使用的是配置文件模板来生成的配置文件,因此,配置文件的参数并不是适应于每个不同的场景,因此会涉及到负载均衡配置参数的修改。即使是通过第二预设创建接口创建的Haproxy负载均衡应用也会涉及到负载均衡配置参数的修改。以前,负载均衡配置参数的修改的方式是登陆到Haproxy容器上对配置文件中的配置参数进行修改,而且是人工进行修改,需要有较强的专业知识。
若修改指令为配置参数修改指令,也即管理指令为配置参数修改指令,对应地,对创建的Haproxy负载均衡应用进行管理的方法,包括配置参数修改的方法。如图7所示,所述配置参数修改的方法,对应步骤S103,包括以下步骤S1031c-S1037c:
S1031c,若接收到来自预设管理接口所对应的管理界面触发的配置参数修改指令,调用预设配置修改接口,以通过预设配置修改接口设置待修改的配置参数信息。
预设配置修改接口由开发人员进行开发,通过该预设的修改配置接口可修改Haproxy负载均衡应用所需修改的配置参数信息。配置参数信息包括Haproxy负载均衡相关信息、以及Haproxy负载均衡所对应的服务器信息(也即容器应用或者关联应用的相关信息)。其中,Haproxy负载均衡相关信息包括Haproxy负载均衡算法(包括轮询算法、最少连接方式等)、Haproxy负载均衡转发模式(包括DR模式,该模式下通过为接收到的请求报文重新封装一下新的MAC地址,以转发到对应的服务器(即容器应用或者关联应用的容器实例);NAT模式,该模式下修改访问请求的目标IP;tun模式,该模式下在原访问请求IP报文之外增加一个首部信息)、Haproxy负载均衡转发协议(转发协议为http协议,该协议默认使用Haproxy七层负载均衡,也可以设置转发协议为TCP,该协议使用Haproxy四层负载均衡)等。Haproxy负载均衡所对应的服务器信息包括每个服务器所对应的权重信息、每个服务器所对应的健康检查方式信息(包括连接超时时间、重连次数、重连间隔时间等)、服务器的端口信息、IP信息等。需要注意的是,以上参数只是示例,还可以包括有更多的参数或者比例举的参数更少的参数等。另外,需要指出的是,以上示例的参数是每个端口号所对应的参数。也可以理解为,每个端口号都会有上述示例的参数。
S1032c,若接收到设置完成指令,获取所设置的待修改的配置参数信息。
其中,配置参数信息包括配置参数以及配置参数的参数值。
S1033c,确定Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。
S1034c,根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。
S1035c,根据所述待修改的配置参数信息,修改所述配置文件中所对应的配置参数信息,以得到目标配置文件。
其中,若配置参数信息中包括端口号,那么意味着对该端口号下所对应的待修改的配置参数进行修改。若配置参数信息中没有端口号,那么意味着对所有端口号下所对应的待修改的配置参数进行修改。具体地,根据端口号定位一个端口号所对应的配置代码区域的起始行;检测该端口号所对应的配置代码区域中的待修改的配置参数,以所设置的待修改的配置参数的参数值替换原有的该配置参数的参数值,直到该端口号下所设置的待修改的配置参数全部修改完毕。若有多个端口号需要修改,接着对下一个端口号以同样的方式进行修改。
S1036c,将目标配置文件推送到所述Haproxy容器中。
S1037c,重启Haproxy容器的负载均衡服务,以使得目标配置文件生效。
上述配置参数修改的过程,全程自动化完成,如此提高了修改配置参数的速度,方便快捷;同时也不需要修改的用户有较高的专业背景知识,节省了人工成本和维护成本;而且在修改配置参数时,无需登陆到Haproxy容器中对配置文件进行修改,在本地即可完成,提高了修改配置参数的速度。
在一实施例中,所述负载均衡应用管理的方法还包括查询方法,用于查询负载均衡应用的各种信息。
需要注意的是,以上管理方法中除了查询方法之外,其他的方法都会适应性的将对应的数据在数据库中进行修改。
以上方法实施例通过预设创建接口创建的负载均衡应用才可以在预设管理接口进行相应的管理。通过预设管理接口的管理界面可以实现对创建的负载均衡的不同信息的管理,因此无需登陆到具体Haproxy容器中进行相应的管理,管理的操作方便简单,不容易出错;对Haproxy负载均衡的配置文件进行修改,如新增添加、删除端口、修改配置参数等,都是自动化完成,如此提高了修改的速度,方便快捷;同时也不需要修改的用户有较高的专业背景知识,节省了人工成本和维护成本;可以满足用户的各种不同需求,提高用户的体验。
图8本申请实施例提供的负载均衡应用管理装置的示意性框图。如图8所示,该装置包括用于执行上述负载均衡应用管理方法所对应的单元。具体地,如图8所示,该装置100包括创建单元101、打开单元102、管理单元103。
创建单元101,用于根据预设的创建接口创建Haproxy负载均衡应用;
打开单元102,用于在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口;
管理单元103,用于若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。
在一实施例中,若预设的创建接口为第一预设创建接口,创建单元101包括第一获取单元、第一创建单元。其中,第一获取单元,用于获取通过第一预设创建接口设置的容器应用的信息和负载均衡应用的信息,其中,负载均衡应用的类型为Haproxy。第一创建单元,用于根据所设置的容器应用的信息和负载均衡应用的信息,以及预设的负载均衡参数信息,利用第一预设创建接口,创建容器应用以及Haproxy负载均衡应用,并设置所创建的容器应用与Haproxy负载均衡应用的关联关系。
在一实施例中,如图9所示,第一创建单元1010包括应用创建单元1011、Haproxy创建单元1012、IP分配单元1013、重构单元1014以及开启单元1015。
其中,应用创建单元1011,用于利用第一预设创建接口,以根据容器应用的信息中的容器应用的应用环境、容器应用的区域、容器实例数量、容器应用镜像信息创建所述容器应用的容器实例。Haproxy创建单元1012,用于用于根据所设置的容器应用的信息确定创建Haproxy负载均衡应用的宿主机,并在所述宿主机上创建Haproxy容器。IP分配单元1013,用于为所创建的Haproxy容器分配虚拟IP。重构单元1014,用于根据所述虚拟IP、所创建的容器应用的容器实例、所述端口信息重构Haproxy负载均衡应用的配置文件。开启单元1015,用于开启所述Haproxy容器的Haproxy负载均衡服务。
在一实施例中,若预设的创建接口为第二预设创建接口,创建单元101包括第二获取单元、第二创建单元。第二获取单元,用于获取通过第二预设创建接口设置的负载均衡应用的信息和与所述负载均衡应用关联的关联应用的信息,其中,负载均衡的类型为Haproxy。第二创建单元,用于根据所设置的负载均衡应用的信息和关联应用的信息,利用第二预设创建接口,创建Haproxy负载均衡应用。
在一实施例中,若管理指令为修改指令,如图10所示,所述管理单元103包括修改设置单元1031、修改获取单元1032、虚拟IP确定单元1033、配置下载单元1034、配置修改单元1035、推送单元1036以及重启单元1037。其中,修改设置单元1031,用于若接收到来自预设管理接口所对应的管理界面触发的修改指令,调用与所述修改指令对应的预设修改接口,以通过预设修改接口设置待修改信息。修改获取单元1032,用于若接收到设置完成指令,获取所设置的待修改信息。虚拟IP确定单元1033,用于确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。配置下载单元1034,用于根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。配置修改单元1035,用于根据所述待修改信息,修改所述配置文件,以得到目标配置文件。推送单元1036,用于将目标配置文件推送到所述Haproxy容器中。重启单元1037,用于重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
在一实施例中,若修改指令为端口添加指令,如图11所示,所述管理单元103包括添加设置单元1031a、添加获取单元1032a、第一端口判断单元1033a、第一提示单元1034a、第一IP确定单元1035a、第一下载单元1036a、添加单元1037a、第一推送单元1038a、第一重启单元1039a。其中,添加设置单元1031a,用于若接收到来自预设管理接口所对应的管理界面触发的端口添加指令,调用预设端口添加接口,以通过预设端口添加接口设置待添加的端口信息以及是否为所述端口添加证书的信息,其中,所述端口信息包括端口号。添加获取单元1032a,用于若接收到设置完成指令,获取所设置的待添加的端口号以及是否为所述端口号添加证书的信息。第一端口判断单元1033a,用于判断所述待添加的端口号是否已经存在。第一提示单元1034a,用于所述待添加的端口号已经存在,进行提示。第一IP确定单元1035a,用于若所述待添加的端口号不存在,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。第一下载单元1036a,用于根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。添加单元1037a,用于根据所述待添加的端口号以及是否为所述端口号添加证书的信息,在所述配置文件中添加所述待添加的端口号所对应的配置代码,以形成目标配置文件。第一推送单元1038a,用于将目标配置文件推送到所述Haproxy容器中。第一重启单元1039a,用于重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
在一实施例中,添加单元1037a包括:模板获取单元、填充单元、追加单元。其中,模板获取单元,用于若为所述端口号添加证书的信息,获取第一配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息;模板获取单元,还用于若不为所述端口号添加证书的信息,获取第二配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息。填充单元,用于将所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器的IP信息,填充到所述第一配置文件模板或者第二配置文件模板中,以形成所述待添加的端口号所对应的配置代码,其中,第一配置文件模板中的配置代码实现将所添加证书的信息与所述虚拟IP以及所述待添加的端口号进行绑定。追加单元,用于将所述配置代码追加到所述配置文件的末尾以形成目标配置文件。
在一实施例中,若修改指令为端口删除指令,如图12所示,所述管理单元103包括删除设置单元1031b、删除获取单元1032b、第二端口判断单元1033b、第二提示单元1034b、第二IP确定单元1035b、第二下载单元1036b、删除单元1037b、第二推送单元1038b、第二重启单元1039b。其中,删除设置单元1031b,用于若接收到来自预设管理接口所对应的管理界面触发的端口删除指令,调用预设端口删除接口,以通过预设端口删除接口设置待删除的端口信息,其中,所述端口信息包括端口号。删除获取单元1032b,用于若接收到设置完成指令,获取所设置的待删除的端口号。第二端口判断单元1033b,用于判断所述待删除的端口号是否已经存在。第二提示单元1034b,用于所述待删除的端口号不存在,进行提示。第二IP确定单元1035b,用于若所述待删除的端口号已经存在,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。第二下载单元1036b,用于根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。删除单元1037b,用于根据所述待删除的端口号,定位配置文件中所述待删除的端口号所对应的配置代码区域,将所述待删除的端口号所对应的配置代码区域中的代码删除,以形成目标配置文件。第二推送单元1038b,用于将目标配置文件推送到所述Haproxy容器中。第二重启单元1039b,用于重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
在一实施例中,若修改指令为配置参数修改指令,如图13所示,所述管理单元103包括参数设置单元1031c、参数获取单元1032c、第三IP确定单元1033c、第三下载单元1034c、参数修改单元1035c、第三推送单元1036c、第三重启单元1037c。其中,参数设置单元1031c,用于若接收到来自预设管理接口所对应的管理界面触发的配置参数修改指令,调用预设配置修改接口,以通过预设配置修改接口设置待修改的配置参数信息。参数获取单元1032c,用于若接收到设置完成指令,获取所设置的待修改的配置参数信息。第三IP确定单元1033c,用于确定Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP。第三下载单元1034c,用于根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地。参数修改单元1035c,用于根据所述待修改的配置参数信息,修改所述配置文件中所对应的配置参数信息,以得到目标配置文件。第三推送单元1036c,用于将目标配置文件推送到所述Haproxy容器中。第三重启单元1037c,用于重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述装置可以实现为一种计算机程序的形式,计算机程序可以在如图14所示的计算机设备上运行。
图14为本申请实施例提供的一种计算机设备的示意性框图。该设备为终端等设备,如PaaS平台中的服务器等。该设备200包括通过***总线201连接的处理器202、存储器和网络接口203,其中,存储器可以包括非易失性存储介质204和内存储器205。该非易失性存储介质204可存储操作***2046和计算机程序2042。该非易失性存储介质中所存储的计算机程序2042被处理器202执行时,可实现上述所述的负载均衡应用管理方法。该处理器202用于提供计算和控制能力,支撑整个设备200的运行。该内存储器205为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器202执行时,可使得处理器202执行上述所述的负载均衡应用管理方法。该网络接口203用于进行网络通信。本领域技术人员可以理解,图中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器202用于运行存储在存储器中的计算机程序,以实现上述所述负载均衡应用管理方法的任一实施例。
应当理解,在本申请实施例中,所称处理器202可以是中央处理单元(CentralProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(应用程序licationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质可以为计算机可读存储介质。该计算机程序被该计算机***中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本申请还提供了一种存储介质。该存储介质可以为计算机可读存储介质,该计算机可读存储介质包括非易失性计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序当被处理器执行时,实现上述所述负载均衡应用管理方法的任一实施例。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置、设备和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种负载均衡应用管理方法,其特征在于,所述方法包括:
根据预设的创建接口创建Haproxy负载均衡应用;
在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口;
若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。
2.根据权利要求1所述的方法,其特征在于,所述管理指令包括修改指令,所述若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理,包括:
若接收到来自预设管理接口所对应的管理界面触发的修改指令,调用与所述修改指令对应的预设修改接口,以通过预设修改接口设置待修改信息;
若接收到设置完成指令,获取所设置的待修改信息;
确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP;
根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地;
根据所述待修改信息,修改所述配置文件,以得到目标配置文件;
将目标配置文件推送到所述Haproxy容器中;
重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
3.根据权利要求2所述的方法,其特征在于,所述修改指令包括端口添加指令;所述若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理,包括:
若接收到来自预设管理接口所对应的管理界面触发的端口添加指令,调用预设端口添加接口,以通过预设端口添加接口设置待添加的端口信息以及是否为所述端口号添加证书的信息,其中,所述端口信息包括端口号;
若接收到设置完成指令,获取所设置的待添加的端口号以及是否为所述端口号添加证书的信息;
判断所述待添加的端口号是否已经存在;
若所述待添加的端口号不存在,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP;
根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地;
根据所述待添加的端口号以及是否为所述端口号添加证书的信息,在所述配置文件中添加所述端口号所对应的配置代码,以形成目标配置文件;
将目标配置文件推送到所述Haproxy容器中;
重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待添加的端口号以及是否为所述端口号添加证书的信息,在所述配置文件中添加所述端口号所对应的配置代码,以形成目标配置文件,包括:
若为所述端口号添加证书的信息,获取第一配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息;
若不为所述端口号添加证书的信息,获取第二配置文件模板、所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息;
将所述待添加的端口号、所述虚拟IP以及Haproxy负载均衡应用所对应的服务器信息,填充到所述第一配置文件模板或者第二配置文件模板中,以形成所述待添加的端口号所对应的配置代码,其中,第一配置文件模板中的配置代码实现将所添加证书的信息与所述虚拟IP以及所述待添加的端口号进行绑定;
将所述配置代码追加到所述配置文件的末尾以形成目标配置文件。
5.根据权利要求2所述的方法,其特征在于,所述修改指令包括端口删除指令,所述若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理,包括:
若接收到来自预设管理接口所对应的管理界面触发的端口删除指令,调用预设端口删除接口,以通过预设端口删除接口设置待删除的端口信息,其中,所述端口信息包括端口号;
若接收到设置完成指令,获取所设置的待删除的端口号;
判断所述待删除的端口号是否已经存在;
若所述待删除的端口号已经存在,确定所述Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP;
根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地;
根据所述待删除的端口号,定位配置文件中所述待删除的端口号所对应的配置代码区域,将所述待删除的端口号所对应的配置代码区域中的代码删除,以形成目标配置文件;
将目标配置文件推送到所述Haproxy容器中;
重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
6.根据权利要求2所述的方法,其特征在于,所述修改指令包括配置参数修改指令,所述若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理,包括:
若接收到来自预设管理接口所对应的管理界面触发的配置参数修改指令,调用预设配置修改接口,以通过预设配置修改接口设置待修改的配置参数信息;
若接收到设置完成指令,获取所设置的待修改的配置参数信息;
确定Haproxy负载均衡应用所对应的Haproxy容器的虚拟IP;
根据所述虚拟IP获取所述Haproxy负载均衡应用的配置文件,并将所述配置文件下载到本地;
根据所述待修改的配置参数信息,修改所述配置文件中所对应的配置参数信息,以得到目标配置文件;
将目标配置文件推送到所述Haproxy容器中;
重启所述Haproxy容器的负载均衡服务,以使得目标配置文件生效。
7.根据权利要求1所述的方法,其特征在于,所述根据预设的创建接口创建Haproxy负载均衡应用,包括:
获取通过第一预设创建接口设置的容器应用的信息和负载均衡应用的信息,其中,负载均衡应用的类型为Haproxy;
根据所设置的容器应用的信息和负载均衡应用的信息,以及Haproxy负载均衡应用的模板配置文件,利用第一预设创建接口,创建容器应用以及Haproxy负载均衡应用,并设置所创建的容器应用与Haproxy负载均衡应用的关联关系;或者
获取通过第二预设创建接口设置的负载均衡应用的信息和与所述负载均衡应用关联的关联应用的信息,其中,负载均衡的类型为Haproxy;
根据所设置的负载均衡应用的信息和关联应用的信息,利用第二预设创建接口,创建Haproxy负载均衡应用。
8.一种负载均衡应用管理装置,其特征在于,所述负载均衡应用管理装置包括:
创建单元,用于根据预设的创建接口创建Haproxy负载均衡应用;
打开单元,用于在所述Haproxy负载均衡应用创建完成之后,若接收到打开预设管理接口的打开指令,根据所述打开指令打开预设管理接口;
管理单元,用于若接收到来自预设管理接口所对应的管理界面触发的管理指令,根据所述管理指令对所创建的Haproxy负载均衡应用进行管理。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器,以及与所述存储器相连的处理器;
所述存储器用于存储计算机程序;所述处理器用于运行所述存储器中存储的计算机程序,以执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的方法。
CN201910414380.6A 2019-05-17 2019-05-17 负载均衡应用管理方法、装置、计算机设备及存储介质 Active CN110262894B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910414380.6A CN110262894B (zh) 2019-05-17 2019-05-17 负载均衡应用管理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910414380.6A CN110262894B (zh) 2019-05-17 2019-05-17 负载均衡应用管理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110262894A true CN110262894A (zh) 2019-09-20
CN110262894B CN110262894B (zh) 2023-09-01

Family

ID=67913371

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910414380.6A Active CN110262894B (zh) 2019-05-17 2019-05-17 负载均衡应用管理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110262894B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160191411A1 (en) * 2014-12-30 2016-06-30 Nhn Entertainment Corporation Cloud service system and method
US9444800B1 (en) * 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
CN105979009A (zh) * 2016-07-06 2016-09-28 乾云众创(北京)信息科技研究院有限公司 一种针对云应用容器的增加负载自动均衡方法
CN106131122A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种部署负载均衡服务的方法及装置
US20170208180A1 (en) * 2013-10-21 2017-07-20 Intel IP Corporation Emergency call handling
CN107479975A (zh) * 2017-08-10 2017-12-15 郑州云海信息技术有限公司 一种虚拟机管理方法和***
US10075377B1 (en) * 2015-04-23 2018-09-11 Cisco Technology, Inc. Statistical collection in a network switch natively configured as a load balancer
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9444800B1 (en) * 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
US20170208180A1 (en) * 2013-10-21 2017-07-20 Intel IP Corporation Emergency call handling
US20160191411A1 (en) * 2014-12-30 2016-06-30 Nhn Entertainment Corporation Cloud service system and method
US10075377B1 (en) * 2015-04-23 2018-09-11 Cisco Technology, Inc. Statistical collection in a network switch natively configured as a load balancer
CN106131122A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种部署负载均衡服务的方法及装置
CN105979009A (zh) * 2016-07-06 2016-09-28 乾云众创(北京)信息科技研究院有限公司 一种针对云应用容器的增加负载自动均衡方法
CN107479975A (zh) * 2017-08-10 2017-12-15 郑州云海信息技术有限公司 一种虚拟机管理方法和***
CN109032760A (zh) * 2018-08-01 2018-12-18 北京百度网讯科技有限公司 用于部署应用的方法和装置

Also Published As

Publication number Publication date
CN110262894B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
US11422844B1 (en) Client-specified network interface configuration for serverless container management service
US10841336B2 (en) Selectively providing mutual transport layer security using alternative server names
US11392422B1 (en) Service-managed containers for container orchestration service
US10606662B2 (en) System and method for processing task resources
CN110224860A (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
US11036696B2 (en) Resource allocation for database provisioning
EP3754494A1 (en) Using multidimensional metadata tag sets to determine resource allocation in a distributed computing environment
CN105593835B (zh) 通过主云服务管理器管理多个二级云
US11392873B2 (en) Systems and methods for simulating orders and workflows in an order entry and management system to test order scenarios
US10050900B2 (en) Methods and systems for allocating and provisioning computing resources
CN110275775A (zh) 容器应用的资源配置方法、***及存储介质
CN110289983B (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
US10284660B1 (en) Data flow tokens to trace execution of services in a service provider network
US9420035B2 (en) Transaction isolation during multi-tenant transaction requests
US20140096136A1 (en) Creating a Virtual Machine and Cloud Server
CN108845808A (zh) 中间件安装方法、装置、计算机设备及存储介质
CN105450461A (zh) 一种分流方法及网络设备
CN110266761B (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
CN110262872A (zh) 负载均衡应用管理方法、装置、计算机设备及存储介质
CN110166544A (zh) 负载均衡应用创建方法、装置、计算机设备及存储介质
Maenhaut et al. Migrating legacy software to the cloud: approach and verification by means of two medical software use cases
WO2023131232A1 (en) Intelligent service mesh data compression
CN110286997A (zh) 多容器应用创建方法、装置、计算机设备及存储介质
CN113722055A (zh) 数据处理方法、装置、电子设备和计算机可读介质
CN109614271A (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