本申请涉及云原生带宽控制,尤其涉及一种基于ovn的云原生带宽控制方法、系统、设备及介质。
背景技术:
1、云原生(cloud native)是一个组合词,“云”表示应用程序运行于分布式云环境中,“原生”表示应用程序在设计之初就充分考虑到了云平台的弹性和分布式特性,就是为云设计的。云原生是一种能充分利用云计算优势对应用程序进行设计、实现、部署、交付和操作的应用架构方法。
2、随着云计算的发展,云上应用越来越丰富,越来越多样。在云原生环境中,不同应用可能共享同一物理基础设施的网络资源,包括带宽。这可能导致带宽资源的争用问题,其中某个应用的高网络流量可能会影响其他应用的网络性能。在某些情况下,需要对特定的云原生应用程序进行带宽限制,以确保公平共享和资源分配。
3、现有的k8s(全称 kubernetes,是一个用于管理容器的开源。它可以让用户更加方便地部署、扩展和管理容器化应用程序,是支持云原生部署的一个平台)基于calico的带宽控制,是通过bgp(border gateway protocol,边界网关协议)路由策略实现的。bgp路由策略的定义需要对网络规划和bgp较强的技术要求,易用性差,而bgp路由策略的应用需要路由交换,会影响网络性能,导致网络不稳定。
技术实现思路
1、针对现有技术的上述不足,本申请提供一种基于ovn的云原生带宽控制系统、方法及介质,以解决现有的原生带宽控制技术较为依赖bgp路由策略,对网络规划和bgp有较强的技术要求,易用性差的问题。
2、第一方面,本申请提供了一种基于ovn的云原生带宽控制方法,方法包括:通过管理平台,获取带宽控制策略的制定参数,以完成带宽控制策略的配置,并获得带宽控制策略对应的注解信息;获取k8s平台的k8s对象,以完成带宽控制策略与k8s对象的绑定,同时调用k8s平台的api接口,请求更新k8s对象的带宽控制策略对应的注解信息;当k8s平台通过api接口收到管理平台对k8s对象的带宽控制策略对应的注解信息更新请求时,完成k8s对象带宽控制策略对应的注解信息更新,同时自动更新k8s对象对应的pod中的带宽控制策略;通过ovn控制组件,获取pod更新的带宽控制策略对应的注解信息;将注解信息转换为虚拟网络配置信息,并通过ovn命令下发到ovn管理组件;通过ovn管理组件,将虚拟网络配置信息转换为逻辑流表,并下发至虚拟网络配置信息对应的pod所在节点中的ovncontroller组件;通过ovn controller组件,获取逻辑流表,生成所在节点的openflow流表;以使pod所在节点中的ovs组件根据openflow流表,对pod对应虚拟网卡进行带宽控制。
3、进一步地,通过预设数据获取界面,获取带宽控制策略的制定参数、生成带宽控制策略对应的注解信息、获取k8s对象,以完成带宽控制策略与k8s对象绑定。
4、进一步地,在通过管理平台,获取带宽控制策略的制定参数,以完成带宽控制策略的配置之前,方法还包括:通过管理平台获取用户登录信息,以在用户登录信息校验成功后,弹出预设数据获取界面。
5、进一步地,在获取更新的带宽控制策略对应的注解信息之前,方法还包括:通过ovn控制组件,监听k8s对象对应的pod,以在确定k8s对象对应的pod出现带宽控制策略更新时,获取更新的带宽控制策略对应的注解信息。
6、第二方面,本申请提供了一种基于ovn的云原生带宽控制系统,系统包括:管理平台,用于获取带宽控制策略的制定参数,以完成带宽控制策略的配置,并获得带宽控制策略对应的注解信息;获取k8s平台的k8s对象,以完成带宽控制策略与k8s对象的绑定,同时调用k8s平台的api接口,请求更新k8s对象的带宽控制策略对应的注解信息;k8s平台,用于当k8s平台通过api接口收到管理平台对k8s对象的带宽控制策略对应的注解信息更新请求时,完成k8s对象带宽控制策略对应的注解信息更新,同时自动更新k8s对象对应的pod中的带宽控制策略;ovn控制组件,用于获取pod更新的带宽控制策略对应的注解信息;将注解信息转换为虚拟网络配置信息,并通过ovn命令下发到ovn管理组件;ovn管理组件,用于将虚拟网络配置信息转换为逻辑流表,并下发至虚拟网络配置信息对应的pod所在节点中的ovncontroller组件;ovn controller组件,用于获取逻辑流表,生成所在节点的openflow流表,以使pod所在节点中的ovs组件根据openflow流表,对pod对应虚拟网卡进行带宽控制。
7、进一步地,管理平台包括界面单元,用于通过预设数据获取界面,获取带宽控制策略的制定参数、生成带宽控制策略对应的注解信息、获取k8s对象,以完成带宽控制策略与k8s对象的绑定。
8、进一步地,管理平台包括登录单元,用于通过管理平台获取用户登录信息,以在用户登录信息校验成功后,弹出预设数据获取界面。
9、进一步地,ovn控制组件包括监听单元,用于通过ovn控制组件,监听k8s对象对应的pod,以在确定k8s对象对应的pod出现带宽控制策略更新时,获取更新的带宽控制策略对应的注解信息。
10、第三方面,本申请提供了一种基于ovn的云原生带宽控制设备,设备包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被执行时,使得处理器执行如上述任一项的一种基于ovn的云原生带宽控制方法。
11、第四方面,本申请提供了一种非易失性计算机存储介质,其上存储有计算机指令,计算机指令在被执行时实现如上述任一项的一种基于ovn的云原生带宽控制方法。
12、本领域技术人员能够理解的是,本申请至少具有如下有益效果:
13、本申请通过ovn(open virtual network 开放虚拟网络技术)监听更新的k8s对象的注解信息并转换为pod(k8s中特有的一个概念,是k8s对象的基本调度单位)本地的流表的方法,管理员通过管理平台能够实现易用的、高效的对容器网络的带宽控制,满足了云原生带宽控制的需求。
1.一种基于ovn的云原生带宽控制方法,其特征在于,所述方法包括:
2.根据权利要求1所述的基于ovn的云原生带宽控制方法,其特征在于,
3.根据权利要求2所述的基于ovn的云原生带宽控制方法,其特征在于,在通过管理平台,获取带宽控制策略的制定参数,以完成带宽控制策略的配置之前,所述方法还包括:
4.根据权利要求1所述的基于ovn的云原生带宽控制方法,其特征在于,在获取更新的带宽控制策略对应的注解信息之前,所述方法还包括:
5.一种基于ovn的云原生带宽控制系统,其特征在于,所述系统包括:
6.根据权利要求5所述的基于ovn的云原生带宽控制系统,其特征在于,管理平台包括界面单元,
7.根据权利要求6所述的基于ovn的云原生带宽控制系统,其特征在于,管理平台包括登录单元,
8.根据权利要求5所述的基于ovn的云原生带宽控制系统,其特征在于,ovn控制组件包括监听单元,
9.一种基于ovn的云原生带宽控制设备,其特征在于,所述设备包括:
10.一种非易失性计算机存储介质,其特征在于,其上存储有计算机指令,所述计算机指令在被执行时实现如权利要求1-4任一项所述的一种基于ovn的云原生带宽控制方法。