一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种K8S中使用的基于eBPF架构的负载均衡方法及装置与流程

2021-10-29 23:22:00 来源:中国专利 TAG:
一种k8s中使用的基于ebpf架构的负载均衡方法及装置
技术领域
:1.本发明涉及一种负载均衡装置,尤其是涉及一种k8s中使用的基于ebpf架构的负载均衡方法及装置。
背景技术
::2.随着微服务和容器的普及,kubernetes(下称k8s)这个容器调度管理平台被越来越多的公司所青睐,在kubernetes中,为了保证容器化的应用的高可用性和服务的连续性,应用程序被抽象化成了一个一个的service,每当有服务请求service时,k8s的负载均衡组件(kube‑proxy)根据service的配置把请求分发到指定的容器,以此实现外部请求的负载均衡。3.目前k8s中使用的负载均衡模式有以下几种:4.1、userspace模式5.所有访问service的请求经内核iptables处理后回到用户态程序kube‑proxy,由kube‑proxy实现负载均衡。6.而用户态程序进行负载均衡带来的问题就是转发性能差、时延高、丢包率高。该模式现在基本已被kubernetes弃用,只用在部分内核较老而又想作为kubernetes集群中node的节点使用。7.2、iptables模式8.kube‑proxy在目标节点上配置好service的所需要的iptables规则,当有访问service的请求时,按提前配置好的iptables规则实现负载均衡。iptables是内核中用来实现防火墙的模块,而kube‑proxy利用了iptables的dnat也达到了负载均衡的效果。9.与userspace模式相比,该模式降低了时延和丢包率,但因为iptables基于链表进行路由查找和nat转换来实现负载均衡,随着iptables规则的增加,查找链表和更新链表的开销越来越大,在大规模部署场景中出现了性能瓶颈。10.3、ipvs模式11.kube‑proxy的ipvs模式中,不再依赖于iptables规则来实现负载均衡,不会存在iptables规则带来的性能瓶颈。同时,由于ipvs本身就是linux内核实现的四层负载均衡,有丰富的负载均衡策略。12.虽然有过多次改进,但kube‑proxy使用的负载均衡方式仍存在以下不足:13.1)灵活性差14.只能针对4层进行负载均衡,基于路由、nat进行数据转发,还是根据ip和端口来实现的负载均衡,无法实现微服务级别的负载均衡。15.2)与iptables耦合度较高,难以解耦16.ipvs模式下的kube‑proxy无法独立实现负载均衡的全部功能,在某些场景(如snat和包过滤)仍需依赖于iptables来实现。技术实现要素:17.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种灵活性好的k8s中使用的基于ebpf架构的负载均衡方法及装置。18.本发明的目的可以通过以下技术方案来实现:19.一种k8s中使用的基于ebpf架构的负载均衡方法,包括以下步骤:20.部署ebpf架构;21.在监听到k8s中启动新服务时,判断该新服务是否开启ebpf转发,若是,则基于该新服务的配置信息产生对应的负载均衡规则策略,存储于所述ebpf架构中;22.在监听到对k8s中服务的外部访问请求时,所述ebpf架构基于所述负载均衡规则策略实现负载均衡。23.进一步地,所述ebpf架构包括位于负载节点的ebpf代理和位于控制节点的ebpf控制器,所述ebpf代理中设置有一流量控制器。24.进一步地,所述负载均衡规则策略由ebpf控制器通过grpc传递给ebpf代理,并由ebpf代理下发至对应的流量控制器。25.进一步地,所述ebpf代理实时监测微服务下pod的存活状态,判断pod状态是否存在异常,若是,则终止对该pod的请求转发。26.本发明还提供一种k8s中使用的基于ebpf架构的负载均衡装置,包括控制节点和负载节点,所述负载节点包括ebpf代理,所述控制节点包括ebpf控制器,所述ebpf代理中设置有一流量控制器,所述ebpf代理和ebpf控制器形成ebpf架构,该ebpf架构存储有与k8s中服务对应的负载均衡规则策略,在监听到对k8s中服务的外部访问请求时,所述ebpf架构基于所述负载均衡规则策略实现负载均衡。27.进一步地,所述负载均衡规则策略通过以下方式产生:28.在监听到k8s中启动新服务时,判断该新服务是否开启ebpf转发,若是,则基于该新服务的配置信息产生对应的负载均衡规则策略,存储于所述ebpf架构中。29.进一步地,所述负载均衡规则策略由ebpf控制器通过grpc传递给ebpf代理,并由ebpf代理下发至对应的流量控制器。30.进一步地,所述ebpf代理还包括:31.pod状态监测单元,实时监测微服务下pod的存活状态,判断pod状态是否存在异常,若是,则终止对该pod的请求转发。32.本发明还提供一种电子设备,包括:33.一个或多个处理器;34.存储器;和35.被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如上所述k8s中使用的基于ebpf架构的负载均衡方法的指令。36.本发明还提供一种计算机可读存储介质,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述k8s中使用的基于ebpf架构的负载均衡方法的指令。37.与现有技术相比,本发明具有以下有益效果:38.1、本发明通过部署的ebpf架构及对应的负载均衡规则策略实现负载均衡,不再依赖iptables,不存在iptables规则带来的性能瓶颈,可靠性高;39.2、本方法具有灵活性更强,性能更好的优点。附图说明40.图1为本发明的框架原理示意图。具体实施方式41.下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。42.实施例143.参考图1所示,本实施例提供一种k8s中使用的基于ebpf架构的负载均衡方法,包括以下步骤:44.部署ebpf架构,该ebpf架构包括位于负载节点(workernode)的ebpf代理(ebpfagent)和位于控制节点(controlnode)的ebpf控制器(ebpfcontroller),所述ebpf代理中设置有一流量控制器(trafficcontroller);45.在监听到k8s中启动新服务service时,判断该新服务是否开启ebpf转发,若是,则api‑server在创建service的同时,会根据这个service的配置生成负载均衡转发规则、负载均衡策略,存储于所述ebpf架构中,具体地,负载均衡规则策略由ebpf控制器通过grpc传递给ebpf代理,并由ebpf代理下发至对应的流量控制器;46.在监听到对k8s中服务的外部访问请求时,所述ebpf架构基于所述负载均衡规则策略实现负载均衡。47.上述方法基于ebpf架构实现负载均衡,而在ebpf架构中,并不会使用linux内核模块(ipvs、iptables)来做负载均衡,不再依赖iptables,不存在iptables规则带来的性能瓶颈,灵活性更强,性能更好。ebpf不依赖于任何linux内核模块,是一个以沙盒形式工作在linux内核态,与linux内核模块没有强耦合性,负载均衡不受iptables或ipvs的限制。48.在优选的实施方式中,ebpf代理实时监测微服务下pod的存活状态,判断pod状态是否存在异常,若是,则终止对该pod的请求转发,这样避免了通过ip监测来发现微服务的存活性的弊端,更为灵活。49.上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read‑onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。50.实施例251.如图1所示,本实施例提供一种k8s中使用的基于ebpf架构的负载均衡装置,其特征在于,包括控制节点和负载节点,负载节点包括ebpf代理,控制节点包括ebpf控制器,ebpf代理中设置有一流量控制器,ebpf代理和ebpf控制器形成ebpf架构,该ebpf架构存储有与k8s中服务对应的负载均衡规则策略,在监听到对k8s中服务的外部访问请求时,ebpf架构基于负载均衡规则策略实现负载均衡。52.负载均衡规则策略通过以下方式产生:53.在监听到k8s中启动新服务时,判断该新服务是否开启ebpf转发,若是,则基于该新服务的配置信息产生对应的负载均衡规则策略,存储于ebpf架构中,具体地,负载均衡规则策略由ebpf控制器通过grpc传递给ebpf代理,并由ebpf代理下发至对应的流量控制器。54.在优选的实施方式中,ebpf代理还包括pod状态监测单元,实时监测微服务下pod的存活状态,判断pod状态是否存在异常,若是,则终止对该pod的请求转发。55.其余同实施例1。56.实施例357.本实施例提供一种电子设备,包括一个或多个处理器、存储器和被存储在存储器中的一个或多个程序,所述一个或多个程序包括用于执行如实施例1所述k8s中使用的基于ebpf架构的负载均衡方法的指令。58.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本
技术领域
:中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