一种容器多网卡网络配置方法、装置、设备及存储介质制造方法及图纸

技术编号:37140495 阅读:14 留言:0更新日期:2023-04-06 21:44
本申请涉及容器技术领域,具体公开了一种容器多网卡网络配置方法、装置、设备及存储介质,在根据工作负载容器创建任务完成对目标容器集群的目标节点上的目标容器组的多个网卡的创建后,触发多网卡网络资源配置任务,以分别获取目标容器组上各已创建网卡与目标节点的虚拟网线对的第一映射数据,以及各已创建网卡与网络资源配置参数的第二映射数据,进而生成已创建网卡、网络资源配置参数与虚拟网线对的第三映射数据,而后将第三映射数据传递至目标节点的操作系统内核以完成对各已创建网卡的网络资源配置,实现了对容器组上各个网卡的网络资源配置,为生产网络与管理网络隔离的多网络融合部署的应用场景提供了粒度更细的网络资源分配策略。络资源分配策略。络资源分配策略。

【技术实现步骤摘要】
一种容器多网卡网络配置方法、装置、设备及存储介质


[0001]本申请涉及容器
,特别是涉及一种容器多网卡网络配置方法、装置、设备及存储介质。

技术介绍

[0002]目前,以容器化技术为基础的云计算广泛应用,IP网络向集成数据、语音、视频等多业务网络转变。网络中所承载的数据呈几何级倍数增长,而且这些业务对网络的带宽、时延有着极高的要求。在有限的带资源下,能够按需为各业务分配带宽资源为其提供更高的端到端服务质量,是云计算应用场景中迫切需求。
[0003]针对此问题,在容器网络领域中主流的网络插件已经提供了容器组(Pod)级别的网络带宽限制策略,如Kube

ovn插件和Bandwidth插件都提供了在创建容器组时通过添加注解方式来实现对上行/下行的网络带宽的限制能力。
[0004]在某些应用场景中(例如生产网络和测试网络隔离的场景),需要利用Multus

CNI插件(一款多容器网络接口插件)为容器组创建多网卡以满足网络隔离的需求(如容器组对外提供不同的服务时,各服务使用的网络之间的隔离)。然而,目前的网络插件并没有提供为单个容器组的多网卡按需分配网络带宽资源的能力,只能为其中单个网卡分配网络带宽资源。
[0005]图1为现有的一种多网卡创建及配置的实现框图。
[0006]如图1所示,主节点(Master Node)101运行容器应用程序接口服务(K8s

apiserver)根据容器组配置文件(Pod.yaml)在工作节点(Work Node)102上创建容器组(Pod)(包含容器container 1、容器container 2
……
),具体为将容器服务(Kubernetes,简称K8s)的核心组件(Kubelet)部署于工作节点102,调用多容器网络接口插件(Multus

CNI Plugin)以调用所需类型的网卡创建插件(网卡创建插件1、网卡创建插件2
……
)以为容器组创建及配置对应类型的网卡(网卡1、网卡2
……
网卡名称支持用户自命名)。如多容器网络接口插件可以调用Calico插件来创建并配置网卡eth0(通常为主网卡),也可以加载容器网络接口插件配置文件(如媒体介入控制层虚拟局域网容器网络接口(MacVlan CNI)配置文件)后调用媒体介入控制层虚拟局域网插件(MacVlan Plugin)来创建网卡net1。如调用Kube

ovn插件和Bandwidth插件等创建来创建单个网卡时,则可以实现对各自所创建的单个网卡的带宽资源的配置,但并不能实现对所有类型的网卡进行带宽资源配置。且这种分别对单个网卡进行带宽资源配置的方案在实现上非常繁琐。
[0007]提供一种能够对单个容器组的多网卡进行网络资源配置的方案,是本领域技术人员需要解决的技术方案。

技术实现思路

