System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及且不限于云计算,尤其涉及一种限制带宽的方法、装置、处理设备及存储介质。
技术介绍
1、随着云计算的不断发展,越来越多的项目需要迁移至容器化平台。容器化平台的容器集群管理系统(k8s,kubernetes)集群越来越多。相关技术中,需要实时调整利用容器传输数据的带宽,但是存在配置不灵活和配置效率低下的问题。
技术实现思路
1、有鉴于此,本公开实施例公开了一种限制带宽的方法、装置、处理设备及存储介质,以至少在调整容器传输数据的带宽时更加灵活和高效。
2、根据本公开实施例的第一方面,提供一种限制带宽的方法,所述方法包括:
3、获取第一信息,所述第一信息为与k8s集群中的待调整容器相关联的信息;
4、获取第二信息,所述第二信息为针对所述第一信息配置的、与调整带宽阈值相关联的信息;所述带宽阈值用于限定利用容器传输数据时带宽的最大值;
5、基于所述第一信息和所述第二信息,调整与所述待调整容器相关联的带宽阈值。
6、在一些实施例中,所述第一信息包括以下各项信息中至少之一:
7、目标节点名称,用于指示所述待调整容器所属pod所在的k8s节点的节点名称;
8、目标节点标签,用于指示所述待调整容器所属pod所在的k8s节点的节点标签;
9、目标名称空间namesapce名称,用于指示所述待调整容器关联的namespace的名称;
10、目标namespace标签,用于指示所述待调整容器
11、目标pod标签,用于指示所述待调整容器所属pod的标签;
12、目标pod注解,用于指示所述待调整容器所属pod的注解。
13、在一些实施例中,所述第二信息包括级别信息,其中,所述级别信息包括以下各个级别中至少之一:
14、第一级别,用于指示调整k8s集群中所有pod包含的容器关联的带宽阈值所对应的优先级;
15、第二级别,所述第二级别针对所述第一信息中的目标节点标签配置,用于指示调整所述目标节点标签指示的k8s节点上pod包含的容器关联的带宽阈值所对应的优先级;
16、第三级别,所述第三级别针对所述第一信息中的目标节点名称配置,用于指示调整所述目标节点名称所指示的k8s节点上pod包含的容器关联的带宽阈值所对应的优先级;
17、第四级别,所述第四级别针对所述第一信息中的目标namespace标签配置,用于指示调整所述目标namespace标签指示的namespace对应的容器关联的带宽阈值所对应的优先级;
18、第五级别,所述第五级别针对所述第一信息中的目标namespace名称配置,用于指示调整所述目标namespace名称指示的namespace对应的容器关联的带宽阈值所对应的优先级;
19、第六级别,所述第六级别针对所述第一信息中的目标pod标签配置,用于指示调整所述目标pod标签指示的pod包含的容器关联的带宽阈值所对应的优先级;
20、第七级别,所述第七级别针对所述第一信息中的目标pod注解配置,用于指示调整所述目标pod注解指示的pod包含的容器关联的带宽阈值所对应的优先级;
21、其中,上述各个级别的优先级按照由低至高排序。
22、在一些实施例中,所述获取第一信息,包括:
23、通过调用容器带宽限制pbl程序,获取通过容器网络接口cni传输的第一容器标识id;其中,所述pbl程序用于实现容器网络接口cni的功能;
24、将关联于所述第一容器id的容器作为待调整容器,获取与所述待调整容器相关联的第一信息。
25、在一些实施例中,所述将关联于所述第一容器id的容器作为待调整容器,获取与所述待调整容器相关联的第一信息,包括以下至少之一:
26、基于第一namespace和第一pod名称,查询对应的pod标签和/或pod注解作为所述第一信息中的所述目标pod标签和/或所述目标pod注解;
27、基于第一namespace,查询对应的namespace标签作为所述第一信息中的所述目标namespace标签;
28、其中,所述第一namespace和/或所述第一pod名称是基于所述第一容器id,通过调用容器运行接口cri获取的。
29、在一些实施例中,所述获取第一信息,包括以下至少之一:
30、响应于pbl部署至第一k8s节点,基于系统环境变量获取所述第一k8s节点的节点名称作为所述第一信息中的所述目标节点名称;
31、基于应用程序接口api传输的第一节点名称,查询所述第一节点名称对应的节点标签作为所述第一信息中的所述目标节点标签。
32、在一些实施例中,所述方法还包括:
33、通过调用pbl程序,获取通过cni传输的第一容器网络接口名称ifname,基于所述第一ifname,确定与所述待调整容器相关联的节点网络接口;其中,所述pbl程序用于实现cni的功能;
34、创建令牌桶过滤器tbf;
35、将配置文件中的入口速率ingressrate参数的值设置为所述tbf的第一带宽阈值;所述配置文件用于限制容器的入口速率,所述第一带宽阈值为基于所述第二信息调整后的带宽阈值;
36、将所述tbf添加到队列规则qdisc中且将所述tbf绑定到所述节点网络接口。
37、在一些实施例中,所述方法还包括:
38、通过调用pbl程序,获取通过cni传输的第一ifname,基于所述第一ifname,确定所述待调整容器关联的节点网络接口;其中,所述pbl程序用于实现cni的功能;
39、获取所述节点网络接口的最大传输单元mtu值;
40、基于所述mtu值和容器id创建中间功能模块ifb;
41、在所述节点网络接口上添加过滤器以将流量镜像到所述ifb;
42、创建tbf;
43、将配置文件中的出口速率egressrate参数的值设置为所述tbf的第二带宽阈值;所述配置文件用于限制容器的出口速率,所述第二带宽阈值为基于所述第二信息调整后的带宽阈值;
44、将所述tbf添加到队列规则qdisc中且将所述tbf绑定到所述ifb。
45、根据本公开实施例的第二方面,提供一种限制带宽装置,所述装置包括:
46、获取模块,用于:获取第一信息,所述第一信息为与k8s集群中的待调整容器相关联的信息;获取第二信息,所述第二信息为针对所述第一信息配置的、与调整带宽阈值相关联的信息;所述带宽阈值用于限定利用容器传输数据时带宽的最大值;
47、调整模块,用于:基于所述第一信息和所述第二信息调整与所述待调整容器相关联的所述带宽阈值。
48、根据本公开实施例的第三方面,提供一种处理设备,所述处本文档来自技高网...
【技术保护点】
1.一种限制带宽的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一信息包括以下各项信息中至少之一:
3.根据权利要求1或者2所述的方法,其特征在于,所述第二信息包括级别信息,其中,所述级别信息包括以下各个级别中至少之一:
4.根据权利要求2所述的方法,其特征在于,所述获取第一信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述将关联于所述第一容器ID的容器作为待调整容器,获取与所述待调整容器相关联的第一信息,包括以下至少之一:
6.根据权利要求2所述的方法,其特征在于,所述获取第一信息,包括以下至少之一:
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
9.一种限制带宽装置,其特征在于,所述装置包括:
10.一种处理设备,其特征在于,所述处理设备包括:
【技术特征摘要】
1.一种限制带宽的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一信息包括以下各项信息中至少之一:
3.根据权利要求1或者2所述的方法,其特征在于,所述第二信息包括级别信息,其中,所述级别信息包括以下各个级别中至少之一:
4.根据权利要求2所述的方法,其特征在于,所述获取第一信息,包括:
5.根据权利要求4所述的方法,其特征在于,所述将关联于所述第一容器id的容...
【专利技术属性】
技术研发人员:贾永鹏,
申请(专利权)人:新浪技术中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。