一种虚拟网卡网络检测方法、装置、设备及介质制造方法及图纸

技术编号:35021472 阅读:14 留言:0更新日期:2022-09-24 22:50
本发明专利技术公开了一种虚拟网卡网络检测方法、装置、设备及介质,属于云原生容器网络技术领域,所述方法包括:在业务pod单元初始化容器的环境变量中获取业务pod单元名称;调取API接口,筛选与所述业务pod单元名称相关联的一个或多个关联pod单元;对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度;若是,则获取所述一个或多个关联pod单元的虚拟网卡的IP信息;在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测。本发明专利技术避免在执行主要业务逻辑的时候,由于网络不同导致系统异常,降低了排错成本;同时形成智能恢复流程,最大可能的保证网络健康,并提升了业务平台的鲁棒性。业务平台的鲁棒性。业务平台的鲁棒性。

【技术实现步骤摘要】
一种虚拟网卡网络检测方法、装置、设备及介质


[0001]本专利技术涉及云原生容器网络
,特别涉及一种虚拟网卡网络检测方法、装置、设备及介质。

技术介绍

[0002]近几年,kubernetes(K8S)项目在众多贡献者的努力中,逐步走向健壮和完善,带动了整个云原生技术圈的发展,使得更多的业务场景迁移到kubernetes项目中来,也得到了越来越多厂家的青睐,很多项目都是基于K8S系统进行开发的,kubernetes将一种新的软件开发架构和理念呈现在人们面前,促进了整个行业的发展和繁荣。同时,kubernetes作为一个容器编排平台,也在面临着更复杂的业务场景,比如存储网络大数据的传输、深度学习训练(gpu)之间的数据通信,这些场景对网络带宽和稳定性有着严苛的要求,一般的硬件设备已经不足以支撑这种业务场景。目前有很多网络硬件厂商针对这种场景开发了很多硬件设备,其中基于RoCE(RDMAover Converged Ethernet)技术的的网卡正逐渐的被市场所认可,比如Mellanox MT27800、intel E800系列网卡都是基于RoCE技术进行设计研发的。Kubernetes可以通过其设备插件(deviceplugin)机制将这些网络硬件设备进行注册管理,为以后的更加复杂的硬件业务场景打下了坚实的基础。
[0003]但是Kubernetes做为一个平台项目,对于这些硬件设备只是进行管理注册操作,对于其如何使用则涉及不多。使用方面更加倾向于用户依据自己的业务场景去定制化。比如基于sriov(Single Root I/O Virtualization,单根I/O虚拟化)规范对物理网卡(pf,Physical Functions)进行虚拟化,生成多个PCIe设备虚拟网卡(vf,Virtual Functions),实现了单个PCIe设备支撑多个业务逻辑的应用场景。对于kubernetes来说,这些业务逻辑可以具体位置pod单元中运行的容器,通过cni(容器网络接口)规范,pod单元可以将相应的虚拟网卡vf加载到其网络栈上,这样pod单元中的所有容器都可以共用该虚拟网卡。而一个单元pod单元可以加载多个虚拟网卡vf,这些虚拟网卡的ip信息又可能属于不同的网段,因此这种场景将会面临复杂的网络拓扑结构,而越是复杂的场景越容易出现问题,网络不通的情况也时长出现。并且网络排查比较困难,大大降低了其易用性,提升了技术学习门槛,阻碍虚拟网卡技术的推广。

技术实现思路

