System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及云计算,尤其涉及一种容器组访问网络的方法、系统、存储介质及设备。
技术介绍
1、当前容器云平台大部分基于k8s(kubernetes,容器云平台通用的开源容器编排架构,能够实现容器的自动调度、扩展、故障恢复等)框架,面向用户提供以应用管理为核心的功能体系,支撑容器化应用的运行和网络访问。k8s通过cni插件(k8s中负责为容器创建网络相关信息的组件,一般包括创建网络设备、分配ip、创建路由条目等功能)机制为集群内的容器化应用(运行形态是pod)提供网络服务。每个pod(容器组)均位于独立的网络命名空间,一般的cni插件会通过创建veth pair(作为虚拟网线用于连接两个虚拟网络设备)设备,其中一端连接到pod网络命名空间,另外一端连接到host(主机)网络命名空间,基于此将流量从pod所在网络命名空间引导到host网络命名空间,再流转到网卡,其到节点外的流量路径为“pod<->pod网络命名空间<->pod网卡<->host网络命名空间<->host网卡”,并且同一节点所有pod的跨节点或集群外的进、出网络流量最终会经过节点上的同一个特定网卡。这种情况下,当某一个pod需要占用大量网络带宽时,就会影响其他pod的访问。比如某个进行文件上传下载的pod,其在大文件上传、下载期间,可能会占用该节点网卡的全部带宽,此时对其他pod的访问将会出现极高的延迟,从而影响这些pod的正常功能。
2、针对这种情况,目前会为这一类占用大带宽的pod做限速处理,避免其无限制
技术实现思路
1、有鉴于此,本专利技术的目的在于提出一种容器组访问网络的方法、系统、存储介质及设备,用以解决目前针对集群节点上某一pod在进行文件上传、下载等占用大量带宽时导致其他pod功能受到影响的问题。
2、基于上述目的,本专利技术提供了一种容器组访问网络的方法,包括以下步骤:
3、为集群中的节点配置专用网卡,并将专用网卡的配置信息设置在专用cni插件中;
4、响应于kubernetes接收到用户发送的包含注解信息的容器组创建请求,创建节点的容器组和相应的容器组网络命名空间,并将注解信息传递至容器多网络插件;
5、通过容器多网络插件获取注解信息中的网络信息,并判断网络是否为与专用cni插件对应的网络;
6、响应于网络为与专用cni插件对应的网络,使用专用cni插件将专用网卡迁移至容器组网络命名空间,以使容器组在容器组网络命名空间内使用专用网卡进行网络访问,并使节点的其他容器组使用位于主机网络命名空间内的节点网卡进行网络访问。
7、在一些实施例中,方法还包括:
8、响应于kubernetes接收到用户发送的容器组删除请求,基于容器组删除请求对相应的待删除容器组执行删除操作;
9、通过专用cni插件实时监听容器组删除事件;
10、响应于专用cni插件监听到待删除容器组的删除事件,判断待删除容器组是否存在对应的注解信息;
11、响应于待删除容器组存在对应的注解信息,判断对应的注解信息中是否包含与专用cni插件对应的网络信息;
12、响应于对应的注解信息中包含与专用cni插件对应的网络信息,将专用网卡从待删除容器组的容器组网络命名空间移回至主机网络命名空间;
13、响应于对应的注解信息中不包含与专用cni插件对应的网络信息或者待删除容器组不存在对应的注解信息,使专用网卡保留在待删除容器组的容器组网络命名空间中。
14、在一些实施例中,使用专用cni插件将专用网卡迁移至容器组网络命名空间包括:
15、使用专用cni插件获取配置信息中专用网卡的名称,并基于名称执行网卡迁移命令,以将专用网卡迁移至容器组网络命名空间。
16、在一些实施例中,网卡迁移命令中包括专用网卡的名称和容器组所在的容器组网络命名空间的信息。
17、在一些实施例中,方法还包括:
18、通过专用cni插件定时动态加载集群中各节点的专用网卡的配置信息。
19、在一些实施例中,方法还包括:
20、cni插件的守护进程运行在集群中的各节点上。
21、在一些实施例中,方法还包括:
22、响应于网络不为与专用cni插件对应的网络,使用位于主机网络命名空间内的节点的节点网卡进行网络访问。
23、本专利技术的另一方面,还提供了一种容器组访问网络的系统,包括:
24、配置模块,配置用于为集群中的节点配置专用网卡,并将专用网卡的配置信息设置在专用cni插件中;
25、创建模块,配置用于响应于kubernetes接收到用户发送的包含注解信息的容器组创建请求,创建节点的容器组和相应的容器组网络命名空间,并将注解信息传递至容器多网络插件;
26、判断模块,配置用于通过容器多网络插件获取注解信息中的网络信息,并判断网络是否为与专用cni插件对应的网络;以及
27、访问网络模块,配置用于响应于网络为与专用cni插件对应的网络,使用专用cni插件将专用网卡迁移至容器组网络命名空间,以使容器组在容器组网络命名空间内使用专用网卡进行网络访问,并使节点的其他容器组使用位于主机网络命名空间内的节点网卡进行网络访问。
28、本专利技术的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
29、本专利技术的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
30、本专利技术至少具有以下有益技术效果:
31、本专利技术的容器组访问网络的方法,通过为节点配置专用网卡,并将专用网卡直通到容器组所在的网络命名空间,从而将上传、下载类等占用大量带宽流量的容器组与其他容器组的进出流量区分开,既能保证上传下载等的最大效率,又避免对其他容器组的正常功能造成影响;并且,专用网卡直通到容器组,其到节点外的流量路径更短,大大提升了网络性能。
本文档来自技高网...【技术保护点】
1.一种容器组访问网络的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,使用所述专用CNI插件将所述专用网卡迁移至所述容器组网络命名空间包括:
4.根据权利要求3所述的方法,其特征在于,所述网卡迁移命令中包括所述专用网卡的名称和所述容器组所在的所述容器组网络命名空间的信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,还包括:
7.根据权利要求1所述的方法,其特征在于,还包括:
8.一种容器组访问网络的系统,其特征在于,包括:
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的方法。
【技术特征摘要】
1.一种容器组访问网络的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求1所述的方法,其特征在于,使用所述专用cni插件将所述专用网卡迁移至所述容器组网络命名空间包括:
4.根据权利要求3所述的方法,其特征在于,所述网卡迁移命令中包括所述专用网卡的名称和所述容器组所在的所述容器组网络命名空间的信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要...
【专利技术属性】
技术研发人员:黄吉旺,吴栋,王玉东,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。