一种基于k8s平台的负载均衡系统及实现方法技术方案

技术编号:27771802 阅读:17 留言:0更新日期:2021-03-23 12:50
本发明专利技术公开了一种基于k8s平台的负载均衡系统及实现方法,步骤包括:在k8s系统中搭建负载均衡客户端,负责发送负载均衡请求到负载均衡中心;LBMC接收来自LBC的相关负载均衡请求,然后创建负载配置;并进行分配相应的负载均衡资源给用户,管理负载均衡代理和负载均衡资源池;LBA对HAProxy进行管理,然后代理某一段访问某web服务,访问正常则代码正确;在k8s中部署etcd,作为保存k8s所有集群数据的后台数据库,etcd在k8s中以docker的方式进行部署。通过构建一种负载均衡群集,解决了工业互联网领域后端网络设备集群管理复杂化、效率低、可用性低、不便于扩展的问题,实现了对工业互联网后端设备的动态化管理。

【技术实现步骤摘要】
一种基于k8s平台的负载均衡系统及实现方法
本专利技术涉及工业互联网应用
,具体来说,涉及一种基于k8s平台的负载均衡系统及实现方法。
技术介绍
近年来,随着微服务技术的不断成熟,越来越多的大中型工业互联网企业开始采用kubernetes集群来管理容器化的工作负载及相关服务。Kubernetes是一个开源的,可移植的,可扩展的自动化容器操作平台,是当前主流的PaaS(Platformasaservice)平台技术。如图1所示,k8s作为当前主流的自动化容器操作平台,主要有以下几个特点:通过开放容器的DNS或IP,暴露容器服务,实现服务发现和负载均衡功能;可以为容器挂载多种存储系统;自动化容器滚动创建和删除;根据容器的资源需求,把容器分配到合适的节点,实现自动箱式封装功能;自动重启或替换失效容器,实现自动修复功能等。其中,负载均衡是k8s的一个非常基础且重要的功能。k8s在设计之初,就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloudprovider来适应不同的应用场景。随着k8s平台的发展,又新增了几种新的负载均衡机制,目前,kubernetes中的负载均衡大致可以分为以下几种机制,每种机制都有其特定的应用场景。Service:直接用Service提供cluster内部的负载均衡,并借cloudprovider提供的LB提供外部访问。IngressController:还是用Service提供cluster内部的负载均衡,但是通过自定义LB提供外部访问。ServiceLoadBalancer:把loadbalancer直接跑在容器中,实现BareMetal的ServiceLoadBalancer。CustomLoadBalancer:自定义负载均衡,并替代kube-proxy,一般在物理部署Kubernetes时使用,方便接入公司已有的外部服务。然而,随着k8s用户的急剧增加,用户场景不断丰富,现有的负载均衡机制并不能满足某些特定的场景需求。这就要求工业互联网企业设计自己的一套负载均衡系统来满足特定场景的需求。
技术实现思路
针对相关技术中的上述技术问题,本专利技术提出一种基于k8s平台的负载均衡系统及实现方法,能够克服现有技术方法的上述不足。为实现上述技术目的,本专利技术的技术方案是这样实现的:一种基于k8s平台的负载均衡系统,包括负载均衡客户端(LBC)、负载均衡管理中心(LBMC)、LBAgent(LBA)、HAProxy以及etcd键值数据库,其中,所述负载均衡客户端LBC,负责发送负载请求到所述负载均衡管理中心LBMC;所述负载均衡管理中心LBMC,以高可用的方式搭建,接收来自LBC的相关负载均衡请求,然后创建负载配置与进行负载均衡资源分配;所述LBAgent,以高可用的方式部署,并管理所述LAProxy,代理某一端口访问某web服务;所述etcd,是兼具一致性和高可用性的键值数据库,在k8s中以docker的方式部署,用于保存k8s所有集群数据的后台数据库。根据本专利技术的另一方面,提供了一种基于k8s平台的负载均衡系统的实现方法,包括以下步骤:S1在k8s系统中搭建负载均衡客户端,负责发送负载均衡请求到负载均衡中心;S2LBMC接收来自LBC的相关负载均衡请求,然后后创建负载配置;S3并进行分配相应的负载均衡资源给用户,管理负载均衡代理和负载均衡资源池;S4LBA对HAProxy进行管理,然后代理某一段访问某web服务,访问正常则代码正确;S5在k8s中部署etcd,作为保存k8s所有集群数据的后台数据库,etcd在k8s中以docker的方式进行部署。进一步地,基于k8s平台的负载均衡系统采用的是HAProxy并配合keepalived的VRRP协议。进一步地,发送的负载均衡请求包括如申请资源、更新资源、删除资源等。进一步地,LBA与LBMC的部署方式相同,均以高可用的方式部署在独立于k8s的物理机中。进一步地,LBA负责负载均衡服务的启动/停止/更改设置,并提供API接口便于LBMC进行控制,向etcd注册,汇报状态。进一步地,LBA提供metrics并向metrics收集器汇报各种监控指标,对LBA其自身运行的全过程提供日志。进一步地,LBA以审计日志的形式对LBMC的每一次操作进行记录,在LBA自身出现崩溃或者主机待机的情况下,重启可以重新恢复到运行前的状态。进一步地,在kos中部署的etcd,etcd数据存储在名称etcd-data.tmp的文件中,etcd进行部署命令。本专利技术的有益效果:通过构建一种负载均衡群集,解决了工业互联网领域后端网络设备集群管理复杂化、效率低、可用性低、不便于扩展的问题,实现了对工业互联网后端设备的动态化管理,同时对群集的内网IP进行了反向代理。负载均衡系统采用HAProxy+keepalived方案,通过keepalived的VRRP协议保证了高可用性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的k8s组成示意图。图2是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的k8s平台负载均衡系统方案示意图。图3是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的负载均衡系统拓扑示意图。图4是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的Nginx模块处理http请求/响应流程示意图。图5是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的Keepalived高可用集群工作原理示意图一。图6是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的Keepalived高可用集群工作原理示意图二。图7是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的Keepalived高可用工作原理总结流程示意图。图8是根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法的现主流的高可用方案示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。如图2-3所示,根据本专利技术实施例所述的基于k8s平台的负载均衡系统及实现方法,包括负载均衡客户端(LBC),负责发送负载请求到所述本文档来自技高网
...