[0008]本申请的目的是提供一种容器多网卡网络配置方法、装置、设备及存储介质,用于实现对单个容器组的多网卡进行网络资源配置。
[0009]为解决上述技术问题,本申请提供一种容器多网卡网络配置方法,包括:在根据工作负载容器创建任务完成对目标容器集群的目标节点上的目标容器组的多个网卡的创建后,触发多网卡网络资源配置任务;获取所述目标容器组上各已创建网卡与所述目标节点的虚拟网线对的第一映射数据;获取各所述已创建网卡与网络资源配置参数的第二映射数据;根据所述第一映射数据和所述第二映射数据生成所述已创建网卡、所述网络资源配置参数与所述虚拟网线对的第三映射数据;将所述第三映射数据传递至所述目标节点的操作系统内核以完成对各所述已创建网卡的网络资源配置。
[0010]可选的,所述在根据工作负载容器创建任务完成对目标容器集群的目标节点上的目标容器组的多个网卡的创建后,触发多网卡网络资源配置任务,具体为:在调用多容器网络接口插件根据所述工作负载容器创建任务完成对所述目标容器组的多个网卡的创建后,若所述多容器网络接口插件的与预设的多网卡容器网络接口插件对应的能力配置选项为启用时,基于预先创建的网络附件自定义资源调用所述多网卡容器网络接口插件以执行所述多网卡网络资源配置任务。
[0011]可选的,所述获取所述目标容器组上各已创建网卡与所述目标节点的虚拟网线对的第一映射数据,具体包括:获取所述目标容器组的容器组信息;以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息;根据所述宿主机单接口信息和所述已创建网卡的信息,生成所述第一映射数据。
[0012]可选的,所述以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息,具体为:以所述容器组信息为关键字,调用网络链接套接字以访问链接查询接口,访问所述操作系统内核获取所述宿主机端接口信息。
[0013]可选的,所述以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息,具体包括:判断所述目标容器组是否创建成功;若所述目标容器组创建成功,则以所述容器组信息为关键字,访问所述操作系统内核查询与所述宿主机端接口信息;若所述目标容器组未创建成功,则记录目标容器组异常日志并向容器服务核心组件抛出目标容器组异常报错信息以结束本次所述多网卡网络资源配置任务;判断所述目标容器组的各网卡是否创建成功;若各网卡均创建成功,则获取并记录与各所述已创建网卡对应的所述宿主机端接口信息;若各网卡未全部创建成功,则记录网卡异常日志并向所述容器服务核心组件抛出网卡异常报错信息以结束本次所述多网卡网络资源配置任务。
[0014]可选的,所述判断所述目标容器组是否创建成功,具体包括:
以所述容器组信息为关键字,向容器应用程序接口服务查询所述目标容器组的信息;判断是否能够查询到所述目标容器组的信息;如果是,则确定所述目标容器组创建成功;如果否,则确定所述目标容器组未创建成功。
[0015]可选的,所述判断所述目标容器组的各网卡是否创建成功,具体包括:访问所述操作系统内核查询所述目标节点的所述宿主机端接口信息;判断是否各网卡对应的所述宿主机端接口信息是否均存在;如果是,则确定各网卡均创建成功;如果否,则确定各网卡未全部创建成功。
[0016]可选的,所述获取各所述已创建网卡与网络资源配置参数的第二映射数据,具体包括:向容器应用程序接口服务请求访问所述目标容器组的容器组配置文件以获取所述目标容器组的自定义注解信息;解析所述自定义注解信息得到所述目标容器组的网卡网络资源配置信息;根据各所述已创建网卡的创建信息与所述网卡网络资源配置信息,生成所述第二映射数据。
[0017]可选的,所述根据各所述已创建网卡的创建信息与所述网卡网络资源配置信息,生成所述第二映射数据,具体包括:若所述网卡网络资源配置信息包含所述已创建网卡与对应的所述网络资源配置参数的映射数据,则以所述网卡网络资源配置信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种容器多网卡网络配置方法,其特征在于,包括:在根据工作负载容器创建任务完成对目标容器集群的目标节点上的目标容器组的多个网卡的创建后,触发多网卡网络资源配置任务;获取所述目标容器组上各已创建网卡与所述目标节点的虚拟网线对的第一映射数据;获取各所述已创建网卡与网络资源配置参数的第二映射数据;根据所述第一映射数据和所述第二映射数据生成所述已创建网卡、所述网络资源配置参数与所述虚拟网线对的第三映射数据;将所述第三映射数据传递至所述目标节点的操作系统内核以完成对各所述已创建网卡的网络资源配置。2.根据权利要求1所述的容器多网卡网络配置方法,其特征在于,所述在根据工作负载容器创建任务完成对目标容器集群的目标节点上的目标容器组的多个网卡的创建后,触发多网卡网络资源配置任务,具体为:在调用多容器网络接口插件根据所述工作负载容器创建任务完成对所述目标容器组的多个网卡的创建后,若所述多容器网络接口插件的与预设的多网卡容器网络接口插件对应的能力配置选项为启用时,基于预先创建的网络附件自定义资源调用所述多网卡容器网络接口插件以执行所述多网卡网络资源配置任务。3.根据权利要求1所述的容器多网卡网络配置方法,其特征在于,所述获取所述目标容器组上各已创建网卡与所述目标节点的虚拟网线对的第一映射数据,具体包括:获取所述目标容器组的容器组信息;以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息;根据所述宿主机单接口信息和所述已创建网卡的信息,生成所述第一映射数据。4.根据权利要求3所述的容器多网卡网络配置方法,其特征在于,所述以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息,具体为:以所述容器组信息为关键字,调用网络链接套接字以访问链接查询接口,访问所述操作系统内核获取所述宿主机端接口信息。5.根据权利要求3所述的容器多网卡网络配置方法,其特征在于,所述以所述容器组信息为关键字,访问所述操作系统内核查询与所述容器组信息对应的所述目标节点的宿主机端接口信息,具体包括:判断所述目标容器组是否创建成功;若所述目标容器组创建成功,则以所述容器组信息为关键字,访问所述操作系统内核查询与所述宿主机端接口信息;若所述目标容器组未创建成功,则记录目标容器组异常日志并向容器服务核心组件抛出目标容器组异常报错信息以结束本次所述多网卡网络资源配置任务;判断所述目标容器组的各网卡是否创建成功;若各网卡均创建成功,则获取并记录与各所述已创建网卡对应的所述宿主机端接口信息;若各网卡未全部创建成功,则记录网卡异常日志并向所述容器服务核心组件抛出网卡
异常报错信息以结束本次所述多网卡网络资源配置任务。6.根据权利要求5所述的容器多网卡网络配置方法,其特征在于,所述判断所述目标容器组是否创建成功,具体包括:以所述容器组信息为关键字,向容器应用程序接口服务查询所述目标容器组的信息;判断是否能够查询到所述目标容器组的信息;如果是,则确定所述目标容器组创建成功;如果否,则确定所述目标容器组未创建成功。7.根据权利要求5所述的容器多网卡网络配置方法,其特征在于,所述判断所述目标容器组的各网卡是否创建成功,具体包括:访问所述操作系统内核查询所述目标节点的所述宿主机端接口信息;判断是否各网卡对应的所述宿主机端接口信息是否均存在;如果是,则确定各网卡均创建成功;如果否,则确定各网卡未全部创建成功。8.根据权利要求1所述的容器多网卡网络配置方法,其特征在于,所述获取各所述已创建网卡与网络资源配置参数的第二映射数据,具体包括:向容器应用程序接口服务请求访问所述目标容器组的容器组配置文件以获取所述目标容器组的自定义注解信息;解析所述自定义注解信息得到所述目标容器组的网卡网络资源配置信息;根据各所述已创建网卡的创建信息与所述网卡网络资源配置信息,生成所述第二映射数据。9.根据权利要求8所述的容器多网卡网络配置方法,其特征在于,所述根据各所述已创建网卡的创建信息与所述网卡网络资源配置信息,生成所述第二映射数据,具体包括:若所述网卡网络资源配置信息包含所述已创建网卡与对应的所述网络资源配置参数的映射数据,则以所述网卡网络资源配置信息包含的所述映射数据为所述第二映射数据;若所述网卡网络资源配置信息不包含所述已创建网卡与对应的所述网络资源配置参数的映射数据,则根据默认网卡资源映射数据生成顺序生成所述第二映射数据。10.根据权利要求9所述的容器多网卡网络配置方法,其特征在于,所述根据默认网卡资源映射数据生成顺序生成所述第二映射数据,具体为:根据所述网卡网络资源配置信息中包含的所述网络资源配置参数的顺序,以首个所述网络资源配置参数为所述已创建网卡中的主网卡对应的所述网络资源配置参数,按照其余所述网络资源配置参数的排列顺序和其余所述已创建网卡的创建顺序对应为所述已创建网卡分配所述网络资源配置参数,生成所述第二映射数据。11.根据权利要求8所述的容器多网卡网络配置方法,其特征在于,所述根据各所述已创建网卡的创建信息与所述网卡网络资源配置信息,生成所述第二映射数据,具体包括:若所述网卡网络资源配置信息包含全部所述已创建网卡与对应的所述网络资源配置参数的映射数据,则以所述网卡网络资源配置信息包含的所述映射数据为所述第二映射数据;若所述网卡网络资源配置信息不包含所述已创建网卡与对应的所述网络资源配置参数的映射数据,则根据默认网卡资源映射数据生成顺序生成所述第二映射数据;
若所述网卡网络资源配置信息仅包含部分所述已创建网卡与对应的所述网络资源配置参数的映射数据,则根据所述默认网卡资源映射数据生成顺序生成其余所述已创建网卡与对应的所述网络资源配置参数的映射数据后,得到所述第二映射数据。12.根据权利要求11所述的容器多网卡网络配置方法,其特征在于,所述根据默认网卡资源映射数据生成顺序生成所述第二映射数据,具体为:根据所述网卡网络资源配置信息中包含的所述网络资源配置参数的顺序,以首...

【专利技术属性】
技术研发人员:孟志慧
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1