[0004]为了克服上述技术缺陷,本专利技术的目的在于提供一种虚拟网卡网络检测方法、装置、设备及介质,所述方法应用于K8S系统,所述方法包括:创建业务pod单元初始化容器;在所述业务pod单元初始化容器的环境变量中获取业务pod单元名称;调取API接口,筛选与所述业务pod单元名称相关联的一个或多个关联pod单元;对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度;若是,则获取所述一个或多个关联pod单元的虚拟网卡的IP信息;在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测。本专利技术可以避免在执行主要业务逻辑的
时候,由于网络不同导致系统异常,降低了排错成本;同时形成一套智能恢复流程,最大可能的保证网络健康,并提升了业务平台的鲁棒性。
[0005]本专利技术实施例提供的具体技术方案如下:
[0006]第一方面,提供了一种虚拟网卡网络检测方法,所述方法应用于K8S系统,所述K8S系统包括若干pod单元,所述pod单元包括若干虚拟网卡,所述方法包括:
[0007]创建业务pod单元初始化容器;
[0008]在所述业务pod单元初始化容器的环境变量中获取业务pod单元名称;
[0009]调取API接口,筛选与所述业务pod单元名称相关联的一个或多个关联pod单元;
[0010]对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度;
[0011]若是,则获取所述一个或多个关联pod单元的虚拟网卡的IP信息;
[0012]在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测。
[0013]进一步地,所述对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度,包括:
[0014]设置等待超时的时长为第一时长,已经等待的时长为第二时长;
[0015]判断所述第二时长是否小于所述第一时长;
[0016]若是,则遍历所述一个或多个关联pod单元,并判断所述一个或多个关联pod单元是否被调度成功;若否,则结束检测。
[0017]进一步地,所述判断所述一个或多个关联pod单元是否被调度成功,包括:
[0018]判断所述一个或多个关联pod单元中各关联pod单元是否被调度成功;
[0019]若是,则统计成功被调度的关联pod单元数量为n;若否,则继续判断所述第二时长是否小于所述第一时长;
[0020]统计所述一个或多个关联pod单元的数量为m;
[0021]判断n是否等于m;
[0022]若是,则确定所有关联pod单元成功被调度;若否,则继续判断所述第二时长是否小于所述第一时长。
[0023]进一步地,所述获取所述一个或多个关联pod单元的虚拟网卡的IP信息,包括:
[0024]遍历IP池资源的IP池实例集合,对所述一个或多个关联pod单元的虚拟网卡的IP信息进行筛选;
[0025]将所述业务pod单元初始化容器的环境变量中的业务pod单元名称与筛选后的关联pod单元的虚拟网卡的IP信息数据结构中的关联pod单元名称进行匹配映射,获取所述一个或多个关联pod单元的虚拟网卡的IP信息。
[0026]进一步地,所述在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测,包括:
[0027]设置最大检测重试次数为c,当前的检测重试次数为d;
[0028]判断d是否大于c;
[0029]若是,则结束检测;若否,则在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测;
[0030]判断对所述一个或多个关联pod单元的虚拟网卡进行网络检测是否成功;
[0031]若是,则结束检测;若否,则继续判断d是否大于c。
[0032]进一步地,所述虚拟网卡网络检测方法,包括:
[0033]设置线程池,所述线程池包括若干线程;
[0034]对所述K8S集群的带宽流量进行监控;
[0035]所述对所述K8S集群的带宽流量进行监控,包括:
[0036]设置最大网络带宽压力阈值为p,采集当前所述K8S集群中各节点的网络带宽压力阈值为q;
[0037]判断q是否大于p;
[0038]若是,则减少所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟网卡网络检测方法,其特征在于,所述方法应用于K8S系统,所述K8S系统包括若干pod单元,所述pod单元包括若干虚拟网卡,所述方法包括:创建业务pod单元初始化容器;在所述业务pod单元初始化容器的环境变量中获取业务pod单元名称;调取API接口,筛选与所述业务pod单元名称相关联的一个或多个关联pod单元;对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度;若是,则获取所述一个或多个关联pod单元的虚拟网卡的IP信息;在所述业务pod单元初始化容器中对所述一个或多个关联pod单元的虚拟网卡的IP信息遍历进行网络检测。2.根据权利要求1所述的虚拟网卡网络检测方法,其特征在于,所述对所述一个或多个关联pod单元进行调度操作并判断是否所有关联pod单元成功被调度,包括:设置等待超时的时长为第一时长,已经等待的时长为第二时长;判断所述第二时长是否小于所述第一时长;若是,则遍历所述一个或多个关联pod单元,并判断所述一个或多个关联pod单元是否被调度成功;若否,则结束检测。3.根据权利要求2所述的虚拟网卡网络检测方法,其特征在于,所述判断所述一个或多个关联pod单元是否被调度成功,包括:判断所述一个或多个关联pod单元中各关联pod单元是否被调度成功;若是,则统计成功被调度的关联pod单元数量为n;若否,则继续判断所述第二时长是否小于所述第一时长;统计所述一个或多个关联pod单元的数量为m;判断n是否等于m;若是,则确定所有关联pod单元成功被调度;若否,则继续判断所述第二时长是否小于所述第一时长。4.根据权利要求1所述的虚拟网卡网络检测方法,其特征在于,所述获取所述一个或多个关联pod单元的虚拟网卡的IP信息,包括:遍历IP池资源的IP池实例集合,对所述一个或多个关联pod单元的虚拟网卡的IP信息进行筛选;将所述业务pod单元初始化容器的环境变量中的业务pod单元名称与筛选后的关联pod单元的虚拟网卡的IP信息数据结构中的关联pod单元名称进行匹配映射,获取所述一个或多个关联pod单元的虚拟网卡的IP信息。5.根据权利要求1所述的虚拟网卡网络检测方法,其特征在于,所述在所述业务pod单元初...

【专利技术属性】
技术研发人员:王文潇陈培王德奎
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1