System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种适用于租户隔离网络环境下探针的实现方法和系统技术方案_技高网

一种适用于租户隔离网络环境下探针的实现方法和系统技术方案

技术编号:40912788 阅读:2 留言:0更新日期:2024-04-18 14:40
本发明专利技术涉及计算机技术领域,是一种适用于租户隔离网络环境下探针的实现方法和系统,具体方法包括:部署proxy agent并且在pod启动时注入sidecar容器;通过proxy agent代理组件接收来自kubelet组件发出的http/tcp请求;当proxy agent接受请求后,转译请求为exec指令;通过kubelet向请求pod中的sidecar容器执行转译后的exec请求;执行结果返回给proxy agent并将最终结果重新转义为http/tcp的请求响应。本发明专利技术解决了现有技术中,由于三层网络之间相互隔离,探针的使用难度大,node与pod之间网络的建立依赖于kubernetes的cni插件的问题。

【技术实现步骤摘要】

本专利技术涉及计算机,是一种适用于租户隔离网络环境下探针的实现方法和系统


技术介绍

1、随着容器技术的不断发展和广泛应用,kubernetes作为使用最广泛的容器编排,被使用在云原生的场景中,而容器服务的探针则在进一步保证容器服务的稳定性的同时也可以使其具有更灵活的调度策略。

2、在现有已公开的专利技术技术中,如申请公开号为cn115622913a的专利公开了一种网络控制器、http探针检测系统、方法及介质,包括:规则处理模块、报文处理模块和转译检测模块。通过报文处理模块根据规则处理模块下发的逻辑规则将原始的http探针转化为udp探针;再由目标容器上加载的转译检测模块重新将udp探针转化为http探针并检测目标容器上特定的http服务状态;最后转译检测模块将目标容器的http服务状态信息再返回报文处理模块。在保证三网分离的前提下通过udp探针实现探测目标容器网络的可达性,再由转译检测模块发送http探针检测目标容器真实的http服务状态信息,操作上与原生容器平台一致无割裂感,且操作简便无学习成本,同时提升网络的安全性。

3、上述专利解决租户隔离网络下的通信问题,采用的方式是引入新的全局网络(如kube-ovn插件)来作为租户隔离网络与node节点网络之间的通信,这样做的缺点是引入了新的中间网络从而降低了租户的隔离性和安全性,而本专利绕过了cni网络,将网络插件的特性弱化,使得探针的通用性更强,具有新颖性。


技术实现思路

1、本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。

2、本专利技术所要解决的技术问题是针对现有技术中,在kubernetes集群中如果使用ovn、neutron这种租户隔离的网络时,由于三层网络之间相互隔离,要使用探针就会变得困难,node与pod之间网络的建立依赖于kubernetes的cni插件。对于租户隔离网络,node节点上启动的pod容器无法确定具体是在那个租户或者子网之中,而探针的请求是通过node节点上的kubelet组件发起的,要能够顺利使用探针则需要kubelet能够访问到pod容器的内部,提出了一种适用于租户隔离网络环境下探针的实现方法和系统。

3、为了达到上述目的,本专利技术一种适用于租户隔离网络环境下探针的实现方法的技术方案包括如下步骤:

4、s1:部署proxy agent并且在pod启动时注入sidecar容器;

5、s2:通过proxy agent代理组件接收来自kubelet组件发出的http/tcp请求;

6、s3:当proxy agent接受请求后,转译请求为exec指令;

7、s4:通过kubelet向请求pod中的sidecar容器执行转译后的exec请求;

8、s5:执行结果返回给proxy agent并将最终结果重新转义为http/tcp的请求响应。

9、具体地,s1包括如下具体步骤:

10、s11:部署proxy agent独立容器,并创建sidecar容器镜像;

11、s12:在pod配置文件中,将原有的容器定义与新的sidecar容器定义整合;

12、s13:建立sidecar容器与目标应用程序容器的相互通信;

13、s14:使用kubectl命令将更新后的pod配置文件应用到kubernetes集群中,并确保sidecar容器能够正常启动。

14、具体地,s13中,所述相互通信的建立包括:通过容器间的共享网络命名空间、定义合适的网络端口映射或者通过共享数据卷进行实现。

15、具体地,s2中,所述proxy agent代理组件包括:proxy agent代理组件通常包括以下重要组件:代理服务器、、接收器、请求处理器、路由器、连接管理器、错误处理器、配置管理器。

16、具体地,所述代理服务器用于接收来自kubelet组件发出的http/tcp请求,并负责转发这些请求到目标服务器或应用程序;所述接收器用于监听和接收来自kubelet组件的请求;可以监听指定的端口,并等待来自kubelet的连接;所述请求处理器用于解析请求的协议、目标地址等信息,并根据配置的策略进行路由决策;所述路由器路由器模块决定了来自kubelet的请求如何被转发;它可能根据请求的目标地址、端口、协议等信息,使用转发规则或负载均衡策略来选择目标服务器;所述配置管理器用于管理proxy agent的配置信息,包括监听端口、转发规则、策略;它通常提供了一种配置文件或配置接口,用于动态更新代理服务器的配置。

17、具体地,所述错误处理器包括:记录错误日志、返回错误响应给kubelet,并根据配置的策略进行错误处理或重试。

18、具体地,s3包括如下具体步骤:

19、s31:通过proxyagent会构建一个可执行的指令,并将指令发送给执行环境,执行指令操作;

20、s32:通过proxyagent会将执行环境响应的结果转发给客户端;其中,客户端包括:http响应头部、主体和状态码;

21、s33:通过proxyagent清理占用的资源。其中,包括关闭端口、销毁进程等操作。

22、具体地,s31中,所述可执行的指令包括:http请求的方法、路径、头部和主体。

23、具体地,s4中,所述pod中的sidecar容器与主容器共享同一网络命名空间、存储卷和其他资源,并能够直接通过localhost进行通信。其中,sidecar容器可以与主容器协同工作,通过共享存储来实现数据同步或缓存功能。

24、另外,本专利技术一种适用于租户隔离网络环境下探针的实现系统包括如下模块:

25、部署模块、组件模块、请求转译模块、调度容器模块、响应转译模块;

26、所述部署模块用于部署proxy agent并且在pod启动时注入sidecar容器;

27、所述组件模块包括:proxyagent代理组件和kubelet组件;其中,proxyagent代理组件负责接收来自kubelet组件发出的http/tcp请求,并将其转发给目标pod中的sidecar容器;

28、kubelet组件负责管理节点上的pod和容器;

29、所述请求转译模块将接收到的http/tcp请求转译为exec指令;其中,包括目标pod中的sidecar容器的地址和执行所需的其他信息;

30、所述调度容器模块用于接收来自kubelet的转译请求,并执行转译后的exec指令;

31、所述响应转译模块将返回的执行结果重新转义为http/tcp请求的响应,并将最终的响应返回给请求的源头。

32、与现有技术本文档来自技高网...

【技术保护点】

1.一种适用于租户隔离网络环境下探针的实现方法,其特征在于:所述方法包括如下具体步骤:

2.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S1包括如下具体步骤:

3.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S13中,所述相互通信的建立包括:通过容器间的共享网络命名空间、定义合适的网络端口映射或者通过共享数据卷进行实现。

4.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S2中,所述proxy agent代理组件包括:proxy agent代理组件通常包括以下重要组件:代理服务器、、接收器、请求处理器、路由器、连接管理器、错误处理器、配置管理器。

5.根据权利要求4所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,所述代理服务器用于接收来自kubelet组件发出的http/tcp请求,并负责转发这些请求到目标服务器或应用程序;所述接收器用于监听和接收来自kubelet组件的请求;所述请求处理器用于解析请求的协议、目标地址等信息,并根据配置的策略进行路由决策;所述路由器根据请求的目标地址、端口、协议等信息,使用转发规则或负载均衡策略来选择目标服务器;所述配置管理器用于管理proxy agent的配置信息,包括监听端口、转发规则、策略。

6.根据权利要求4所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,所述错误处理器包括:记录错误日志、返回错误响应给kubelet,并根据配置的策略进行错误处理或重试。

7.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S3包括如下具体步骤:

8.根据权利要求7所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S31中,所述可执行的指令包括:HTTP请求的方法、路径、头部和主体。

9.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,S4中,所述pod中的sidecar容器与主容器共享同一网络命名空间、存储卷和其他资源,并能够直接通过localhost进行通信。

10.一种适用于租户隔离网络环境下探针的实现系统,其基于如权利要求1-9任一项所述的一种适用于租户隔离网络环境下探针的实现方法实现,其特征在于,所述系统包括以下模块:

...

【技术特征摘要】

1.一种适用于租户隔离网络环境下探针的实现方法,其特征在于:所述方法包括如下具体步骤:

2.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,s1包括如下具体步骤:

3.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,s13中,所述相互通信的建立包括:通过容器间的共享网络命名空间、定义合适的网络端口映射或者通过共享数据卷进行实现。

4.根据权利要求1所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,s2中,所述proxy agent代理组件包括:proxy agent代理组件通常包括以下重要组件:代理服务器、、接收器、请求处理器、路由器、连接管理器、错误处理器、配置管理器。

5.根据权利要求4所述的一种适用于租户隔离网络环境下探针的实现方法,其特征在于,所述代理服务器用于接收来自kubelet组件发出的http/tcp请求,并负责转发这些请求到目标服务器或应用程序;所述接收器用于监听和接收来自kubelet组件的请求;所述请求处理器用于解析请求的协议、目标地址等信息,并根据配置的策略进行路由决策;所述路由器根据请...

【专利技术属性】
技术研发人员:张剑
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1