【技术保护点】
1.一种基于k8s平台的负载均衡系统,其特征在于,包括负载均衡客户端、负载均衡管理中心、LBAgent、HAProxy以及etcd键值数据库,其中,/n所述负载均衡客户端,负责发送负载请求到所述负载均衡管理中心;/n所述负载均衡管理中心,以高可用的方式搭建,接收来自负载均衡客户端的相关负载均衡请求,然后创建负载配置与进行负载均衡资源分配;/n所述LBAgent,以高可用的方式部署,并管理所述LAProxy;/n所述etcd,是兼具一致性和高可用性的键值数据库,在k8s中以docker的方式部署。/n

【技术特征摘要】
1.一种基于k8s平台的负载均衡系统,其特征在于,包括负载均衡客户端、负载均衡管理中心、LBAgent、HAProxy以及etcd键值数据库,其中,
所述负载均衡客户端,负责发送负载请求到所述负载均衡管理中心;
所述负载均衡管理中心,以高可用的方式搭建,接收来自负载均衡客户端的相关负载均衡请求,然后创建负载配置与进行负载均衡资源分配;
所述LBAgent,以高可用的方式部署,并管理所述LAProxy;
所述etcd,是兼具一致性和高可用性的键值数据库,在k8s中以docker的方式部署。


2.一种基于k8s平台的负载均衡系统的实现方法,其特征在于,包括以下步骤:
S1在k8s系统中搭建负载均衡客户端,负责发送的负载均衡请求包括如申请资源、更新资源、删除资源;
S2负载均衡管理中心接收来自负载均衡客户端的相关负载均衡请求,然后创建负载配置;
S3并进行分配相应的负载均衡资源给用户,管理负载均衡代理和负载均衡资源池;
S4LBAgent对HAProxy进行管理,然后代理某一段访问某web服务,访问正常则代码正确;
S5在k8s中部署etcd,作为保存k8s所有集群数据的后台数据库,etcd在k8s中进行部署。


3.根据权利要求2所述的基于k8s平台的负载均衡系统的实现方法,其特征...

【专利技术属性】
技术研发人员:单酉冀天宇陈俊
申请(专利权)人:北京航天云路有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1