CN111654559B - 一种容器数据传输方法及装置 - Google Patents
一种容器数据传输方法及装置 Download PDFInfo
- Publication number
- CN111654559B CN111654559B CN202010479777.6A CN202010479777A CN111654559B CN 111654559 B CN111654559 B CN 111654559B CN 202010479777 A CN202010479777 A CN 202010479777A CN 111654559 B CN111654559 B CN 111654559B
- Authority
- CN
- China
- Prior art keywords
- container
- network
- switch
- host
- data packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种容器数据传输方法及装置,该方法包括:源容器生成待发送的数据包,数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;该源容器通过源容器所在的宿主机,向宿主机对应的交换机发送数据包;其中,交换机用于将数据包发送至目的容器。采用上述方法,本申请实现在交换机中进行网络配置,将网络管理与容器管理解耦,便于网络技术领域和容器技术领域的工作人员分别展开工作;且实现容器IP的固定;提高容器间数据传输的性能。
Description
技术领域
本申请涉及金融科技(Fintech)的网络技术领域,尤其涉及一种容器数据传输方法及装置。
背景技术
近年来,随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出更高的要求。而在计算机技术领域中,容器起着至关重要的地位。
Kubernetes是Google开源的容器集群管理系统。在应用容器引擎Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。Flannel则是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的IP地址。现有技术中,容器是配置在一个overlay网络中;而Overlay网络中的每个节点都有一个子网,用于内部分配IP地址,且由于Overlay网络中的Docker容器的IP由该Docker容器所在的宿主机的网段确定,因此,Docker容器的IP是无法固定的;容器的IP地址会随着容器的漂移或容器的重启等丢失。另外,由于Flannel为软件实现的网络,容器间若进行数据传输,需要基于物理设备架构在上层进行传输,且传输过程中需要多次编解码和转发,性能较差。
因此,现在亟需一种容器数据传输方法及装置,可以增加容器间数据传输速度,固定容器的IP,防止容器IP丢失而造成容器间数据无法传输。
发明内容
本发明实施例提供一种容器数据传输方法及装置,可以增加容器间数据传输速度,固定容器的IP,防止容器IP丢失而造成容器间数据无法传输。
第一方面,本发明实施例提供一种容器数据传输方法,该方法包括:
源容器生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述源容器通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器。
采用上述方法,源容器生成包括源容器IP和目的容器IP的数据包,通过源容器所在宿主机发送至交换机。其中,容器的网络配置包含容器名称和该容器的IP;网络配置是由容器所在宿主机对应的交换机的配置信息确定,该配置信息中包括交换机的网段;该容器的IP是根据交换机网段确定的。也就是说,本实施例中,事先在交换机中设置交换机的网段,以及交换机的网段中的每个IP对应的子网掩码、网络设备代码等配置信息。交换机可以将该配置信息发送到网络平台。网络平台根据该配置信息中交换机的网段,为创建的容器确定交换机的网段中的各IP中的一个IP,分配为容器IP;并将该IP在配置信息中对应的子网掩码、网络设备代码等配置信息作为该容器的网络配置。或者,交换机中也可以设置有程序以确定在一定周期内采用哪种配置信息,并将该配置信息发送至网络平台,网络平台根据该配置信息为创建的容器分配网络配置。因此,交换机中含有容器的网络配置,在接收到源容器发送的数据包后,可以将该数据包准确路由到目的容器。相比于现有技术中在宿主机上直接进行容器管理和网络配置,且容器的IP来自于该容器所属的宿主机的网段,容器一旦漂移到另一个宿主机上,由于宿主机间的网段不同,容器的IP无法在当前宿主机上使用。本申请实现容器的IP由交换机的网段确定,并在网络平台中记录了容器的名称和该容器的IP。因此,当容器在该交换机的机架下发生重启或漂移,仍然可以获取原IP,在该交换机下的宿主机中仍可使用该原IP,实现了容器IP的固定。此外,事先在交换机中设置配置信息,并将该配置信息发送至网络平台,无须在网络平台中设置配置信息。如此,将网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。又由于容器间通过交换机进行数据传输,因此,不需要将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源。
在一种可能的设计中,所述源容器通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包,包括:所述源容器依次通过预先建立的第一连接、所述宿主机的网桥及所述宿主机的网卡,将所述数据包发送至所述交换机;所述第一连接为所述源容器的网卡与所述宿主机的网桥之间的连接。
采用上述方法,通过设置第一连接使得源容器与网桥形成通道,进一步,与宿主机的网卡形成通道,实现了容器所在的宿主机与交换机之间建立了通信的通道,以使容器之间可以通过交换机进行数据传输,相比于传统的容器之间直接进行数据传输(无法固定容器的IP),本实施例中,结合网络平台进行IP分配,再结合交换机实现容器之间的数据传输,整体上保证了容器IP的固定,防止漂移。
第二方面,本发明实施例提供一种容器数据传输方法,该方法包括:
交换机接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器。
采用上述方法,交换机接收包含源容器的IP和目的容器的IP的数据包。由于容器的网络配置是根据该容器所在的交换机的配置信息确定的,且容器的IP为根据交换机的网段确定的。因此,交换机根据目的容器的IP可以确定目的容器,进而向目的容器发送数据包。相比于现有技术通过在物理设备的上层进行数据传输,容器的IP根据宿主机的网段确定来说,本申请可以在交换机中设置配置信息并存储,进一步使得网络平台根据该交换机的配置信息确定容器的网络配置,以使得在容器漂移或重启等情况下,该容器可以在网络平台中重新获取该容器的原IP,在该交换机的机架下,继续使用原IP,实现容器IP的固定。且由于容器间通过交换机进行数据传输,因此,不需要将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源。另外,由于在交换机中设置配置信息,使得网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。
在一种可能的设计中,交换机接收源容器通过所述源容器所在的宿主机发送的数据包,包括:所述交换机通过第一传输通道接收所述数据包,所述第一传输通道依次包括所述源容器的网卡、第一连接、所述源容器所在的宿主机的网桥及所述源容器所在的宿主机的网卡;所述第一连接为所述源容器的网卡与所述源容器所在的宿主机的网桥之间的连接;所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器,包括:所述交换机通过第二传输通道发送所述数据包给所述目的容器,所述第二传输通道依次包括所述目的容器所在的宿主机的网卡、所述目的容器所在的宿主机的网桥、第二连接及所述目的容器的网卡;所述第二连接为所述目的容器的网卡与所述目的容器所在的宿主机的网桥之间的连接。
采用上述方法,交换机通过第一传输通道和第二传输通道,即,源容器的网卡、第一连接、其所在的宿主机的网桥及其所在的宿主机的网卡;和目的容器的网卡、第二连接、其所在的宿主机的网桥及其所在的宿主机的网卡。实现容器间数据传输,相比于现有技术中通过物理设备的上层进行数据传输来说,本申请通过交换机传输无需对数据包进行封装以及解封装,加快数据传输速度,减少资源的占用,提高容器数据传输的性能。
第三方面,本发明实施例提供一种创建容器的方法,该方法包括:
宿主机接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;所述宿主机根据所述容器的名称从网络平台获取包括所述容器的IP的网络配置;所述网络配置是根据所述宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;所述宿主机生成所述容器并为所述容器配置所述网络配置;所述容器根据所述网络配置进行数据传输。
采用上述方法,网络平台从交换机获取配置信息,以使得在宿主机接收管理平台发送的包括容器的名称的容器创建请求时,为该容器分配IP,并将该容器的名称与为该容器分配的IP绑定。防止容器发生漂移或重启的时,容器的IP丢失。交换机的配置信息由网络平台和宿主机获取。使得网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。宿主机生成该容器并为该容器配置网络配置;以使得容器根据网络配置准确确定其所在宿主机以及交换机,实现将数据包传输至交换机,由交换机发送数据包至目的容器,进一步实现容器间通过物理设备,即,宿主机-交换机-宿主机,进行数据传输。由此,提高容器间数据传输的性能。
在一种可能的设计中,所述宿主机生成所述容器并为所述容器配置所述网络配置之后,还包括:所述宿主机生成所述容器的网卡,并生成所述容器的网卡与所述宿主机的网桥之间的第一连接;所述宿主机的网桥用于连接所述宿主机的网卡。
采用上述方法,在宿主机生成容器,并为其配置网络配置之后,宿主机还生成该容器的网卡。如此,使得容器中可以包含多个网卡,即,宿主机可以为该容器设置内网卡、外网卡,或者根据容器数据传输所应用的网络类型分别设置多个网卡,提高容器间数据传输的性能。
在一种可能的设计中,所述容器的网卡为多个;所述容器中的网卡至少包括一个或多个内网卡和\或外网卡;所述内网卡连接至少一个网桥,所述外网卡连接至少一个网桥,所述内网卡连接的网桥不同于所述外网卡连接的网桥。
采用上述方法,容器包含多个内网卡或外网卡,多个内网卡对应至少一个网桥,多个外网卡对应至少一个网桥。可以使得容器与内网容器进行数据传输,也可以与外网容器进行数据传输。提高容器间数据传输的性能。
在一种可能的设计中,所述网络配置包括容器名称、容器IP、子网掩码和网关;所述网关为所述交换机的IP;其中,所述容器IP对应唯一的所述容器名称和所述子网掩码,所述容器IP和所述子网掩码为所述交换机可识别的。
采用上述方法,通过在网络配置中配置容器IP,可以使得容器间进行数据传输时可以获得容器IP,便于容器间进行数据传输。通过在网络配置中配置子网掩码,可以使得交换机确定该源容器与目的容器所在宿主机是否为同一个网段,以使得交换机确定为该容器选择的路由。通过在网络配置中配置网关,使得交换机可以接收源容器发送的数据包。如此,实现不同网段的宿主机中的容器和同一网段的宿主机中的容器间的数据传输。提高容器间数据传输的性能。
第四方面,本发明实施例提供一种创建容器的方法,该方法包括:
网络平台接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;所述网络平台根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输。
采用上述方法,网络平台接收管理平台发送的包含容器的名称和该容器所在宿主机的容器申请请求,并根据该容器所在宿主机确定该宿主机所在的交换机,可以获得该容器对应的网络配置,进而根据网络配置为该容器分配IP。如此,在容器生成过程中,就将容器名称与容器IP绑定,固定容器IP。且由于在交换机中设置配置信息,网络平台获取该配置信息,使得网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。将该网络配置发送至宿主机,以使得宿主机为该容器进行网络配置。如此,容器可以根据该容器的网络配置将数据包发送至对应的交换机,交换机也可以根据该容器的网络配置接收数据包,并发送至目的容器。该过程中无需将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源,提升容器间数据传输性能。
在一种可能的设计中,所述网络平台接收管理平台发送的容器申请请求之前,所述方法还包括:所述网络平台接收所述交换机发送的配置信息;所述配置信息包括所述交换机下各宿主机上的各容器的网络配置。
采用上述方法,网络平台接收交换机发生的配置信息,以使得为各宿主机上的容器进行网络配置。使得可以直接在交换机设置配置信息,无需了解容器管理技术,因此,实现将网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。
第五方面,本发明实施例提供一种容器数据传输装置,该装置包括:
处理单元,用于生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
收发单元,用于通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器。
第六方面,本发明实施例提供一种容器数据传输装置,该装置包括:
收发单元,用于接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
所述收发单元还用于,通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器。
第七方面,本发明实施例提供一种创建容器的装置,该装置包括:
收发单元,用于接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;
处理单元,用于根据所述容器的名称从网络平台获取包括所述容器的IP的网络配置;所述网络配置是根据所述宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;
所述处理单元还用于,生成所述容器并为所述容器配置所述网络配置;所述容器通过所述网络配置进行数据传输。
第八方面,本发明实施例提供一种创建容器的装置,该装置包括:
收发单元,用于接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;
处理单元,用于根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输。
第九方面,本发明实施例还提供一种计算设备,包括:存储器,用于存储计算机程序;处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如第一方面、第二方面、第三方面、第四方面的各种可能的设计中所述的方法。
第十方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读程序,当计算机读取并执行所述计算机可读程序时,使得计算机执行如第一方面、第二方面、第三方面、第四方面的各种可能的设计中所述的方法。
本发明的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种容器数据传输方法的架构示意图;
图2为本发明实施例提供的一种容器管理方法的架构示意图;
图3为本发明实施例提供的一种宿主机的架构示意图;
图4为本发明实施例提供的一种容器数据传输方法的流程示意图;
图5为本发明实施例提供的一种容器数据传输方法的流程示意图;
图6为本发明实施例提供的一种创建容器方法的流程示意图;
图7为本发明实施例提供的一种创建容器方法的流程示意图;
图8为本发明实施例提供的又一种容器数据传输方法的流程示意图;
图9为本发明实施例提供的又一种创建容器方法的流程示意图;
图10为本发明实施例提供的一种容器数据传输装置的装置示意图;
图11为本发明实施例提供的一种容器数据传输装置的装置示意图;
图12为本发明实施例提供的一种创建容器装置的装置示意图;
图13为本发明实施例提供的一种创建容器装置的装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图所示,图1为本发明实施例提供的一种容器数据传输方法的架构示意图,图2为本发明实施例提供的一种容器管理方法的架构示意图。管理平台101为图2中容器管理方法的入口,可以是一个或一组服务器,用于接收容器申请请求和容器创建请求等,并根据容器申请请求和容器创建请求等与宿主机105和网络平台102进行通讯;其中,一个管理平台101可以同时与至少一个网络平台102和至少一个机架103中的各宿主机105进行通讯。网络平台102可以是一个或一组服务器,提供对外的HTTP接口,可以与交换机104进行通讯,获得交换机104中的配置信息,也可以在网络平台102中直接设置网络配置等;其用于管理容器IP、分配容器IP、回收容器IP、查询容器IP等;其中,一个网络平台102可以同时与至少一个交换机104和交换机104中的各宿主机105进行通讯。交换机104可以连接至少一个网络平台102和至少一个宿主机105。交换机104还可以接收配置信息,或根据相关规则设置或程序设置生成配置信息,并将配置信息发送至网络平台102;还可以为容器间的数据传输进行路由。交换机104和交换机104之间也可以通过实体线连接,以实现机架103之间的容器间数据传输。宿主机105内包含至少一个容器,且与该宿主机105所在的机架103中的交换机104通过实体线连接。宿主机105可以从网络平台102中获取网络配置等。
本实施例中,宿主机105内部包含如图2所示的:Agent201、Docker202、容器203、容器网络接口插件204(下文简称容器插件),并通过Agent201、Docker202、容器203、容器插件204生成容器,并为该容器进行网络配置。其中,本申请新增容器插件204的功能,使得宿主机可以支持在物理架构中进行通信,进而实现本申请中容器间通过交换机进行数据传输的方法。
如图3所示,图3为本发明实施例提供的一种宿主机的架构示意图;其中,宿主机105中包含至少一个容器301,容器301中包括至少一个网卡,或者可以包括至少一个内网卡和至少一个外网卡;宿主机105中至少设置一个内网网桥302、一个外网网桥303,容器301中内网卡与内网网桥302连接(如通过第一连接或第二连接)、外网卡与外网网桥303连接(如通过第一连接或第二连接);容器301中还可以包含各种网络类型的网卡,例如,电信网络类型的网卡和移动网络类型的网卡等,相应的,宿主机105中可以分别设置电信网络类型的网桥、移动网络类型的网桥等分别与电信网络类型的网卡和移动网络类型的网卡等连接,实现多网络容器间的数据传输。宿主机105中还包括网卡304。网卡304分别与内网网桥302、外网网桥303连接。以下为了便于描述,将源容器所在的宿主机称作源宿主机,目的容器所在的宿主机称作目的宿主机。
基于此,本发明实施例提供了一种容器数据传输方法的流程,如图4所示,包括:
步骤401、源容器生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
此处,如上述图1中的架构,至少一个机架103中的至少一个宿主机105可以为一个应用软件的服务器集群;例如,银行APP的正常运行,需要后台服务器集群来支持,则可以通过至少一个机架103来运行该银行APP;若银行APP中的理财系统包括用户管理模块和理财业务模块,用户管理模块和理财业务模块的正常运行则需要至少一个宿主机支持;如此,可以在用户管理模块和理财业务模块中分别设置至少一个容器,帮助用户管理模块管理用户信息和帮助理财业务模块管理理财业务信息。当用户办理理财业务时,用户管理模块中的相应容器会将该用户办理的理财业务信息发送至理财业务模块中的相应容器。则该过程中,用户管理模块中的源容器发送包含理财业务信息的数据包,该数据包中包括用户管理模块中的源容器的IP和理财业务模块中的目的容器IP。
其中,容器的网络配置中包括容器的IP和容器的名称,容器的网络配置是根据容器所在的宿主机105所在的机架103对应的交换机104的配置信息确定的。
需要说明的是,交换机事先配置了容器的配置信息,之后交换机将配置信息发送至网络平台中,由网络平台存储该交换机所在网段的各个容器IP和子网掩码等配置信息。后续,管理平台向宿主机发起容器创建请求时,先对容器分配容器名称,之后发送请求给网络平台,网络平台针对该宿主机对应交换机所在的网段,分配一个容器IP给容器,并且网络平台存储容器名称与容器IP之间的映射关系,并该映射关系作为网络配置,通过上述过程,完成容器的创建。
完成了上述的容器创建过程,后续进行数据传输时,源容器生成待发送的数据包进行发送即可,该所述数据包包括源容器的IP和目的容器的IP。
步骤402、所述源容器通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器。
即,容器发送数据包,是通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包,当交换机接收到数据包,从该数据包中确定目的容器的IP,然后交换机基于之前存储的各个容器IP的配置信息,即可确定目的容器,并将数据包发送至目的容器中。
此处,在上一个示例中,用户管理模块中的源容器通过该源容器所在的源宿主机105,将包含理财业务信息的数据包发送至理财业务模块中的目的容器,用户管理模块和理财业务模块可以运行在同一个宿主机105上,也可以运行在不同宿主机105上,当用户管理模块和理财业务模块运行在不同宿主机105上时,用户管理模块和理财业务模块分别所在的两个宿主机105可以属于同一个机架103或分属于两个不同的机架103。理财业务模块中的目的容器通过该目的容器所在的目的宿主机105接收该数据包。
其中,用户管理模块中的源容器发送包含理财业务信息的数据包至该源宿主机105所在的机架103中的交换机104,交换机104再将该数据包发送至理财业务模块所在的目的宿主机105中的目的容器中。这里,所说的源容器的源宿主机105和目的容器的目的宿主机105可以是同一个宿主机,也可以是两个宿主机;当用户管理模块和理财业务模块分别所在的宿主机105分属于两个机架103时,则用户管理模块所在的机架103中的交换机104接收到该数据包后,将该数据包发送至理财业务模块所在的机架103中的交换机104,再由理财业务模块机架103中的交换机104发送至目的容器。其中,不同机架中的交换机可以通过有线连接,并互相存储对方交换机的配置信息,实现不同机架中的容器间通信。
采用上述方法,源容器生成包括源容器IP和目的容器IP的数据包,通过源容器所在宿主机发送至交换机。其中,容器的网络配置包含容器名称和该容器的IP;网络配置是由容器所在宿主机对应的交换机的配置信息确定,该配置信息中包括交换机的网段;该容器的IP是根据交换机网段确定的。也就是说,本实施例中,事先在交换机中设置交换机的网段,以及交换机的网段中的每个IP对应的子网掩码、网络设备代码等配置信息。交换机可以将该配置信息发送到网络平台。网络平台根据该配置信息中交换机的网段,为创建的容器确定交换机的网段中的各IP中的一个IP,分配为容器IP;并将该IP在配置信息中对应的子网掩码、网络设备代码等配置信息作为该容器的网络配置。或者,交换机中也可以设置有程序以确定在一定周期内采用哪种配置信息,并将该配置信息发送至网络平台,网络平台根据该配置信息为创建的容器分配网络配置。因此,交换机中含有容器的网络配置,在接收到源容器发送的数据包后,可以将该数据包准确路由到目的容器。相比于现有技术中在宿主机上直接进行容器管理和网络配置,且容器的IP来自于该容器所属的宿主机的网段,容器一旦漂移到另一个宿主机上,由于宿主机间的网段不同,容器的IP无法在当前宿主机上使用。本申请实现容器的IP由交换机的网段确定,并在网络平台中记录了容器的名称和该容器的IP。因此,当容器在该交换机的机架下发生重启或漂移,仍然可以获取原IP,在该交换机下的宿主机中仍可使用该原IP,实现了容器IP的固定。此外,事先在交换机中设置配置信息,并将该配置信息发送至网络平台,无须在网络平台中设置配置信息。如此,将网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。又由于容器间通过交换机进行数据传输,因此,不需要将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源。
本申请还提供一种源容器发送数据包的方法,包括:所述源容器依次通过第一连接、所述宿主机的网桥及所述宿主机的网卡,将所述数据包发送至所述交换机;所述第一连接为所述源容器的网卡与所述宿主机的网桥之间的连接。
需要说明的是,传统的技术,是两个容器之间进行数据的传输,这种情况下,容器IP无法固定,会发生漂移,并且数据传输要封装以及解封装,传输效率低。基于此,本发明实施例中,事先建立了宿主机与交换机之间的第一连接,具体的建立过程为:
宿主机生成网桥,该网桥可以包括内网桥和外网桥,并生成容器中的网卡,由宿主机生成容器的网卡与网桥的第一连接,使得该容器的网卡和该网桥连接形成可进行数据传输的通道。
通过建立的第一连接,实现了容器之间通过交换机进行数据传输,由于不再是容器之间直接进行传输,而是交换机通过查询网络配置即可实现数据包的转发。
此处,结合图3中的宿主机架构,则在上一个示例中,用户管理模块中的源容器可以为图中的容器301,若用户管理模块和理财业务模块运行在该银行的内网中;则通过源容器301中的网卡和该源容器301的网卡与源宿主机105中的内网网桥302的第一连接,将该数据包传输至内网网桥302,再通过源宿主机105中的内网网桥302将该数据包传输至源宿主机105的网卡304,再由源宿主机105的网卡304将该数据包传输至该源宿主机105所在的机架103的交换机104中。若用户管理模块运行在该银行的内网中,理财业务模块运行在该银行的外网中,则通过源容器301中的网卡和该源容器301的网卡与源宿主机105中的外网网桥303的第一连接,将该数据包传输至外网网桥303,再通过源宿主机105中的外网网桥303将该数据包传输至源宿主机105的网卡304,再由源宿主机105的网卡304将该数据包传输至该源宿主机105所在的机架103的交换机104中。
基于上述流程及架构,本发明实施例提供了一种容器数据传输方法的流程,如图5所示,包括:
步骤501、交换机接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
此处,如图1所示架构,在上述示例中,交换机104接收源容器通过该源容器所在的源宿主机105发送的包括理财业务信息、该源容器IP、目的容器IP的数据包。其中,容器的网络配置中包括容器的名称和容器的IP,容器的网络配置是根据容器所在的宿主机105所在的机架103对应的交换机104的配置信息确定的。
步骤502、所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器。
此处,再上一个示例中,交换机104接收到源容器发送的数据包后,通过目的容器所在的目的宿主机105接收该数据包。
采用上述方法,交换机接收包含源容器的IP和目的容器的IP的数据包。由于容器的网络配置是根据该容器所在的交换机的配置信息确定的,且容器的IP为根据交换机的网段确定的。因此,交换机根据目的容器的IP可以确定目的容器,进而向目的容器发送数据包。相比于现有技术通过在物理设备的上层进行数据传输,容器的IP根据宿主机的网段确定来说,本申请可以在交换机中设置配置信息并存储,进一步使得网络平台根据该交换机的配置信息确定容器的网络配置,以使得在容器漂移或重启等情况下,该容器可以在网络平台中重新获取该容器的原IP,在该交换机的机架下,继续使用原IP,实现容器IP的固定。且由于容器间通过交换机进行数据传输,因此,不需要将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源。另外,由于在交换机中设置配置信息,使得网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。
本申请还提供一种交换机接收以及发送数据包的方法,包括:所述交换机通过预先建立的第一传输通道接收所述数据包,所述第一传输通道依次包括所述源容器的网卡、第一连接、所述源容器所在的宿主机的网桥及所述源容器所在的宿主机的网卡;所述第一连接为所述源容器的网卡与所述源容器所在的宿主机的网桥之间的连接;
此处,结合图3中的宿主机架构,则在上一个示例中,用户管理模块中的源容器可以为图中的容器301,若用户管理模块和理财业务模块运行在该银行的内网中;交换机104通过第一传输通道接收用户管理模块所在的源宿主机105中的源容器发送的数据包,即,通过源容器301中的网卡和该源容器301的网卡与源宿主机105中的内网网桥302的第一连接,将该数据包传输至内网网桥302,再通过源宿主机105中的内网网桥302将该数据包传输至源宿主机105的网卡304,再由源宿主机105的网卡304将该数据包传输至该源宿主机105所在的机架103的交换机104中。
若用户管理模块运行在该银行的内网中,和理财业务模块运行在该银行的外网中,交换机104通过第一传输通道接收用户管理模块所在的源宿主机105中的源容器发送的数据包,即,通过源容器301中的网卡和该源容器301的网卡与源宿主机105中的外网网桥303的第一连接,将该数据包传输至外网网桥303,再通过源宿主机105中的外网网桥303将该数据包传输至源宿主机105的网卡304,再由源宿主机105的网卡304将该数据包传输至该源宿主机105所在的机架103的交换机104中。
所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器,包括:所述交换机通过第二传输通道发送所述数据包给所述目的容器,所述第二传输通道依次包括所述目的容器所在的宿主机的网卡、所述目的容器所在的宿主机的网桥、第二连接及所述目的容器的网卡;所述第二连接为所述目的容器的网卡与所述目的容器所在的宿主机的网桥之间的连接。
此处,结合图3中的宿主机架构,则在上一个示例中,理财业务模块中的目的容器可以为图中的容器301,若用户管理模块和理财业务模块运行在该银行的内网中;交换机104通过第二传输通道发送源容器发送的数据包至理财业务模块所在的目的宿主机105中的目的容器301,即,交换机104将该数据包发送至目的容器301所在的目的宿主机105中的网卡304中,目的宿主机105中的网卡304将该数据包发送至该目的宿主机105的内网网桥302,内网网桥302将该数据包通过第二连接将该数据包发送至目的容器301的网卡中。
若用户管理模块运行在该银行的内网中,和理财业务模块运行在该银行的外网中,交换机104通过第二传输通道发送源容器发送的数据包至理财业务模块所在的目的宿主机105中的目的容器301,即,交换机104将该数据包发送至目的容器301所在的目的宿主机105中的网卡304中,目的宿主机105中的网卡304将该数据包发送至该目的宿主机105的外网网桥303,外网网桥303将该数据包通过第二连接将该数据包发送至目的容器301的网卡中。
基于上述流程及架构,本发明实施例提供了一种创建容器方法的流程,如图6所示,包括:
步骤601、宿主机接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;
此处,结合图1中的架构,在上一个示例中,用户管理模块所在的源宿主机105接收管理平台101发送的容器创建请求,该容器创建请求中包括容器的名称,例如,容器的名称为用户的名字-晓夏,或者容器的名称为用户的身份证号码230*************27等,该容器中可以设置用户的基本信息、该用户的银行账户信息以及该用户所开通的理财业务、储蓄业务等等。
步骤602、所述宿主机根据所述容器的名称从网络平台获取包括所述容器的IP网络配置;所述网络配置是根据所述宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;
此处,在上一个示例中,如图4所示的流程中步骤401和图5所示的流程中步骤501,容器的网络配置中包括容器的名称和容器的IP,容器的网络配置是根据容器所在的宿主机105所在的机架103对应的交换机104的配置信息确定的。源宿主机105根据容器的名称-晓夏,从网络平台102中获取该容器的网络配置,且网络平台102为该容器分配不同的IP对应的网络配置。
步骤603、所述宿主机生成所述容器并为所述容器配置所述网络配置;所述容器根据所述网络配置进行数据传输。
此处,宿主机105根据从网络平台102获取的,该平台为该容器分配的网络配置为该容器进行配置,以使得该容器根据网络配置进行容器间的数据传输。
采用上述方法,网络平台从交换机获取配置信息,以使得在宿主机接收管理平台发送的包括容器的名称的容器创建请求时,为该容器分配IP,并将该容器的名称与为该容器分配的IP绑定。防止容器发生漂移或重启的时,容器的IP丢失。交换机的配置信息由网络平台和宿主机获取。使得网络管理与容器管理解耦,防止了所有功能集中在一个平台上,即使一个平台有问题,另一个平台也不会受到影响,便于快速定位系统可能出现的问题。宿主机生成该容器并为该容器配置网络配置;以使得容器根据网络配置准确确定其所在宿主机以及交换机,实现将数据包传输至交换机,由交换机发送数据包至目的容器,进一步实现容器间通过物理设备,即,宿主机-交换机-宿主机,进行数据传输。由此,提高容器间数据传输的性能。
本申请还提供了一种容器配置网卡的方法,包括:所述宿主机生成所述容器的网卡,并生成所述容器的网卡与所述宿主机的网桥之间的第一连接;所述宿主机的网桥用于连接所述宿主机的网卡。
此处,容器中的网卡可以由宿主机生成,并由宿主机生成第一连接,使得该容器的网卡和该容器中的网桥连接形成可进行数据传输的通道。进而,与宿主机中的网卡形成第一传输通道或第二传输通道。
本申请还提供了一种容器配置网卡的方法,包括:所述容器的网卡为多个;所述容器中的网卡至少包括一个或多个内网卡和\或外网卡;所述内网卡连接至少一个网桥,所述外网卡连接至少一个网桥,所述内网卡连接的网桥不同于所述外网卡连接的网桥。也就是说,一个容器中可以有多个网卡,包括内网卡和外网卡,内网卡连接该容器所在宿主机中的内网网桥,外网卡连接该容器所在宿主机中的外网网桥。这里,容器中也可以设置不同网络类型的网卡,该不同网络类型的网卡分别与该容器所在宿主机中的对应网络类型的网桥连接。
本申请还提供了一种网络配置,即,所述网络配置包括容器名称、容器IP、子网掩码和网关;所述网关为所述交换机的IP;其中,所述容器IP对应唯一的所述容器名称和所述子网掩码,所述容器IP和所述子网掩码为所述交换机可识别的。
基于上述流程,本发明实施例提供了一种创建容器方法的流程,如图7所示,包括:
步骤701、网络平台接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;
此处,如图6流程中的步骤601中的示例,网络平台102接收管理平台101发送的包含容器的名称-晓夏和该容器所在的源宿主机105的容器申请请求。
步骤702、所述网络平台根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输。
此处,在上一个示例中,网络平台102根据容器所在源宿主机105对应的交换机104,获取该容器的网络配置,并将该网络配置发送至源宿主机105,以使得源宿主机105根据容器的名称-晓夏,从网络平台102中获取该容器的网络配置,从而进行容器间的数据传输。
采用上述方法,网络平台接收管理平台发送的包含容器的名称和该容器所在宿主机的容器申请请求,并根据该容器所在宿主机确定该宿主机所在的交换机,可以获得该容器对应的网络配置,进而根据网络配置为该容器分配IP。如此,在容器生成过程中,就将容器名称与容器IP绑定,固定容器IP。且由于在交换机中设置配置信息,网络平台获取该配置信息,使得网络管理与容器管理解耦,便于防止网络或容器的管理出现异常,导致另一方无法正常运行的情况。将该网络配置发送至宿主机,以使得宿主机为该容器进行网络配置。如此,容器可以根据该容器的网络配置将数据包发送至对应的交换机,交换机也可以根据该容器的网络配置接收数据包,并发送至目的容器。该过程中无需将数据包封装以及解封装,加快了数据传输的速度,减少了数据传输过程中占用的宿主机资源,提升容器间数据传输性能。
其中,所述网络平台接收管理平台发送的容器申请请求之前,所述方法还包括:所述网络平台接收所述交换机发送的配置信息;所述配置信息包括所述交换机下各宿主机上的各容器的网络配置。也就是说,交换机中包括的配置信息,至少包括网络配置,网络配置中可以包括容器IP、宿主机IP、子网掩码、网关、网络设备代码、容器网络配置状态、网络类型、容器网卡名、宿主机网卡名等,还可以包括网络配置以外的信息,例如,容器数据传输的日志信息等等。
基于图4和图5的方法流程,本申请提供了又一种容器数据传输方法的流程,如图8所示,包括:
步骤801、源容器生成数据包,该数据包中包含源容器IP和目的容器IP,获取交换机的MAC地址,将该数据包发送至交换机。
步骤802、交换机接收该数据包,并获取该数据包中的源容器IP和目的容器IP,根据源容器IP和目的容器IP,以及交换机中的配置信息,确定源容器的源宿主机和目的容器的目的宿主机是否属于同一网段,若源宿主机和目的容器的目的宿主机属于同一网段,则执行步骤803;若不属于同一网段,则执行步骤804。
步骤803、交换机根据源容器IP和目的容器IP将该数据包转发至源宿主机中的目的容器。
步骤804、交换机确定其三层硬件转发表中是否包含目的宿主机的目的容器IP的转发通道,若包含,则执行步骤805;若不包括,则执行步骤806。
步骤805、交换机根据其三层硬件转发表中的目的宿主机的目的容器IP的转发通道将该数据包转发至目的容器。
步骤806、交换机确定是否包含目的容器所在的目的宿主机MAC地址;若包含,则执行步骤807;否则,执行步骤808。
步骤807、交换机根据该目的宿主机的MAC地址和目的容器IP向目的容器发送该数据包。
步骤808、交换机获取目的宿主机的MAC地址,并根据该目的宿主机的MAC地址和目的容器IP向目的容器发送该数据包。
步骤809、交换机根据源宿主机和目的宿主机的MAC地址以及源容器和目的容器的IP生成对应的三层硬件转发表,为该源容器和目的容器数据传输生成转发通道。以便于该源容器和目的容器的数据传输,加快该源容器和目的容器的数据传输速度。
基于图6和图7的方法流程,本申请提供了又一种创建容器方法的流程,如图9所示,包括:
步骤901、交换机生成包含交换机网段的配置信息,并将该配置信息发送至网络平台。其中,配置信息中的网段中的每个IP,都有对应的子网掩码、网络设备信息等网络信息。
步骤902、网络平台接收配置信息后,将该配置信息存储。
步骤903、管理平台接收容器创建请求,根据该容器创建请求中的容器的名称生成容器申请请求,并将该容器申请请求发送至网络平台。
步骤904、网络平台根据该容器申请请求中的容器的名称和该容器所在的宿主机,从存储的配置信息中确定该宿主机对应的交换机,获取该交换机的配置信息,并从该交换机网段中选定一个IP作为该容器的IP,并为该容器分配网络配置;其中,网络配置中包括容器的IP、容器的名称等,网络平台将容器的IP与容器的名称绑定并记录。
步骤905、宿主机中的Agent接收容器创建请求,向容器插件发送请求,以使得容器插件从网络平台中获取该容器的网络配置。
步骤906、宿主机中的Agent向Dcoker发送容器创建请求,以使得Dcoker创建该容器。
步骤907、容器插件根据获取的该容器的网络配置为该容器配置网络配置。
这里需要说明的是,上述流程中的流程顺序并不唯一,例如,步骤906可以在步骤905之后执行,也可以在步骤905之前执行。
基于同样的构思,本发明实施例提供一种容器数据传输装置,图10为本发明实施例提供的一种容器数据传输装置示意图,如图10示,包括:
处理单元1001,用于生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
收发单元1002,用于通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器。
在一种可能的设计中,所述收发单元1002具体用于:所述源容器依次通过预先建立的第一连接、所述宿主机的网桥及所述宿主机的网卡,将所述数据包发送至所述交换机;所述第一连接为所述源容器的网卡与所述宿主机的网桥之间的连接。
基于同样的构思,本发明实施例提供一种容器数据传输装置,图11为本发明实施例提供的一种容器数据传输装置示意图,如图11示,包括:
收发单元1101,用于接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
所述收发单元1101还用于,通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器。
在一种可能的设计中,所述收发单元1101具体用于:所述交换机通过第一传输通道接收所述数据包,所述第一传输通道依次包括所述源容器的网卡、第一连接、所述源容器所在的宿主机的网桥及所述源容器所在的宿主机的网卡;所述第一连接为所述源容器的网卡与所述源容器所在的宿主机的网桥之间的连接;
所述收发单元1101具体用于:所述交换机通过第二传输通道发送所述数据包给所述目的容器,所述第二传输通道依次包括所述目的容器所在的宿主机的网卡、所述目的容器所在的宿主机的网桥、第二连接及所述目的容器的网卡;所述第二连接为所述目的容器的网卡与所述目的容器所在的宿主机的网桥之间的连接。
基于同样的构思,本发明实施例提供一种创建容器的装置,图12为本发明实施例提供的一种创建容器的装置示意图,如图12示,包括:
收发单元1201,用于接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;
处理单元1202,用于根据所述容器的名称从网络平台获取包括所述容器的IP的网络配置;所述网络配置是根据所述宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;
所述处理单元1202还用于,生成所述容器并为所述容器配置所述网络配置;所述容器根据所述网络配置进行数据传输。
在一种可能的设计中,所述处理单元1202还用于:所述宿主机生成所述容器的网卡,并生成所述容器的网卡与所述宿主机的网桥之间的第一连接;所述宿主机的网桥用于连接所述宿主机的网卡。
在一种可能的设计中,所述容器的网卡为多个;所述容器中的网卡至少包括一个或多个内网卡和\或外网卡;所述内网卡连接至少一个网桥,所述外网卡连接至少一个网桥,所述内网卡连接的网桥不同于所述外网卡连接的网桥。
在一种可能的设计中,所述网络配置包括容器名称、容器IP、子网掩码和网关;所述网关为所述交换机的IP;其中,所述容器IP对应唯一的所述容器名称和所述子网掩码,所述容器IP和所述子网掩码为所述交换机可识别的。
基于同样的构思,本发明实施例提供一种创建容器的装置,图13为本发明实施例提供的一种创建容器的装置示意图,如图13示,包括:
收发单元1301,用于接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;
处理单元1302,用于根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输。
在一种可能的设计中,所述收发单元1301还用于:所述网络平台接收所述交换机发送的配置信息;所述配置信息包括所述交换机下各宿主机上的各容器的网络配置。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种容器数据传输方法,其特征在于,所述方法包括:
源容器生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
所述源容器通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器;所述交换机可连接多个宿主机。
2.如权利要求1所述的方法,其特征在于,所述源容器通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包,包括:
所述源容器依次通过预先建立的第一连接、所述宿主机的网桥及所述宿主机的网卡,将所述数据包发送至所述交换机;所述第一连接为所述源容器的网卡与所述宿主机的网桥之间的连接。
3.一种容器数据传输方法,其特征在于,所述方法包括:
交换机接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器;所述交换机可连接多个宿主机。
4.如权利要求3所述的方法,其特征在于,交换机接收源容器通过所述源容器所在的宿主机发送的数据包,包括:
所述交换机通过第一传输通道接收所述数据包,所述第一传输通道依次包括所述源容器的网卡、第一连接、所述源容器所在的宿主机的网桥及所述源容器所在的宿主机的网卡;所述第一连接为所述源容器的网卡与所述源容器所在的宿主机的网桥之间的连接;
所述交换机通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器,包括:
所述交换机通过第二传输通道发送所述数据包给所述目的容器,所述第二传输通道依次包括所述目的容器所在的宿主机的网卡、所述目的容器所在的宿主机的网桥、第二连接及所述目的容器的网卡;所述第二连接为所述目的容器的网卡与所述目的容器所在的宿主机的网桥之间的连接。
5.一种创建容器的方法,其特征在于,所述方法包括:
宿主机接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;
所述宿主机根据所述容器的名称从网络平台获取包括所述容器的IP的网络配置;所述网络配置是根据所述宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;
所述宿主机生成所述容器并为所述容器配置所述网络配置;所述容器根据所述网络配置进行数据传输;所述交换机可连接多个宿主机。
6.如权利要求5所述的方法,其特征在于,所述宿主机生成所述容器并为所述容器配置所述网络配置之后,还包括:
所述宿主机生成所述容器的网卡,并生成所述容器的网卡与所述宿主机的网桥之间的第一连接;所述宿主机的网桥用于连接所述宿主机的网卡。
7.如权利要求6所述的方法,其特征在于,所述容器的网卡为多个;
所述容器中的网卡至少包括一个或多个内网卡和\或外网卡;
所述内网卡连接至少一个网桥,所述外网卡连接至少一个网桥,所述内网卡连接的网桥不同于所述外网卡连接的网桥。
8.如权利要求5至7任一项所述的方法,其特征在于,所述网络配置包括容器名称、容器IP、子网掩码和网关;所述网关为所述交换机的IP;其中,所述容器IP对应唯一的所述容器名称和所述子网掩码,所述容器IP和所述子网掩码为所述交换机可识别的。
9.一种创建容器的方法,其特征在于,所述方法包括:
网络平台接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;
所述网络平台根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输;所述交换机可连接多个宿主机。
10.如权利要求9所述的方法,其特征在于,所述网络平台接收管理平台发送的容器申请请求之前,所述方法还包括:
所述网络平台接收所述交换机发送的配置信息;所述配置信息包括所述交换机下各宿主机上的各容器的网络配置。
11.一种容器数据传输装置,其特征在于,所述装置包括:
处理单元,用于生成待发送的数据包,所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
收发单元,用于通过所述源容器所在的宿主机,向所述宿主机对应的交换机发送所述数据包;所述交换机用于将所述数据包发送至所述目的容器;所述交换机可连接多个宿主机。
12.一种容器数据传输装置,其特征在于,所述装置包括:
收发单元,用于接收源容器通过所述源容器所在的宿主机发送的数据包;所述数据包包括源容器的IP和目的容器的IP;其中,容器的网络配置包括容器的名称和所述容器的IP,且容器的网络配置是根据容器所在的宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;
所述收发单元还用于,通过所述目的容器所在的宿主机将所述数据包发送给所述目的容器;所述交换机可连接多个宿主机。
13.一种创建容器的装置,其特征在于,所述装置包括:
收发单元,用于接收管理平台发送的容器创建请求,所述容器创建请求包括容器的名称;
处理单元,用于根据所述容器的名称从网络平台获取包括所述容器的IP的网络配置;所述网络配置是根据宿主机对应的交换机的配置信息确定的,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络平台用于为不同容器分配不同的网络配置;所述交换机可连接多个宿主机;
所述处理单元还用于,生成所述容器并为所述容器配置所述网络配置;所述容器根据所述网络配置进行数据传输。
14.一种创建容器的装置,其特征在于,所述装置包括:
收发单元,用于接收管理平台发送的容器申请请求,所述容器申请请求中包含容器的名称和所述容器所在的宿主机;
处理单元,用于根据所述容器所在的宿主机对应的交换机的配置信息,确定所述容器的网络配置,并将所述网络配置发送给所述宿主机,其中,所述网络配置中包括所述容器的名称和所述容器的IP,所述配置信息中包括交换机的网段,所述容器的IP为根据所述交换机的网段确定的;所述网络配置用于所述容器进行数据传输;所述交换机可连接多个宿主机。
15.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,当所述程序在计算机上运行时,使得计算机实现执行权利要求1至2或3至4或5至8或9至10中任一项所述的方法。
16.一种计算机设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如权利要求1至2或3至4或5至8或9至10任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479777.6A CN111654559B (zh) | 2020-05-29 | 2020-05-29 | 一种容器数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010479777.6A CN111654559B (zh) | 2020-05-29 | 2020-05-29 | 一种容器数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111654559A CN111654559A (zh) | 2020-09-11 |
CN111654559B true CN111654559B (zh) | 2023-04-07 |
Family
ID=72348060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010479777.6A Active CN111654559B (zh) | 2020-05-29 | 2020-05-29 | 一种容器数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654559B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259503B (zh) * | 2021-06-24 | 2021-10-08 | 浩鲸云计算科技股份有限公司 | 基于Infiniband实现不同容器之间的跨网络通信方法和系统 |
CN113452806B (zh) * | 2021-06-24 | 2022-10-04 | 上海道客网络科技有限公司 | 基于Kubernetes系统的容器适配SDN网络管理方法和系统 |
CN114448937A (zh) * | 2022-01-28 | 2022-05-06 | 浙江大华技术股份有限公司 | 访问请求的响应方法和装置、存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106067858A (zh) * | 2016-05-24 | 2016-11-02 | 中国联合网络通信集团有限公司 | 容器间的通信方法、装置及系统 |
WO2017131285A1 (ko) * | 2016-01-25 | 2017-08-03 | 쿨클라우드(주) | 컨테이너 네트워크 관리 시스템 및 컨테이너 네트워킹 방법 |
CN108494607A (zh) * | 2018-04-19 | 2018-09-04 | 云家园网络技术有限公司 | 基于容器的大二层网络架构的设计方法及系统 |
CN108574705A (zh) * | 2017-03-09 | 2018-09-25 | 中国移动通信集团湖北有限公司 | 一种容器间的通信方法、装置及系统 |
CN108829384A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 容器的管理方法、装置、计算机设备及存储介质 |
WO2019237588A1 (zh) * | 2018-06-13 | 2019-12-19 | 平安科技(深圳)有限公司 | Linux虚拟服务器的创建方法、装置、计算机设备及存储介质 |
-
2020
- 2020-05-29 CN CN202010479777.6A patent/CN111654559B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017131285A1 (ko) * | 2016-01-25 | 2017-08-03 | 쿨클라우드(주) | 컨테이너 네트워크 관리 시스템 및 컨테이너 네트워킹 방법 |
CN106067858A (zh) * | 2016-05-24 | 2016-11-02 | 中国联合网络通信集团有限公司 | 容器间的通信方法、装置及系统 |
CN108574705A (zh) * | 2017-03-09 | 2018-09-25 | 中国移动通信集团湖北有限公司 | 一种容器间的通信方法、装置及系统 |
CN108494607A (zh) * | 2018-04-19 | 2018-09-04 | 云家园网络技术有限公司 | 基于容器的大二层网络架构的设计方法及系统 |
CN108829384A (zh) * | 2018-06-13 | 2018-11-16 | 平安科技(深圳)有限公司 | 容器的管理方法、装置、计算机设备及存储介质 |
WO2019237588A1 (zh) * | 2018-06-13 | 2019-12-19 | 平安科技(深圳)有限公司 | Linux虚拟服务器的创建方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111654559A (zh) | 2020-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108449282B (zh) | 一种负载均衡方法及其装置 | |
CN111654559B (zh) | 一种容器数据传输方法及装置 | |
CN111866064B (zh) | 一种负载均衡的方法、装置和系统 | |
CN107078969B (zh) | 实现负载均衡的计算机设备、系统和方法 | |
CN109302466B (zh) | 数据处理方法、相关设备及计算机存储介质 | |
CN107809367B (zh) | 一种sdn网络的设备上线方法及sdn控制器、网络设备 | |
CN107332775B (zh) | 基于docker容器的跨宿主机互访系统及其控制方法 | |
US10361970B2 (en) | Automated instantiation of wireless virtual private networks | |
CN106878199B (zh) | 一种接入信息的配置方法和装置 | |
CN113810230B (zh) | 对容器集群中的容器进行网络配置的方法、装置及系统 | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
CN112688814B (zh) | 一种设备接入方法、装置、设备及机器可读存储介质 | |
CN111865621A (zh) | 接入网关的方法及装置 | |
TW200928777A (en) | Data processing method and apparatus based on cluster | |
CN103631652A (zh) | 虚拟机迁移的实现方法及系统 | |
CN114039798B (zh) | 一种数据传输方法、装置及电子设备 | |
CN115604272B (zh) | 负载均衡方法、装置、系统及系统创建方法及设备和介质 | |
CN107645402A (zh) | 一种路由管理方法和装置 | |
CN113162779B (zh) | 一种多云互联的方法及设备 | |
CN113364660A (zh) | Lvs负载均衡中的数据包处理方法及装置 | |
CN111130978B (zh) | 网络流量转发方法、装置、电子设备及机器可读存储介质 | |
CN111600833B (zh) | 网络操作系统及报文转发方法 | |
CN114172753A (zh) | 地址预留的方法、网络设备和系统 | |
CN111262771B (zh) | 虚拟私有云通信系统、系统配置方法及控制器 | |
CN113472625B (zh) | 基于移动互联网的透明桥接方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |