基于容器的资源控制方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:36939070 阅读:11 留言:0更新日期:2023-03-22 19:00
本申请提供一种基于容器的资源控制方法、装置、计算机设备及存储介质,所述方法通过docker sdk检查可运行状态的容器;获取所述可运行状态的容器对应的容器启动参数,并根据所述容器启动参数,将所述可运行状态的容器配置对应的目标网络资源限速策略;根据所述目标网络资源限速策略,对所述可运行状态的容器进行网络资源的控制。通过上述方式,本发明专利技术通过预先配置的容器启动参数,对容器进行目标网络资源限速策略的配置,由此对容器的网络资源进行限速,有效的隔离和复用宿主机的网络资源,无需其他繁琐的配置操作,也不影响其他非限速容器使用,提升了用户体验。提升了用户体验。提升了用户体验。

【技术实现步骤摘要】
基于容器的资源控制方法、装置、计算机设备及存储介质


[0001]本申请涉及数据处理
,尤其涉及一种基于容器的资源控制方法、装置、计算机设备及存储介质。

技术介绍

[0002]在提供容器化PAAS服务的场景下,跟公有云场景下对于虚拟机的需求类似,需要能够限制容器对于网络、磁盘、CPU以及内存的使用,避免某个容器对资源的占用过高导致影响其他容器使用的情况。目前直接使用容器docker原生的控制组群cgroup对磁盘、CPU以及内存资源使用进行限制基本够用。但是docker缺乏对于网络的使用限制,需要使用者自己实现。容器化PAAS服务必然需要对宿主机上跑的各个业务容器做宽带限速和宽带流量进行计费。宿主机的网络有单网口和多网口接入两种类型,宿主机上配置的容器的network也需要支持host和bridge两种模式,并且需要对上行和下行进行限速。这些场景的需求docker并没有提供一体化解决方案,无法有效的隔离和复用宿主机的网络资源,因此如何有效的隔离和复用宿主机的网络资源成为了亟需解决的问题。

技术实现思路

[0003]本申请提供了一种基于容器的资源控制方法、装置、计算机设备及存储介质,以有效的隔离和复用宿主机的网络资源。
[0004]第一方面,本申请提供了一种基于容器的资源控制方法,其特征在于,所述基于容器的资源控制方法包括:
[0005]通过docker sdk检查可运行状态的容器;
[0006]获取所述可运行状态的容器对应的容器启动参数,并根据所述容器启动参数,将所述可运行状态的容器配置对应的目标网络资源限速策略;
[0007]根据所述目标网络资源限速策略,对所述可运行状态的容器进行网络资源的控制。
[0008]进一步地,所述基于容器的资源控制方法还包括:
[0009]启动线程,对容器中的容器事件进行循环监听;
[0010]在监听到创建事件时,判断需创建事件的第一容器是否存在预先配置的启动参数;
[0011]在所述第一容器存在所述预先配置的启动参数时,根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置。
[0012]进一步地,所述启动线程,对容器中的容器事件进行循环监听之后,还包括:
[0013]在监听到销毁事件时,删除需销毁事件的第二容器对应的网络限速策略。
[0014]进一步地,所述根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置,包括:
[0015]在所述第一容器的网络模式为主机host模式时,根据所述预先配置的启动参数中
各个WAN网口对应的限速参数,对各个网口分别进行上行带宽的限速配置;
[0016]将所述第一容器的网络的流量配置ingress虚拟设备ifb接口,并对所述ifb接口进行下行速率进行限速配置,以限制所述第一容器的下行速度。
[0017]进一步地,所述根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置,包括:
[0018]在所述第一容器的网络模式为桥接bridge模式时,根据所述预先配置的启动参数中宿主机veth对应的限速参数,对所述veth配置TC限速策略,以限制所述第一容器的下行速度;
[0019]将所述veth口的流量配置ingress虚拟设备ifb接口,并对所述ifb接口进行上行速率进行限速配置,以限制上行速度。
[0020]进一步地,所述根据所述历史行为信息对多个用户进行聚类得到用户类群,包括:
[0021]通过netlink监听网口的up事件以及down事件,并在检测到网口有重启事件需要读取所述网口上关联的每个容器的限速时,重新配置每个容器的网速限速策略。
[0022]进一步地,所述基于容器的资源控制方法还包括:
[0023]在完成所述网络资源限速策略的配置后,通过TC暴露的netlink接口,获取流经每个限速策略的流量,作为容器流量,并通过prometheus将所述容器流量metric暴露出来。
[0024]第二方面,本申请还提供了一种基于容器的资源控制装置,所述基于容器的资源控制装置包括:
[0025]运行容器检查模块,用于通过docker sdk检查可运行状态的容器;
[0026]限速策略配置模块,用于获取所述可运行状态的容器对应的容器启动参数,并根据所述容器启动参数,将所述可运行状态的容器配置对应的目标网络资源限速策略;
[0027]网络资源控制模块,用于根据所述目标网络资源限速策略,对所述可运行状态的容器进行网络资源的控制。
[0028]第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的基于容器的资源控制方法。
[0029]第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的基于容器的资源控制方法。
[0030]本申请公开了一种基于容器的资源控制方法、装置、计算机设备及存储介质,所述方法通过docker sdk检查可运行状态的容器;获取所述可运行状态的容器对应的容器启动参数,并根据所述容器启动参数,将所述可运行状态的容器配置对应的目标网络资源限速策略;根据所述目标网络资源限速策略,对所述可运行状态的容器进行网络资源的控制。通过上述方式,本专利技术通过预先配置的容器启动参数,对容器进行目标网络资源限速策略的配置,由此对容器的网络资源进行限速,有效的隔离和复用宿主机的网络资源,无需其他繁琐的配置操作,也不影响其他非限速容器使用,提升了用户体验。
附图说明
[0031]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的
附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本申请的实施例提供的一种基于容器的资源控制方法的示意流程图;
[0033]图2是本申请的实施例提供的容器限速效果示意图;
[0034]图3是本申请的实施例提供的一种基于容器的资源控制装置的示意性框图;
[0035]图4为本申请的实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
[0036]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0037]附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于容器的资源控制方法,其特征在于,所述基于容器的资源控制方法包括:通过docker sdk检查可运行状态的容器;获取所述可运行状态的容器对应的容器启动参数,并根据所述容器启动参数,将所述可运行状态的容器配置对应的目标网络资源限速策略;根据所述目标网络资源限速策略,对所述可运行状态的容器进行网络资源的控制。2.根据权利要求1所述的基于容器的资源控制方法,其特征在于,所述基于容器的资源控制方法还包括:启动线程,对容器中的容器事件进行循环监听;在监听到创建事件时,判断需创建事件的第一容器是否存在预先配置的启动参数;在所述第一容器存在所述预先配置的启动参数时,根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置。3.根据权利要求1所述的基于容器的资源控制方法,其特征在于,所述启动线程,对容器中的容器事件进行循环监听之后,还包括:在监听到销毁事件时,删除需销毁事件的第二容器对应的网络限速策略。4.根据权利要求2所述的基于容器的资源控制方法,其特征在于,所述根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置,包括:在所述第一容器的网络模式为主机host模式时,根据所述预先配置的启动参数中各个WAN网口对应的限速参数,对各个网口分别进行上行带宽的限速配置;将所述第一容器的网络的流量配置ingress虚拟设备ifb接口,并对所述ifb接口进行下行速率进行限速配置,以限制所述第一容器的下行速度。5.根据权利要求2所述的基于容器的资源控制方法,其特征在于,所述根据所述预先配置的启动参数,对所述第一容器进行网络限速策略的配置,包括:在所述第一容器的网络模式为桥接bridge模式时,根据所述预先配置的启动参数中宿主机veth对应的限速参数,对所述veth配置TC限速策略...

【专利技术属性】
技术研发人员:林金良许渊培游政贤
申请(专利权)人:厦门吉快科技有限公司
类型:发明
国别省市:

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

1