一种流量调度方法及流量调度装置制造方法及图纸

技术编号:32854429 阅读:6 留言:0更新日期:2022-03-30 19:22
本发明专利技术实施例提供了一种流量调度方法及流量调度装置,解决了目前容器云平台分配负载均衡性差的问题。所述流量调度方法、包括:在集群中部署监控体系,基于所述监控体系采集所述集群指标信息;基于所述集群指标信息得到所述集群的状态信息;部署所述集群的监控指标信息处理程序;基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息;基于所述队列信息完成流量调度。于所述队列信息完成流量调度。于所述队列信息完成流量调度。

【技术实现步骤摘要】
一种流量调度方法及流量调度装置


[0001]本专利技术涉及流量调度
,具体涉及一种流量调度方法及流量调度装置。

技术介绍

[0002]随着云计算的高速发展,容器技术逐渐成为当下最热门的技术之一,自从docker统一了容器市场,软件的发布也变得十分容易,真正的实现了一次构建到处运行。kubernetes是能够定义容器组织和管理规范的容器编排技术,这种技术的出现,解决了容器编排的巨大难题,为容器提供了服务发现、负载均衡、存储编排、自动发布、滚动升级和资源扩缩容等一系列管理能力。但是kubernetes作为容器云平台,随着集群中业务的不断增加,对于分配业务流量高性能的负载方面存在均衡差的问题。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供了一种流量调度方法及流量调度装置,解决了目前容器云平台分配负载均衡性差的问题。
[0004]本专利技术一实施例提供的一种流量调度方法、包括:
[0005]在集群中部署监控体系,基于所述监控体系采集所述集群指标信息;
[0006]基于所述集群指标信息得到所述集群的状态信息;
[0007]部署所述集群的监控指标信息处理程序;
[0008]基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息;
[0009]基于所述队列信息完成流量调度。
[0010]在一种实施方式中,所述在集群中部署监控体系的步骤包括:在kubernetes平台的集群中部署prometheus监控体系。
[0011]在一种实施方式中,所述状态信息包括:所述集群中各节点状态信息和各个服务对应的pod状态信息中的至少一种。
[0012]在一种实施方式中,所述基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息的步骤包括:
[0013]基于所述状态信息判断各工作节点的资源使用率是否达到阈值;
[0014]若否,获取每个所述服务的所有pod指标信息与每个所述pod对应的节点信息;
[0015]基于所有所述pod指标信息将所述服务的pod按负载进行排序得到所述服务的pod队列信息;
[0016]基于所述节点信息和所述pod队列信息得到所述集群的队列信息。
[0017]在一种实施方式中,所述基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息的步骤包括:基于所述状态信息判断各工作节点的资源使用率是否达到阈值,若是,扩容节点或重新调度pod。
[0018]在一种实施方式中,在所述基于所述状态信息判断各工作节点的资源使用率是否
达到阈值的步骤之前,还包括:判断所述集群是否有prometheus监控,若否,安装prometheus监控及监控组件。
[0019]在一种实施方式中,所述基于所述队列信息完成流量调度的步骤包括:
[0020]所述集群外用至少两台服务器搭建负载均衡器,访问所述集群并在所述负载均衡服务器上配置nginx,将预设的业务域的流量转发到traefik所监听的端口上;
[0021]Traefik基于所述业务域的域名找到对应的服务,基于所述监控指标信息处理程序和所述服务获取所述服务对应的pod队列;
[0022]基于所述pod队列获取可以调度流量的节点及pod信息;
[0023]基于所述可以调度流量的节点及所述pod信息完成流量调度。
[0024]本专利技术实施例提供一种流量调度装置,包括:
[0025]部署模块,用于在集群中部署监控体系;部署所述集群的监控指标信息处理程序;
[0026]采集模块,用于基于所述监控体系采集所述集群指标信息;
[0027]处理模块,用于基于所述集群指标信息得到所述集群的状态信息;基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息;
[0028]调度模块,用于基于所述队列信息完成流量调度。
[0029]本专利技术实施例提供一种电子装置,包括:包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述任意一项所述的流量调度方法。
[0030]本专利技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现上述任意一项所述的流量调度方法。
[0031]本专利技术实施例提供的一种流量调度方法及流量调度装置,通过prometheus获取当前节点及pod的各项监控指标,从资源利用率、负载及网络流量层面综合考虑,将业务流量调度到综合负载最低的pod,有效提高了集群负载均衡的性能,保证业务稳定。
附图说明
[0032]图1所示为本专利技术一实施例提供的一种流量调度方法的流程图。
[0033]图2所示为本专利技术一实施例提供的一种基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息的方法的流程图。
[0034]图3所示为本专利技术一实施例提供的一种基于所述队列信息完成流量调度的方法的流程图。
[0035]图4所示为本专利技术一实施例提供的一种流量调度装置的结构示意图。
具体实施方式
[0036]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]目前针对容器云平台分配负载均衡性差导致业务不稳定的问题,通常通过
Ingress控制器基于域名完成流量转发来克服,但该方法虽然克服了目前Ingress单点问题及难以适应容器云平台动态负载均衡需求的问题,但未考虑集群的资源及负载情况,可能会将流量调度到高负载节点的高负载pod中,造成系统压力过大,且路由选择比较复杂,难以配置的问题。针对上述问题,本专利技术提出一种基于容器云监控技术的kubernetes集群负载均衡的方法,通过prometheus获取当前节点及pod的各项监控指标,从资源利用率、负载及网络流量层面综合考虑,将业务流量调度到综合负载最低的pod,有效提高了集群负载均衡的性能,保证业务稳定。具体实施方式如下述实施例所述。
[0038]本实施例提供一种流量调度方法,如图1所示,所述流量调度方法包括:
[0039]步骤01:在集群中部署监控体系,基于所述监控体系采集所述集群指标信息。
[0040]优选地,在kubernetes平台的集群中部署prometheus监控体系。
[0041]kubernetes,简称K8s,是用8代替名字中间的8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用。Prometheus是一个云计算基础项目,是一个系统和服务监控系统,以给定的时间间隔从配置的目标收集度量,评估规则表达式,显示结果,并在观察本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流量调度方法,其特征在于,包括:在集群中部署监控体系,基于所述监控体系采集所述集群指标信息;基于所述集群指标信息得到所述集群的状态信息;部署所述集群的监控指标信息处理程序;基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息;基于所述队列信息完成流量调度。2.根据权利要求1所述的流量调度方法,其特征在于,所述在集群中部署监控体系的步骤包括:在kubernetes平台的集群中部署prometheus监控体系。3.根据权利要求1所述的流量调度方法,其特征在于,所述状态信息包括:所述集群中各节点状态信息和各个服务对应的pod状态信息中的至少一种。4.根据权利要求1所述的流量调度方法,其特征在于,所述基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息的步骤包括:基于所述状态信息判断各工作节点的资源使用率是否达到阈值;若否,获取每个所述服务的所有pod指标信息与每个所述pod对应的节点信息;基于所有所述pod指标信息将所述服务的pod按负载进行排序得到所述服务的pod队列信息;基于所述节点信息和所述pod队列信息得到所述集群的队列信息。5.根据权利要求4所述的流量调度方法,其特征在于,所述基于所述监控指标信息处理程序和所述集群的状态信息得到所述集群的队列信息的步骤包括:基于所述状态信息判断各工作节点的资源使用率是否达到阈值,若是,扩容节点或重新调度pod。6.根据权利要求4所述的流量调度方法,其特征在于,在所述基于所述状态信息判断各工作节点的资源使用率是否达到阈值的步骤之前,还包括:判断所...

【专利技术属性】
技术研发人员:王延青叶文杰
申请(专利权)人:珠海联云科技有限公司
类型:发明
国别省市:

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

1