一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种请求处理方法及系统与流程

2022-04-09 05:45:27 来源:中国专利 TAG:
1.本技术涉及容器网络
技术领域
:,特别是涉及一种请求处理方法及系统。
背景技术
::2.contiv是一个用于跨虚拟机、裸机、公有云或私有云的异构容器部署的开源容器网络架构,并与主流容器编排系统集成。ovs(openvswitch)是一个具有工业级质量的多层虚拟交换机。3.相关技术中,利用contiv和ovs构建得到的集群中包括多个容器,并且,各容器在建立连接后可以直接进行通信。目前,各容器间连接的建立可以通过容器的容器网卡的ip地址建立,也可以通过容器对应服务(即service)的ip地址建立。但是,并不能同时通过各容器的容器网卡的ip地址和各容器对应服务的ip地址建立连接。4.具体的,contiv在监听到集群中配置的容器网卡的ip地址和服务的ip地址后,会更新服务与容器间的映射表项,并将该映射表项配置到ovs的管理者(controller)中。controller根据该映射表项生成对应的控制规则,并将该控制规则下发至ovs。ovs将接收到的控制规则添加在openflow流表。其中,openflow是一种网络通信协议。5.当集群中的某一容器(如容器a)通过另一容器(如容器b)的服务的ip地址与容器b建立连接时,ovs所存储的控制规则中包括一条规则,该规则用于将请求响应的源地址转换为该容器b的服务的ip地址。此时,当容器a直接访问容器b时,容器b所生成的请求响应的源地址为容器b的容器网卡的ip地址,该请求响应在转发至ovs后,ovs将根据其存储的控制规则,将该请求响应的源地址转换为容器b的服务的ip地址,从而导致容器a所接收到的请求响应的源地址与容器a发送的连接请求目的地址不一致,造成连接无法建立,影响容器间的访问的正常进行。技术实现要素:6.本技术实施例的目的在于提供一种请求处理方法及系统,用以解决集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证连接的建立以及容器间访问的正常进行。具体技术方案如下:7.本技术实施例提供了一种请求处理方法,应用于目标集群,目标集群包括第一主机,所述第一主机包括第一容器、第二容器和第一ovs,所述方法包括:8.当需要通过所述第二容器的容器网卡的ip地址与所述第二容器建立连接时,所述第一容器基于预先配置的第一路由,通过所述第一ovs向所述第二容器发送所述第一连接请求,其中,所述第一连接请求的目的地址为所述第二容器的容器网卡的ip地址,所述第一路由的下一跳为所述第二容器的容器网卡的ip地址;9.所述第二容器在接收到所述第一连接请求后,生成所述第一连接请求的第一请求响应,并基于预先配置的第二路由,通过所述第一ovs向所述第一容器发送所述第一请求响应,所述第二路由的下一跳为所述第一容器的容器网卡的ip地址;10.所述第一容器基于接收到的第一请求响应,确定与所述第二容器建立连接。11.可选的,所述第一主机还包括主机网关;12.所述方法还包括:13.当需要通过第二容器的服务的ip地址与所述第二容器建立连接时,所述第一容器基于预先配置的第三路由,通过所述第一ovs向所述主机网关发送第二连接请求,其中,所述第二连接请求的目的地址为所述第二容器的服务的ip地址,所述第三路由中的网络掩码表示服务网络、下一跳为所述主机网关的网关地址;14.所述主机网关根据预先存储的服务ip地址与容器网卡ip地址间的对应关系,以及所述第二连接请求的目的地址,将所述第二连接请求转发至所述第二容器;15.所述第二容器在接收到所述第二连接请求后,生成所述第二连接请求的第二请求响应,并基于预先配置的与所述第三路由对应的第四路由,通过所述第一ovs向所述主机网关发送所述第二请求响应,所述第二请求响应的目的地址为第一容器的容器网卡的ip地址,所述第四路由的下一跳为所述主机网关的网关地址;16.所述主机网关根据所述第二请求响应的目的地址,向所述第一容器发送所述第二请求响应;17.所述第一容器基于接收到的第二请求响应,确定与所述第二容器建立连接。18.可选的,所述第一主机还包括第一主机网卡,所述目标集群还包括第二主机,所述第二主机包括第三容器、第二ovs和第二主机网卡,所述第一主机和所述第二主机通过预设交换机通信连接;19.所述方法还包括:20.当需要通过所述第三容器的容器网卡的ip地址与所述第三容器建立连接时,所述第一容器基于预先配置的第五路由,通过所述第一ovs向所述第一主机网卡发送第三连接请求,所述第三连接请求的目的地址为所述第三容器的容器网卡的ip地址,所述第五路由的目的地址为所述第三容器的容器网卡的ip地址、出接口为所述第一容器的容器网卡的接口;21.所述第一主机网卡通过所述预设交换机,将接收到的第三连接请求转发至所述第二主机网卡;22.所述第二主机网卡基于接收到的第三连接请求的目的地址,通过所述第二ovs向所述第三容器发送所述第三连接请求;23.所述第三容器在接收到所述第三连接请求后,生成所述第三连接请求的第三请求响应,并基于预先配置的第六路由,通过所述第二ovs向所述第二主机网卡发送所述第三请求响应,其中,所述第三请求响应的目的地址为所述第一容器的容器网卡的ip地址,所述第六路由的目的地址为所述第一容器的容器网卡的ip地址,出接口为所述第三容器的容器网卡的接口;24.所述第二主机网卡通过所述预设交换机,将接收到的第三请求响应转发至所述第一主机网卡;25.所述第一主机网卡基于接收到的第三连接请求的目的地址,通过所述第一ovs向所述第一容器发送所述第三请求响应;26.所述第一容器基于接收到的第三请求响应,确定与所述第三容器建立连接。27.可选的,所述第一主机还包括第三主机网卡;28.所述方法还包括:29.当需要通过第三容器的服务的ip地址与所述第三容器建立连接时,所述第一容器基于预先配置的第三路由,通过所述第一ovs向所述主机网关发送第四连接请求,其中,所述第四连接请求的目的地址为所述第三容器的服务的ip地址,所述第三路由中的网络掩码表示服务网络、下一跳为所述主机网关的网关地址;30.所述主机网关基于接收到的第四连接请求的目的地址,按照预设地址转换规则,将所述第四连接请求的源地址转换为所述第三主机网卡的ip地址,得到第五连接请求,并将所述第五连接请求转发至所述第三主机网卡;31.所述第三主机网卡基于预先配置的第七路由,通过所述预设交换机和所述第二ovs,将接收到的第五连接请求转发至所述第三容器,其中,所述第七路由的出接口为所述第三主机网卡的接口,目的地址为所述第三容器的容器网卡的ip地址;32.所述第三容器在接收到所述第五连接请求后,生成所述第五连接请求的第四请求响应,并基于所述第八路由,通过所述第二ovs和所述预设交换机,向所述第三主机网卡发送所述第四请求响应,所述第八路由的出接口为所述第三容器的容器网卡的接口,目的地址为所述第三主机网卡的ip地址;33.所述第三主机网卡根据第九路由,向所述主机网关发送所述第四请求响应,所述第九路由的下一跳为所述主机网关的网关地址;34.所述主机网关在接收到所述第四请求响应后,按照所述预设地址转换规则,将所述第四请求响应的目的地址转换为所述第一容器的容器网卡的ip地址,得到第五请求响应,并通过所述第一ovs向所述第一容器发送所述第五请求响应;35.所述第一容器基于接收到的第五请求响应,确定与所述第三容器建立连接。36.本技术实施例提供了一种请求处理系统,所述系统包括第一主机,所述第一主机包括第一容器、第二容器和第一ovs;37.所述第一容器,用于当需要通过所述第二容器的容器网卡的ip地址与所述第二容器建立连接时,基于预先配置的第一路由,通过所述第一ovs向所述第二容器发送所述第一连接请求,其中,所述第一连接请求的目的地址为所述第二容器的容器网卡的ip地址,所述第一路由的下一跳为所述第二容器的容器网卡的ip地址;38.所述第二容器,用于在接收到所述第一连接请求后,生成所述第一连接请求的第一请求响应,并基于预先配置的第二路由,通过所述第一ovs向所述第一容器发送所述第一请求响应,所述第二路由的下一跳为所述第一容器的容器网卡的ip地址;39.所述第一容器,还用于基于接收到的第一请求响应,确定与所述第二容器建立连接。40.可选的,所述第一主机还包括主机网关;41.所述第一容器,还用于当需要通过第二容器的服务的ip地址与所述第二容器建立连接时,基于预先配置的第三路由,通过所述第一ovs向所述主机网关发送第二连接请求,其中,所述第二连接请求的目的地址为所述第二容器的服务的ip地址,所述第三路由中的网络掩码表示服务网络、下一跳为所述主机网关的网关地址;42.所述主机网关,用于根据预先存储的服务ip地址与容器网卡ip地址间的对应关系,以及所述第二连接请求的目的地址,将所述第二连接请求转发至所述第二容器;43.所述第二容器,还用于在接收到所述第二连接请求后,生成所述第二连接请求的第二请求响应,并基于预先配置的与所述第三路由对应的第四路由,通过所述第一ovs向所述主机网关发送所述第二请求响应,所述第二请求响应的目的地址为第一容器的容器网卡的ip地址,所述第四路由的下一跳为所述主机网关的网关地址;44.所述主机网关,还用于根据所述第二请求响应的目的地址,向所述第一容器发送所述第二请求响应;45.所述第一容器,还用于基于接收到的第二请求响应,确定与所述第二容器建立连接。46.可选的,所述第一主机还包括第一主机网卡,所述系统还包括第二主机,所述第二主机包括第三容器、第二ovs和第二主机网卡,所述第一主机和所述第二主机通过预设交换机通信连接;47.所述第一容器,还用于当需要通过所述第三容器的容器网卡的ip地址与所述第三容器建立连接时,基于预先配置的第五路由,通过所述第一ovs向所述第一主机网卡发送第三连接请求,所述第三连接请求的目的地址为所述第三容器的容器网卡的ip地址,所述第五路由的目的地址为所述第三容器的容器网卡的ip地址、出接口为所述第一容器的容器网卡的接口;48.所述第一主机网卡,用于通过所述预设交换机,将接收到的第三连接请求转发至所述第二主机网卡;49.所述第二主机网卡,用于基于接收到的第三连接请求的目的地址,通过所述第二ovs向所述第三容器发送所述第三连接请求;50.所述第三容器,用于在接收到所述第三连接请求后,生成所述第三连接请求的第三请求响应,并基于预先配置的第六路由,通过所述第二ovs向所述第二主机网卡发送所述第三请求响应,其中,所述第三请求响应的目的地址为所述第一容器的容器网卡的ip地址,所述第六路由的目的地址为所述第一容器的容器网卡的ip地址,出接口为所述第三容器的容器网卡的接口;51.所述第二主机网卡,还用于通过所述预设交换机,将接收到的第三请求响应转发至所述第一主机网卡;52.所述第一主机网卡,还用于基于接收到的第三连接请求的目的地址,通过所述第一ovs向所述第一容器发送所述第三请求响应;53.所述第一容器,还用于基于接收到的第三请求响应,确定与所述第三容器建立连接。54.可选的,所述第一主机还包括第三主机网卡;55.所述第一容器,还用于当需要通过第三容器的服务的ip地址与所述第三容器建立连接时,基于预先配置的第三路由,通过所述第一ovs向所述主机网关发送第四连接请求,其中,所述第四连接请求的目的地址为所述第三容器的服务的ip地址,所述第三路由中的网络掩码表示服务网络、下一跳为所述主机网关的网关地址;56.所述主机网关,还用于基于接收到的第四连接请求的目的地址,按照预设地址转换规则,将所述第四连接请求的源地址转换为所述第三主机网卡的ip地址,得到第五连接请求,并将所述第五连接请求转发至所述第三主机网卡;57.所述第三主机网卡,用于基于预先配置的第七路由,通过所述预设交换机和所述第二ovs,将接收到的第五连接请求转发至所述第三容器,其中,所述第七路由的出接口为所述第三主机网卡的接口,目的地址为所述第三容器的容器网卡的ip地址;58.所述第三容器,还用于在接收到所述第五连接请求后,生成所述第五连接请求的第四请求响应,并基于所述第八路由,通过所述第二ovs和所述预设交换机,向所述第三主机网卡发送所述第四请求响应,所述第八路由的出接口为所述第三容器的容器网卡的接口,目的地址为所述第三主机网卡的ip地址;59.所述第三主机网卡,还用于根据第九路由,向所述主机网关发送所述第四请求响应,所述第九路由的下一跳为所述主机网关的网关地址;60.所述主机网关,还用于在接收到所述第四请求响应后,按照所述预设地址转换规则,将所述第四请求响应的目的地址转换为所述第一容器的容器网卡的ip地址,得到第五请求响应,并通过所述第一ovs向所述第一容器发送所述第五请求响应;61.所述第一容器,还用于基于接收到的第五请求响应,确定与所述第三容器建立连接。62.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的请求处理方法步骤。63.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的请求处理方法。64.本技术实施例有益效果:65.本技术实施例提供的技术方案,第一容器在通过第二容器的容器网卡的ip地址与第二容器建立连接时,基于预先配置的第一路由,即下一跳为第二容器的容器网卡的ip地址链路路由,将第一连接请求发送至第二容器。第二容器在响应第一连接请求时基于预先配置的第二路由,也就是下一跳为第一容器的容器网卡的ip地址的链路路由,将第一请求响应发送至第一容器,从而完成连接建立。66.相比于相关技术,请求过程与响应过程均是基于预先配置的链路路由进行报文转发的,这使得响应过程不再受到第一容器通过第二容器的服务的ip地址与第二容器建立连接时的规则的影响,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。67.当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。附图说明68.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。69.图1-a为kubernetes集群中pod间tcp连接建立的第一种示意图;70.图1-b为kubernetes集群中pod间tcp连接建立的第二种示意图;71.图2为本技术实施例提供的kubernetes集群的一种结构示意图;72.图3为本技术实施例提供的请求处理方法的第一种流程图;73.图4为本技术实施例提供的连接建立过程的第一种信令图;74.图5为本技术实施例提供的请求处理方法的第二种流程图;75.图6为本技术实施例提供的连接建立过程的第二种信令图;76.图7为本技术实施例提供的请求处理方法的第三种流程图;77.图8为本技术实施例提供的连接建立过程的第三种信令图;78.图9为本技术实施例提供的请求处理方法的第四种流程图;79.图10为本技术实施例提供的连接建立过程的一种信令图;80.图11为本技术实施例提供的请求处理系统的一种结构示意图。具体实施方式81.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员基于本技术所获得的所有其他实施例,都属于本技术保护的范围。82.相关技术中,利用contiv和ovs构建得到的集群中,不同容器间可以通过容器的容器网卡的ip地址建立传输控制协议(transmissioncontrolprotocol,tcp)连接,或者通过容器对应服务的ip地址tcp连接建立。83.为便于理解,分别以图1-a和图1-b为例进行说明。图1-a为kubernetes集群中pod间tcp连接建立的第一种示意图,图1-b为kubernetes集群中pod间tcp连接建立的第二种示意图。其中,kubernetes(也可称为k8s)集群是利用contiv和ovs构建得到的,pod是kubernetes的最小管理单元,每一pod中可以包含一个或多个容器。同一pod中的每一容器都将共享相同的名称空间和本地网络,并且,同一pod中的每一容器之间可以通过本地主机(localhost)相互访问,因此,每一pod可以视为一个容器。84.现假设图1-a和图1-b中的pod1的容器网卡的ip地址为:10.86.36.10;pod2的容器网卡的ip地址为:10.86.36.20,服务的ip地址为:10.68.236.110。85.在图1-a所示的过程中,pod1可以通过pod2的服务的ip地址与pod2建立tcp连接。具体的,pod1发出的tcp请求将传输至ovs(即图1-a所示的阶段101),此时,该tcp请求的目的地址为pod2的服务的ip地址。ovs对接收到的tcp请求进行地址转换后,也就是将tcp请求的目的地址由上述pod2的服务的ip地址转换为pod2的容器网卡的ip地址。ovs将地址转换后的tcp请求转发至pod2(即图1-a所示的阶段102)。86.pod2在接收到tcp请求后,生成对应的tcp响应,该tcp响应的源地址为pod2的容器网卡的ip地址,目的地址为pod1的容器网卡的ip地址。pod2向ovs发送该tcp响应(即图1-a所示的阶段103)。ovs对接收到的tcp响应进行地址转换,也就是将tcp响应的源地址由pod2的容器网卡的ip地址转换为pod2的服务的ip地址,并转换后的tcp响应发送至pod1(即图1-a所示的阶段104)。87.在图1-a所示的过程中,各阶段对应的报文的源地址和目的地址如表1所示。88.表189.阶段阶段101阶段102阶段103阶段104源地址10.86.36.1010.86.36.1010.86.36.2010.68.236.110目的地址10.68.236.11010.86.36.2010.86.36.1010.86.36.1090.由于pod1所发送的tcp请求的目的地址与pod1接收到的tcp响应的源地址均为pod2的服务的ip地址,即表1所示的10.68.236.110,因此,pod1可以根据接收到的tcp响应确定与pod2建立tcp连接。91.当上述ovs中存储由图1-a所示过程中地址转换的规则时,pod1不可以通过pod2的容器网卡的ip地址与pod2建立tcp连接时。具体的,如图1-b所示,pod1发出的tcp请求将传输至ovs(即图1-b所示的阶段105),此时,该tcp请求的目的地址为pod2的容器网卡的ip地址。ovs将根据该目的地址,将tcp请求转发至pod2(即图1-b所示的阶段106)。92.pod2在接收到tcp请求后,生成对应的tcp响应,该tcp响应的源地址为pod2的容器网卡的ip地址,目的地址为pod1的容器网卡的ip地址。pod2向ovs发送该tcp响应(即图1-b所示的阶段107)。由于ovs中存储有将源地址为pod2的容器网卡的ip地址的tcp响应报文中的源地址转换为pod2的服务的ip地址的地址转换规则,此时,ovs会将接收到的tcp响应中的源地址由pod2的容器网卡的ip地址转换为pod2的服务的ip地址,并转换后的tcp响应发送至pod1(即图1-b所示的阶段108)。93.在图1-b所示的过程中,各阶段对应的报文的源地址和目的地址如表2所示。94.表295.阶段阶段105阶段106阶段107阶段108源地址10.86.36.1010.86.36.1010.86.36.2010.68.236.110目的地址10.68.236.2010.86.36.2010.86.36.1010.86.36.1096.由于pod1发送的tcp请求的目的地址是10.68.236.20,而pod1接收到的tcp响应的源地址却是10.68.236.110,二者不相同,因此,pod1可以确定接收到的tcp响应非法,此时,pod1根据接收到的tcp响应,拒绝与pod2建立连接。97.为了解决相关技术中的问题,本技术实施例提供了一种请求处理方法。该方法应用于目标集群。该目标集群中可以包括多个主机,每一主机可以包括多个容器,不同主机之间通过预设交换机进行通信连接。98.为便于理解,结合图2进行说明。图2为本技术实施例提供的kubernetes集群的一种结构示意图。99.在图2所示目标集群(即kubernetes集群)中,主机1包括两个容器(即pod1和pod2)和一个ovs(即ovs1)。主机2包括一个容器(即pod3)和一个ovs(即ovs2)。主机1和主机2通过预设交换机通信连接。在此,对上述kubernetes集群的每一主机所包括的pod的数量不作具体限定。100.在本技术实施例中,上述kubernetes集群的每一主机中除了包括上述pod和ovs以外,还可以包括主机网关和主机网卡,具体可参见下文描述,在此不作具体说明。101.在本技术实施例中,上述目标集群除了可以上述kubernetes集群以外,还可以为docker集群。其中,docker是一种开源的容器引擎。在此对上述目标集群不作具体限定。为便于理解,下面仅以目标集群为kubernetes集群为例进行说明,并不起任何限定作用。102.下面通过具体的实施例,对本技术实施例进行说明。103.如图3所示,图3为本技术实施例提供的请求处理方法的第一种流程图。该方法应用于上述目标集群,该目标集群包括第一主机,第一主机包括第一容器、第二容器和第一ovs,方法包括:该方法包括以下步骤。104.步骤s301,当需要通过第二容器的容器网卡的ip地址与第二容器建立连接时,第一容器基于预先配置的第一路由,通过第一ovs向第二容器发送第一连接请求,其中,第一连接请求的目的地址为第二容器的容器网卡的ip地址,第一路由的下一跳为第二容器的容器网卡的ip地址。105.在本技术实施例中,在构建上述目标集群时,针对目标集群中同一主机包括的每一容器,可以预先配置该容器的报文路由到其他容器的链路路由。该链路路由的下一跳为报文所需传输到容器的容器网卡的ip地址。106.当第一容器需要通过第二容器的容器网卡的ip地址与第二容器建立连接时,第一容器可以根据预先配置的下一跳为第二容器的容器网卡的ip地址的第一路由,将连接请求(记为第一连接请求)发送至第一ovs,第一ovs将接收到的第一连接请求转发至第二容器。107.上述第一连接请求的源地址为第一容器的容器网卡的ip地址,目的地址为第二容器的容器网卡的ip地址。108.在本技术实施例中,上述连接请求可以为上述tcp连接请求,也可以为tcp访问请求。在此,对上述第一连接请求不作具体限定。109.步骤s302,第二容器在接收到第一连接请求后,生成第一连接请求的第一请求响应,并基于预先配置的第二路由,通过第一ovs向第一容器发送第一请求响应,第二路由的下一跳为第一容器的容器网卡的ip地址。110.上述第一ovs在将上述第一连接请求转发至第二容器后,第二容器将接收到该第一连接请求。此时,第二容器将生成该第一连接请求的请求响应(记为第一请求响应)。111.上述第一请求响应的源地址为第二容器的容器网卡的ip地址,目的地址为第一容器的容器网卡的ip地址。112.第二容器在生成上述第一请求响应后,可以根据预先配置的下一跳为第一容器的容器网卡的ip地址的第二路由,将第一请求响应转发至上述第一ovs。第一ovs将接收到的第一请求响应转发至第一容器。113.步骤s303,第一容器基于接收到的第一请求响应,确定与第二容器建立连接。114.在本步骤中,第一容器在接收到的上述第一请求响应后,由于该第一请求响应的源地址为第二容器的容器网卡的ip地址,并且第一容器向第二容器发送的第一连接请求的目的地址为第二容器的容器网卡的ip地址,此时,第一容器可以确定其接收到的第一请求响应合法。第一容器可以确定与第二容器建立连接。115.在构建上述目标集群时,从主机的ovs中移除了ovs对服务的ip地址的处理逻辑。上述第一ovs为连接第一容器和第二容器的网桥。116.上述第一主机可以为上述目标集群中的任一主机,上述第一容器和第二同期可以为第一主机所包括的容器中的任意两个容器。在此,对上述第一主机、第一容器和第二容器不作具体限定。117.为便于理解,结合图2和图4对上述连接建立过程进行说明。图4为本技术实施例提供的连接建立过程的第一种信令图。118.在图3所示的请求处理方法中,仅涉及同主机中不同容器间的连接建立过程,因此,仅以图2中主机1所包括的pod1和pod2间的连接建立过程为例进行说明。119.如图4中,pod1基于上述第一路由,将请求1发送至ovs1。ovs1作为pod1与pod2间的网桥,将接收到的请求1转发至pod2。120.pod2在接收到请求1后,生成请求1对应的响应1。pod2基于上述第二路由,将响应1发送至ovs1。ovs1作为pod1与pod2间的网桥,将接收到的响应1转发至pod1。121.pod1在接收到响应1后,确定请求1的目的地址与响应1的源地址相同。此时,pod1确定与pod2建立连接。122.通过图3所示的方法,第一容器在通过第二容器的容器网卡的ip地址与第二容器建立连接时,基于预先配置的第一路由,即下一跳为第二容器的容器网卡的ip地址链路路由,将第一连接请求发送至第二容器。第二容器在响应第一连接请求时基于预先配置的第二路由,也就是下一跳为第一容器的容器网卡的ip地址的链路路由,将第一请求响应发送至第一容器,从而完成连接建立。123.相比于相关技术,请求过程与响应过程均是基于预先配置的链路路由进行报文转发的,这使得响应过程不再受到第一容器通过第二容器的服务的ip地址与第二容器建立连接时的规则的影响,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。124.一个可选的实施例中,上述第一主机还可以包括主机网关。基于该主机网关,本技术实施例还提供了一种请求处理方法。如图5所示,图5为本技术实施例提供的请求处理方法的第二种流程图。该方法包括以下步骤。125.步骤s501,当需要通过第二容器的服务的ip地址与第二容器建立连接时,第一容器基于预先配置的第三路由,通过第一ovs向主机网关发送第二连接请求,其中,第二连接请求的目的地址为第二容器的服务的ip地址,第三路由中的网络掩码表示服务网络、下一跳为主机网关的网关地址。126.在本技术实施例中,在构建上述目标集群中,针对目标集群中每一容器,可以在该容器内预先配置容器网络到服务网络的网络路由。127.例如,在上述第一容器中可以预先配置网络掩码表示服务网络、下一跳为主机网关的网关地址的网络路由(记为第三路由)。128.当上述第一容器需要通过第二容器的服务的ip地址与第二容器建立连接时,第一容器可以基于该第三路由,向第一ovs发送连接请求(记为第二连接请求),第一ovs将接收到的第二连接请求转发至第一主机的主机网关。129.上述第二连接请求的源地址为第一容器的容器网卡的ip地址,目的地址为第二容器的服务的ip地址。130.在本技术实施例中,针对上述目标集群中的每一容器,该容器的容器网卡的ip地址与该容器的服务的ip地址所在的网段是不同的。容器网卡的ip地址在容器网络的ip地址段中,服务的ip地址在服务网络的ip地址段中。不同ip地址段所对应的网络掩码是不同的。131.为便于理解,以上述第二容器为例进行说明,现假设第二容器的服务的ip地址为:10.68.0.1/16。也就是服务网络的某一地址段的首个ip地址为:10.68.0.0/16。当上述第二连接请求的目的地址为10.68.0.1/16时,由于该ip地址在服务网络所对应的地址段中,因此,该ip地址对应的网络掩码表示服务网络,此时,基于上述第三路由发送第二连接请求时,该第二连接请求将被转发至主机网关。132.步骤s502,主机网关根据预先存储的服务ip地址与容器网卡ip地址间的对应关系,以及第二连接请求的目的地址,将第二连接请求转发至第二容器。133.在本技术实施例中,在构建得到上述目标集群后,针对目标集群中的每一主机,该主机中将记录由每一容器的容器网卡ip地址与每一容器的服务的服务ip地址间的对应关系。上述主机网关在接收到的上述第二连接请求,可以根据该对应关系以及第二连接请求中的目的地址,确定与该目的地址对应的容器网卡ip地址,也就是确定对应关系中与第二容器的服务的ip地址所对应的容器网卡ip地址(即第二容器的容器网卡的ip地址)。此时,主机网卡可以基于该容器网卡ip地址,将接收到的第二连接请求转发至第二容器。134.步骤s503,第二容器在接收到第二连接请求后,生成第二连接请求的第二请求响应,并基于预先配置的与第三路由对应的第四路由,通过第一ovs向主机网关发送第二请求响应,第二请求响应的目的地址为第一容器的容器网卡的ip地址,第四路由的下一跳为主机网关的网关地址。135.第二容器在接收到上述第二连接请求后,可以生成该第二连接请求的第二请求响应。136.上述第二请求响应的源地址为第二容器的服务的ip地址,目的地址为第一容器的容器网卡的ip地址。137.在本技术实施例中,在构建上述目标集群时,除了预先配置的网络路由以外,还配置该网络路由所对应的链路路由,也就是下一跳为主机网关的网关地址的链路路由(记为第四路由)。138.第二容器在生成上述第二请求响应后,可以基于第四路由,将第二请求响应转发至第一ovs,第一ovs将接收到的第二请求响应转发至第一主机的主机网关。139.步骤s504,主机网关根据第二请求响应的目的地址,向第一容器发送第二请求响应。140.在本步骤中,主机网关在接收到的上述第二请求响应后,可以根据第二请求响应的目的地址,即上述第一容器的容器网卡的ip地址,将接收到的第二请求响应转发至第一容器。141.步骤s505,第一容器基于接收到的第二请求响应,确定与第二容器建立连接。142.在本步骤中,第一容器在接收到上述第二请求响应后,由于该第二请求响应的源地址为第二容器的服务的ip地址,并且,第一容器发出的第二连接请求的目的地址为第二容器的服务的ip地址,此时,第一容器可以确定其接收到的第二请求响应合法。第一容器可以确定与第二容器建立连接。143.上述第一ovs为连接第一容器与主机网关的网桥,以及连接第二容器与主机网关的网桥。144.为便于理解,结合图2和图6对上述连接建立过程进行说明。图6为本技术实施例提供的连接建立过程的第二种信令图。145.在图5所示的请求处理方法中,仅涉及同主机内不同容器通过容器的服务的ip地址建立连接的过程。因此,仍以上述图2中主机1所包括的pod1和pod2间的连接建立过程为例进行说明。146.在图6中,pod1基于上述第三路由,将请求2发送至ovs1。ovs1作为pod1与主机网关间的网桥,将接收到的请求2转发至主机网关。147.主机网关根据请求2中的目的地址与上述服务ip地址与容器网卡ip地址间的对应关系,将请求2转发至pod2。148.pod2在接收到的请求2后生成响应2,并基于上述第四路由,将响应2转发至ovs1。ovs1作为pod2与主机网关间的网桥,将接收到的响应2转发至主机网关。149.主机网关根据响应2的目的地址,将接收到的响应2转发至pod1。150.pod1在接收到响应2后,确定请求2的目的地址与响应2的源地址相同。此时,pod1确定与pod2建立连接。151.通过图5所示的方法,第一容器在通过第二容器的服务的ip地址与第二容器建立连接时,放弃了相关技术中根据控制规则生成的openflow进行报文转发的方式,丢弃了ovs中对容器的服务的ip地址的处理逻辑,通过预先配置的路由,实现第一容器与第二容器间连接请求的过程与请求响应的过程,此过程中并未进行地址转换,这使得第一容器接收到的第二请求响应的源地址与其发送的第一连接请求的目的地址一致,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。152.一个可选的实施例中,上述第一主机还包括第一主机网卡,上述目标集群还包括第二主机,第二主机包括第三容器、第二ovs和第二主机网卡,第一主机和第二主机通过预设交换机通信连接。153.一个可选的实施例中,基于上述第一主机网卡和上述第二主机,本技术实施例还提供了一种请求处理方法。如图7所示,图7为本技术实施例提供的请求处理方法的第三种流程图。该方法包括以下步骤。154.步骤s701,当需要通过第三容器的容器网卡的ip地址与第三容器建立连接时,第一容器基于预先配置的第五路由,通过第一ovs向第一主机网卡发送第三连接请求,第三连接请求的目的地址为第三容器的容器网卡的ip地址,第五路由的目的地址为第三容器的容器网卡的ip地址、出接口为第一容器的容器网卡的接口。155.在本技术实施例中,在构建上述目标集群中,针对不同容器跨主机建立连接的场景,预先配置了从容器路由到主机网卡的主机路由。例如,在上述第一容器中可以预先配置了目的地址为第三容器的容器网卡的ip地址、出接口为第一容器的容器网卡的接口的主机路由(记为第五路由)。156.当第一主机需要通过第三容器的容器网卡的ip地址跨主机与第三容器建立连接时,第一容器可以基于上述第五路由,向第一ovs发送连接请求(记为第三连接请求)。第一ovs将接收到的第三连接请求转发至地址主机的第一主机网卡。157.上述第三连接请求的源地址为第一容器的容器网卡的ip地址,目的地址为第三容器的容器网卡的ip地址。158.在本技术实施例中,上述目标集群中的每一主机存在对应的主机网卡,该主机网卡的数量可以为一个或多个。每一容器存在对应的容器网卡。其中,主机网卡为物理网卡,容器网卡为虚拟网卡。159.上述第一网卡可以为上述第一主机中的主网卡。第一主机可以通过切换网卡绑定(bonding)模式进行主备网卡的切换。在此,对上述第一主机中主机网卡的网卡bonding模式不作具体说明。160.步骤s702,第一主机网卡通过预设交换机,将接收到的第三连接请求转发至第二主机网卡。161.在本步骤中,第一主机网卡在接收到的上述第三连接请求后,可以根据该第三连接请求的目的地址,将该第三连接请求转发至预设交换机。预设交换机将接收到的第三连接请求转发至第二主机的第二主机网卡。162.上述第二主机网卡可参照上述对第一主机网卡的描述,在此不作具体说明。163.步骤s703,第二主机网卡基于接收到的第三连接请求的目的地址,通过第二ovs向第三容器发送第三连接请求。164.在本步骤中,第二主机网卡在接收到上述第三连接请求后,可以根据该第三连接请求的目的地址,将上述第三连接请求转发至第二ovs,第二ovs将接收到的第三连接请求转发至第三容器。165.步骤s704,第三容器在接收到第三连接请求后,生成第三连接请求的第三请求响应,并基于预先配置的第六路由,通过第二ovs向第二主机网卡发送第三请求响应,其中,第三请求响应的目的地址为第一容器的容器网卡的ip地址,第六路由的目的地址为第一容器的容器网卡的ip地址,出接口为第三容器的容器网卡的接口。166.第三容器在接收到上述第三连接请求后,可以生成该第三连接请求的请求响应(记为第三请求响应)。167.上述第三请求响应的源地址为第三容器的容器网卡的ip地址,目的地址为第一容器的容器网卡的ip地址。168.在本技术实施例中,在构建目标上述目标集群中,针对不同容器跨主机建立连接的场景,预先配置了从容器路由到主机网卡的主机路由。例如,在上述第三容器内可以预先配置了目的地址为第一容器的容器网卡的ip地址,出接口为第三容器的容器网卡的接口的主机路由(记为第六路由)。169.上述第三容器在生成上述第三请求响应后,可以基于上述第六路由,将生成的第三请求响应转发至第二ovs,第二ovs将接收到的第三请求响应转发至第二主机网卡。170.步骤s705,第二主机网卡通过预设交换机,将接收到的第三请求响应转发至第一主机网卡。171.在本步骤中,第二主机网卡在接收到上述第三请求响应后,可以根据该第三请求响应的目的地址,将该第三请求响应转发至上述预设交换机。预设交换机根据该第三请求响应的目的地址,将该第三请求响应转发至上述第一主机网卡。172.步骤s706,第一主机网卡基于接收到的第三连接请求的目的地址,通过第一ovs向第一容器发送第三请求响应。173.在本步骤中,第一主机网卡在接收到上述第三请求响应后,可以根据该第三请求响应的目的地址,将该第三请求响应转发至第一ovs,第一ovs将接收到的第三请求响应转发至第一容器。174.步骤s707,第一容器基于接收到的第三请求响应,确定与第三容器建立连接。175.在本步骤中,第一容器在接收到上述第三请求响应后,可以确定该第三请求响应的源地址为第三容器的容器网卡的ip地址,并且,其发送的第三连接请求的目的地址为第三容器的容器网卡的ip地址,此时,第一容器可以确定其接收到的第三请求响应合法。第一容器可以确定与第三容器建立连接。176.上述第一ovs为连接第一容器与第一主机网卡的网桥,上述第二ovs为连接第三容器与第二主机网卡的网桥。177.为便于理解,结合上述图2和图8对上述连接建立过程进行说明。图8为本技术实施例提供的连接建立过程的第三种信令图。178.在图7所示的请求处理方法中,仅涉及不同主机中的容器通过容器的容器网卡的ip地址建立连接的过程。因此,仅以上述图2中的主机1包括的pod1和主机2包括的pod3之间的连接建立过程为例进行说明。179.在图8中,pod1基于上述第五路由,将请求3发送至ovs1,ovs1将接收到的请求3转发至主机网卡1。主机网卡1将接收到的请求3转发至连接主机1和主机2的预设交换机。180.预设交换机根据请求3的目的地址,向主机2的主机网卡2发送请求3。181.主机网卡2将接收到的请求3转发至ovs2。ovs2将接收到的请求3转发至pod3。pod3响应接收到的请求3,生成响应3,并基于上述第六路由,将生成的响应3转发至ovs2,ovs2将接收到的响应3转发至主机网卡2。主机网卡2根据响应3的目的地址,将响应3发送至预设交换机。182.预设交换机根据响应3的目的地址,向主机1的主机网卡1发送响应3。183.主机网卡1将接收到的响应3转发至ovs1。ovs1将接收到的响应3转发至pod1。pod1在接收到的响应3后,确定接收到的响应3的源地址与其发送的请求3的目的地址相同。此时pod1可以确定与pod3建立连接。184.通过图7所示的方法,在通过第三容器的容器网卡的ip地址跨主机与第三容器建立连接时,连接请求过程和请求响应过程均是基于预先配置的路由信息进行报文转发的,这使得响应过程不再受到第一容器通过第三容器的服务的ip地址与第三容器建立连接时的规则的影响,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。185.一个可选的实施例中,上述第一主机还包括第三主机网卡。基于该第三主机网卡,本技术实施例还提供了一种请求处理方法。如图9所示,图9为本技术实施例提供的请求处理方法的第四种流程图。该方法包括以下步骤。186.步骤s901,当需要通过第三容器的服务的ip地址与第三容器建立连接时,第一容器基于预先配置的第三路由,通过第一ovs向主机网关发送第四连接请求,其中,第四连接请求的目的地址为第三容器的服务的ip地址,第三路由中的网络掩码表示服务网络、下一跳为主机网关的网关地址。187.在本步骤中,当第一容器需要通过第三容器的服务的ip地址跨主机与第三容器建立连接时,第一容器可以基于上述第三路由,将连接请求(记为第四连接请求)发送至第一ovs。第一ovs将接收到的第四连接请求转发至上述第一主机的主机网关。188.上述第四连接请求的源地址为第一容器的容器网卡的ip地址,目的地址为第三容器的服务的ip地址。189.步骤s902,主机网关基于接收到的第四连接请求的目的地址,按照预设地址转换规则,将第四连接请求的源地址转换为第三主机网卡的ip地址,得到第五连接请求,并将第五连接请求转发至第三主机网卡。190.在本技术实施例中,在构建上述目标集群中,在管理面中会创建两个网络,即基础(infra)网络和数据(data)网络。其中,infra网络是承载容器访问主机以及外部网络的基础,infra网络可移支持虚拟局域网(virtuallocalareanetwork,vlan)和虚拟扩展局域网(virtualextensiblelocalareanetwork,vxlan)类型,data网络是容器(如上述pod)连接的网络,并为infra网络和data网络分配对应的地址池。191.在上述data网络构建过程中,可以在目标集群的主机中配置预设地址转换规则,如互联网协议虚拟服务器(ipvirtualserver,ipvs)规则和控制对linux访问的防火墙(iptables)规则。其中,linux为一种操作系统内核。ipvs规则和iptables规则用于在不同模式下,对报文的第一进行地址转换,从而使得报文可以从主机网关传输至主机网卡。192.另外,在目标集群的主机中还配置了iptablesfilterinput规则。该iptablesfilterinput规则为上述iptables规则的过滤(filter)表中过滤报文的规则,该iptablesfilterinput规则用于放通从主机网关接收到的报文,使得报文可以通过主机上的主机网关流入主机内的服务,如流入主机中的每一容器内。例如,图5中主机网关对第二连接请求和第二请求响应的转发过程,以及图9中主机网关对第五连接请求和第五请求响应的转发过程均可用到该iptablesfilterinput规则。193.上述主机网关在接收到上述第四连接请求后,可以根据上述ipvs规则或iptables规则,对第四连接请求的源地址进行地址转换。也就是将第四连接请求额源地址转换为第三主机网卡的ip地址,得到第五连接请求。主机网关将该第五连接请求转发至上述第一主机的第三主机网卡。194.上述第五连接请求中的源地址为第三主机网卡的ip地址,目的地址为第三容器的服务的ip地址。195.上述第三主机网卡可以为上述第一主机网卡,也可以为第一主机中的其他主机网卡。在此,对上述第三主机网卡不作具体限定。196.步骤s903,第三主机网卡基于预先配置的第七路由,通过预设交换机和第二ovs,将接收到的第五连接请求转发至第三容器,其中,第七路由的出接口为第三主机网卡的接口,目的地址为第三容器的容器网卡的ip地址。197.在本技术实施例中,上述infra网络构建过程中,在目标集群的每一主机中创建了一条某一主机节点与另一主机中的容器间的直连路由。例如,在上述第一主机中预先配置了出接口为第三主机网卡的接口,目的地址为第三容器的容器网卡的ip地址的直连路由(记为第七路由)。198.上述第三主机网卡在接收到上述第五连接请求后,可以基于上述第七路由,将接收到的第五连接请求转发预设交换机。预设交换机将接收到的第五连接请求转发至第二ovs。第二ovs将接收到的第五连接请求转发至第三容器。199.步骤s904,第三容器在接收到第五连接请求后,生成第五连接请求的第四请求响应,并基于第八路由,通过第二ovs和预设交换机,向第三主机网卡发送第四请求响应,第八路由的出接口为第三容器的容器网卡的接口,目的地址为第三主机网卡的ip地址。200.上述第三容器在接收到上述第五连接请求后,可以生成该第五连接请求的请求响应(记为第四请求响应)。201.上述第四请求响应中的源地址为第三容器的服务的ip地址,目的地址为第三主机网卡的ip地址。202.在本技术实施例中,上述infra网络构建过程中,在目标集群的每一主机中创建了一条某一主机节点与另一主机中的容器间的直连路由。例如,在上述第二主机中预先配置了出接口为第三容器的容器网卡的接口,目的地址为第三主机网卡的ip地址(记为第八路由)。203.第三容器在生成上述第四连接请求后,可以基于上述第八路由,将生成的第四请求响应发送至第二ovs。第二ovs将接收到的第四请求响应转发至预设交换机。预设交换机将接收到的第四请求响应转发至第三主机网卡。204.步骤s905,第三主机网卡根据第九路由,向主机网关发送第四请求响应,第九路由的下一跳为主机网关的网关地址。205.在本技术实施例中,在目标集群的每一主机中,主机网卡与主机网关之间创建有一直连路由。例如,上述第三主机网卡与第一主机的主机网关间下一跳为主机网关的网关地址的直连路由(记为第九路由)。206.上述第三主机网卡在接收到上述第四请求响应后,可以根据上述第九路由,将该第四请求响应发送至第一主机的主机网关。207.步骤s906,主机网关在接收到第四请求响应后,按照预设地址转换规则,将第四请求响应的目的地址转换为第一容器的容器网卡的ip地址,得到第五请求响应,并通过第一ovs向第一容器发送第五请求响应。208.在本步骤中,主机网关在接收到上述第四请求响应后,可以上述预设地址转换规则,即上述ipvs规则或iptables规则,对第四请求响应中的目的地址进行地址转换。也就是将第四请求响应中的目的地址转换为第一容器的容器网卡的ip地址,得到第五请求响应,并将该第五请求响应转发至第一ovs。第一ovs将接收到的第五请求响应转发至第一容器。209.上述第五请求响应的源地址为第三容器的服务的ip地址,目的地址转换为第一容器的容器网卡的ip地址。210.步骤s907,第一容器基于接收到的第五请求响应,确定与第三容器建立连接。211.在本步骤中,第一容器在接收到上述第五请求响应后,可以确定第五请求响应的源地址为第三容器的服务的ip地址,并且其发送的第四连接请求的目的地址为第三容器的服务的ip地址,此时,第一容器可以确定接收到的第五请求响应合法。第一容器可以确定与第三容器建立连接。212.为便于理解,结合图2和图10对上述连接建立过程进行说明。图10为本技术实施例提供的连接建立过程的一种信令图。213.在图9所示的请求过程中,仅涉及不同主机内容器通过容器的服务的ip地址建立连接的过程。因此,仅以上述图2中的主机1包括的pod1和主机2包括的pod3之间的连接建立过程为例进行说明。214.在图10中,pod1基于上述第三路由,向ovs1发送请求4,ovs1将接收到的请求4转发至主机网关。主机网关根据上述ipvs规则或iptables规则,对请求2的源地址进行地址转换,得到请求5,并将请求5转发至主机网卡3。主机网卡3基于上述第七路由,将接收到的请求5转发至预设交换机。215.预设交换机将接收到的请求5转发至ovs2。216.ovs2将接收到的请求5转发至pod3。pod3响应请求5,生成响应4,并基于上述第八路由,将响应4发送至ovs2。ovs2将接收到的响应4转发至预设交换机。217.预设交换机将接收到的响应4转发至主机网卡3。218.主机网卡3在接收到上述响应4后,基于上述第九路由将接收到的响应4转发至主机网关。主机网关根据上述ipvs规则或iptables规则对响应4进行地址转换,得到响应5,并将响应5转发至ovs1,ovs1将接收到的响应5转发至pod1。219.通过图9所示的方法,第一容器在通过第三容器的服务的ip地址跨主机与第三容器建立连接时,放弃了相关技术中根据控制规则生成的openflow进行报文转发的方式,丢弃了ovs中对容器的服务的ip地址的处理逻辑,通过预先配置的路由,实现第一容器与第二容器间连接请求的过程与请求响应的过程,并且,地址转换过程也仅仅是针对连接请求的源地址以及请求响应的目的地址进行地址转换,并没有对连接请求的目的地址以及请求响应的原地址进行地址转换,这使得第一容器接收到的请求响应的源地址与其发送的连接请求的目的地址一致,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。220.基于同一种发明构思,根据上述本技术实施例提供的请求处理方法,本技术实施例还提供了一种请求处理系统。如图11所示,图11为本技术实施例提供的请求处理系统的一种结构示意图。该系统包括第一主机1101,第一主机1101包括第一容器1102、第二容器1103和第一ovs1104;221.上述第一容器1102,可以用于当需要通过第二容器1103的容器网卡的ip地址与第二容器1103建立连接时,基于预先配置的第一路由,通过第一ovs1104向第二容器1103发送第一连接请求,其中,第一连接请求的目的地址为第二容器1103的第一ip地址,第一路由的下一跳为第二容器1103的容器网卡的ip地址;222.上述第二容器1103,可以用于在接收到第一连接请求后,生成第一连接请求的第一请求响应,并基于预先配置的第二路由,通过第一ovs1104向第一容器1102发送第一请求响应,第二路由的下一跳为第一容器1102的容器网卡的ip地址;223.上述第一容器1102,还可以用于基于接收到的第一请求响应,确定与第二容器1103建立连接。224.可选的,上述第一主机1101还可以包括主机网关1105;225.上述第一容器1102,还可以用于当需要通过第二容器1103的服务的ip地址与第二容器1103建立连接时,基于预先配置的第三路由,通过第一ovs1104向主机网关1105发送第二连接请求,其中,第二连接请求的目的地址为第二容器1103的服务的ip地址,第三路由中的网络掩码表示服务网络、下一跳为主机网关1105的网关地址;226.上述主机网关1105,可以用于根据预先存储的服务ip地址与容器网卡ip地址间的对应关系,以及第二连接请求的目的地址,将第二连接请求转发至第二容器1103;227.上述第二容器1103,还可以用于在接收到第二连接请求后,生成第二连接请求的第二请求响应,并基于预先配置的与第三路由对应的第四路由,通过第一ovs1104向主机网关1105发送第二请求响应,第二请求响应的目的地址为第一容器1102的容器网卡的ip地址,第四路由的下一跳为主机网关1105的网关地址;228.上述主机网关1105,还可以用于根据第二请求响应的目的地址,向第一容器1102发送第二请求响应;229.上述第一容器1102,还可以用于基于接收到的第二请求响应,确定与第二容器1103建立连接。230.可选的,上述第一主机1101还可以包括第一主机网卡1106,上述请求处理系统还可以包括第二主机1107,第二主机1107包括第三容器1108、第二ovs1109和第二主机网卡1110,第一主机1101和第二主机1107通过预设交换机1111通信连接;231.上述第一容器1102,还可以用于当需要通过第三容器1108的容器网卡的ip地址与第三容器1108建立连接时,基于预先配置的第五路由,通过第一ovs1104向第一主机网卡1106发送第三连接请求,第三连接请求的目的地址为第三容器1108的容器网卡的ip地址,第五路由的目的地址为第三容器1108的容器网卡的ip地址、出接口为第一容器1102的容器网卡的接口;232.上述第一主机网卡1106,可以用于通过预设交换机,将接收到的第三连接请求转发至第二主机网卡1110;233.上述第二主机网卡1110,可以用于基于接收到的第三连接请求的目的地址,通过第二ovs1109向第三容器1108发送第三连接请求;234.上述第三容器1108,可以用于在接收到第三连接请求后,生成第三连接请求的第三请求响应,并基于预先配置的第六路由,通过第二ovs1109向第二主机网卡1110发送第三请求响应,其中,第三请求响应的目的地址为第一容器1102的容器网卡的ip地址,第六路由的目的地址为第一容器1102的容器网卡的ip地址,出接口为第三容器1108的容器网卡的接口;235.上述第二主机网卡1110,还可以用于通过预设交换机,将接收到的第三请求响应转发至第一主机网卡1106;236.上述第一主机网卡1106,还可以用于基于接收到的第三连接请求的目的地址,通过第一ovs向第一容器发送第三请求响应;237.上述第一容器1102,还可以用于基于接收到的第三请求响应,确定与第三容器1108建立连接。238.可选的,上述第一主机1101还可以包括第三主机网卡1112;239.上述第一容器1102,还可以用于当需要通过第三容器1108的服务的ip地址与第三容器1108建立连接时,基于预先配置的第三路由,通过第一ovs1104向主机网关1105发送第四连接请求,其中,第四连接请求的目的地址为第三容器1108的服务的ip地址,第三路由中的网络掩码表示服务网络、下一跳为主机网关1105的网关地址;240.上述主机网关1105,还可以用于基于接收到的第四连接请求的目的地址,按照预设地址转换规则,将第四连接请求的源地址转换为第三主机网卡1112的ip地址,得到第五连接请求,并将第五连接请求转发至第三主机网卡1112;241.上述第三主机网卡1112,可以用于基于预先配置的第七路由,通过预设交换机和第二ovs1109,将接收到的第五连接请求转发至第三容器1108,其中,第七路由的出接口为第三主机网卡1112的接口,目的地址为第三容器1108的容器网卡的ip地址;242.上述第三容器1108,还可以用于在接收到第五连接请求后,生成第五连接请求的第四请求响应,并基于第八路由,通过第二ovs1109和预设交换机,向第三主机网卡1112发送第四请求响应,第八路由的出接口为第三容器1108的容器网卡的接口,目的地址为第三主机网卡1112的ip地址;243.上述第三主机网卡1112,还可以用于根据第九路由,向主机网关1105发送第四请求响应,第九路由的下一跳为主机网关1105的网关地址;244.上述主机网关1105,还可以用于在接收到第四请求响应后,按照预设地址转换规则,将第四请求响应的目的地址转换为第一容器1102的容器网卡的ip地址,得到第五请求响应,并通过第一ovs1104向第一容器1102发送第五请求响应;245.上述第一容器1102,还可以用于基于接收到的第五请求响应,确定与第三容器1108建立连接。246.通过本技术实施例提供的系统,第一容器在通过第二容器的容器网卡的ip地址与第二容器建立连接时,基于预先配置的第一路由,即下一跳为第二容器的容器网卡的ip地址链路路由,将第一连接请求发送至第二容器。第二容器在响应第一连接请求时基于预先配置的第二路由,也就是下一跳为第一容器的容器网卡的ip地址的链路路由,将第一请求响应发送至第一容器,从而完成连接建立。247.相比于相关技术,请求过程与响应过程均是基于预先配置的链路路由进行报文转发的,这使得响应过程不再受到第一容器通过第二容器的服务的ip地址与第二容器建立连接时的规则的影响,解决了集群中通过容器的容器网卡的ip地址与容器建立连接时地址信息不一致的问题,从而保证了连接的建立以及容器间访问的正常进行。248.基于同一种发明构思,根据上述本技术实施例提供的请求处理方法,本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现上述任一请求处理方法的步骤。249.基于同一种发明构思,根据上述本技术实施例提供的请求处理方法,本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一请求处理方法。250.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。251.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。252.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统、计算机可读存储介质及计算机程序产品等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。253.以上仅为本技术的较佳实施例,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献