虚拟机集群与容器集群二层网络互通系统的制作方法

未命名 09-02 阅读:147 评论:0


1.本技术涉及网络通信技术领域,尤其涉及一种虚拟机集群与容器集群二层网络互通系统。


背景技术:

2.伴随着网络信息技术的发展,云计算、云服务成为当下炙手可热的虚拟化技术。云计算的基础设施包括虚拟机集群和容器集群两大类,其中,虚拟机集群的主流管理平台是openstack,容器集群的主流管理平台是kubernetes。
3.在现有的技术中,为了实现openstack和kubernetes的网络互通,不仅需要由openstack的网络服务器neutron为kubernetes提供通信服务,增加neutron与kubernetes的耦合性,还要求二者的网络模块采用相同的网络技术。
4.然而,上述方法只能实现三层网络的互通,不适用于已经建成的openstack集群与kubernets集群,更不适用于选择了不同网络技术的openstack集群和kubernetes集群的互通。


技术实现要素:

5.本技术提供一种虚拟机集群与容器集群二层网络互通系统,用以解决现有技术中难以实现openstack集群与kubernetes集群二层网络互通的问题。
6.第一方面,本技术提供一种虚拟机集群与容器集群二层网络互通系统,包括:
7.虚拟机模块、容器模块、第一转换网关和第二转换网关,所述虚拟机模块包括虚拟机、租户网络和二层交换机,所述容器模块包括容器集群;
8.所述二层交换机,用于响应虚拟机的流量互通请求,获取所述虚拟机所在的租户网络,并获取所述租户网络对应的vlan标识,以使所述流量携带所述vlan标识;
9.所述第一转换网关,用于根据所述vlan标识,将携带所述vlan标识的流量封装为携带vxlan标识的流量,并获取所述vxlan标识对应的目标容器集群,以将所述流量发送至与所述目标容器集群连接的第二转换网关;
10.所述第二转换网关,用于基于所述vxlan标识,将携带所述vxlan标识的流量解封装为携带所述vlan标识的流量,并将携带所述vlan标识的流量发送至所述目标容器集群。
11.在一种可能的实现方式中,所述容器模块还包括二层负载均衡器,所述二层负载均衡器具体用于:
12.接收所述第二转换网关发送的携带所述vlan标识的流量;
13.获取所述目标容器集群中与所述vlan标识对应的目标节点;
14.将携带所述vlan标识的流量转发至所述目标节点。
15.在一种可能的实现方式中,所述二层负载均衡器具体用于:
16.获取所述vlan标识绑定的二层虚拟ip地址;
17.基于所述二层虚拟ip地址,允许携带所述vlan标识的流量通过,并将携带所述
vlan标识的流量转发至所述目标节点。
18.在一种可能的实现方式中,所述二层负载均衡器还用于:
19.若未获取到所述vlan标识绑定的二层虚拟ip地址,则丢弃携带所述vlan标识的流量。
20.在一种可能的实现方式中,所述容器模块还包括三层负载均衡器,所述三层负载均衡器具体用于:
21.接收所述目标节点发送的携带所述vlan标识的流量,并将携带所述vlan标识的流量下发至所述目标节点下的pod容器。
22.在一种可能的实现方式中,所述租户网络通过trunk端口连接所述二层交换机。
23.在一种可能的实现方式中,所述二层交换机具体用于:
24.获取所述流量携带的vlan标识;
25.基于所述vlan标识,允许携带所述vlan标识的流量通过。
26.在一种可能的实现方式中,所述二层交换机具体用于:
27.若未获取到所述流量携带的valn标识,则丢弃所述流量。
28.在一种可能的实现方式中,所述系统还包括网络编排模块,所述网络编排模块用于在所述租户网络、第一转换网关、第二转换网关、目标节点的网卡上配置valn标识。
29.在一种可能的实现方式中,所述网络编排模块还用于在所述第一转换网关配置valn标识与vxaln标识的映射关系以及vxlan标识与容器集群的对应关系;
30.在所述第二转换网关上配置valn标识与vxaln标识的映射关系;
31.在所述二层负载均衡器上配置vlan标识与二层虚拟ip地址的绑定关系。
32.本技术提供的虚拟机集群与容器集群二层网络互通系统,包括虚拟机模块、容器模块、第一转换网关和第二转换网关,虚拟机模块包括虚拟机、租户网络和二层交换机,容器模块包括容器集群;二层交换机,用于响应虚拟机的流量互通请求,获取虚拟机所在的租户网络,并获取租户网络对应的vlan标识,以使流量携带vlan标识;第一转换网关,用于根据vlan标识,将携带vlan标识的流量封装为携带vxlan标识的流量,并获取vxlan标识对应的目标容器集群,以将流量发送至与目标容器集群连接的第二转换网关;第二转换网关,用于基于vxlan标识,将携带vxlan标识的流量解封装为携带vlan标识的流量,并将携带vlan标识的流量发送至目标容器集群。
33.本技术的技术方案通过第一转换网关和第二转换网关建立了全互联模式(full mesh)的大二层链接,虚拟机模块的业务流量可以通过vlan接入相应的大二层网络,在第一转换网关和第二转换网关上做到vlan到vxlan映射后发到目标容器集群,为openstack集群与kubernets集群之间的业务跨区域互访与隔离提供基础网络支撑。由此可见,本技术提供的二层网络互通系统通过二层网络的vlan技术,不仅实现了openstack集群内虚拟机与kubernets集群内服务互访的功能,还实现了openstack网络与kubernets网络不同租户之间的网络流量隔离。
附图说明
34.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
35.图1为本技术实施例提供的一种虚拟机集群与容器集群二层网络互通系统实施例一的结构示意图;
36.图2为本技术实施例提供的一种虚拟机集群与容器集群二层网络互通系统实施例二的结构示意图;
37.图3为本技术实施例提供的一种虚拟机集群与容器集群二层网络互通系统实施例三的结构示意图。
38.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
39.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
40.本发明的说明书和权利要求书及上述附图中的术语“预设”、“第一”、“第二”、“第三”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。
41.本技术实施例中,“示例性的”或者“例如”等词用于表示例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
42.近些年来,随着云计算、云服务的发展,基于虚拟机和基于容器是当前云计算领域两种典型的服务器虚拟化技术。云架构往往是多租户架构,多个客户会共享单一的物理网络。因此,除了提供基本的网络连接能力以外,云还需要提供网络在租户之间的隔离能力。
43.openstack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。openstack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。openstack通过各种互补的服务提供了基础设施即服务(iaas)的解决方案,每个服务提供api以进行集成。
44.openstack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将openstack作为基础设施即服务(iaas)资源的通用前端。openstack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用openstack前端来设置及管理自己的公共云或私有云。
45.openstack云计算平台,帮助服务商和企业内部实现类似于amazon ec2和s3的云基础架构服务(infrastructure as a service,iaas)。openstack包含两个主要模块:nova和swift,前者是nasa开发的虚拟服务器部署和业务计算模块;后者是rackspace开发的分布式云存储模块,两者可以一起用,也可以分开单独用。
46.openstack作为虚拟机集群的主流管理平台,通过neutron项目在物理网络环境之上提供满足多租户要求的虚拟网络和服务。neutron提供的网络虚拟化能力包括:(1)二层到七层网络的虚拟化:l2(virtual switch)、l3(virtual router和lb)、l4-7(virtual firewall)等;(2)网络连通性:二层网络和三层网络;(3)租户隔离性。为了满足租户隔离性,openstack提供vpc网络,vpc(virtual private cloud)是公有云上自定义的逻辑隔离网络空间,租户可以自定义网段划分、ip地址和路由策略等,并通过安全组和网络acl等实现多层安全防护,同时也可以通过vpn或专线连通vpc与外部网络。vpc可以基于包括gre、vxlan在内的各种技术实现。
47.作为容器集群主流管理平台的kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,kubernetes提供了应用部署、规划、更新、维护的一种机制。传统的应用部署方式是通过插件或脚本来安装应用,这样做的缺点是应用的运行、配置、管理、所有生存周期将于当前操作系统绑定,这样做并不利于应用的升级更新和回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重且步骤繁杂,并不利于可移植性。
48.新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。容器占用资源少、部署快,每个应用可以杯打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大的优势,使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一直环境。类似地,容器比虚拟机轻量、更透明,这更便于监控和管理。
49.kubernetes的网络插件较多,有flannel、calico、weave、multus等。cni意为容器网络接口,是一种标准的设计,不同的kubernetes网络插件均支持cni。然而,kubernetes常用的网络插件flannel、calico均为三层网络插件,不能提供租户之间的二层网络隔离能力。
50.因此,为了实现openstack集群与kubernets集群的应用互访,现有技术对于openstack与kubernets各自的网络模块有特定要求,要求两者网络模块采用相同的网络技术,需要在两者的网络模型之间做映射,实现两者三层网络互通。其次,现有技术需要由openstack网络服务器提供的服务实现容器网络的负载均衡和通信,增加openstack网络服务器与容器网络的耦合性。
51.由此可知,现有技术不适用于已经建成的openstack群与kubernets集群,不适用于选择了不相同的网络技术的openstack集群与kubernets集群的互通。
52.针对上述问题,本技术提供一种适用于虚拟机集群与容器集群的二层网络互通系统,通过第一转换网关和第二转换网关建立full mesh的大二层链接,在虚拟机需要与容器节点流量互通时,二层交换机使来自虚拟机的流量携带上虚拟机所在租户网络的vlan标识,通过不同的vlan标识实现租户网络的隔离。当流量传输至第一转换网关时,在vlan标识的外层封装上vxlan标识,以得到vxlan标识所对应的唯一目标容器集群,并将流量传输至目标容器集群所连接的第二转换网关,第二转换网关又将外层的vxlan标识剥离,得到携带
vlan标识的流量,使得流量能够下发至目标容器集群中同样拥有vlan标识的目标节点上。
53.全互联模式(full mesh),其实就是一种网络连接形式,即所有结点之间都直接连接,不会通过第三方节点中转流量。
54.虚拟局域网(virtual local area network,vlan)是一组逻辑上的设备和用户,这些设备和用户并不受物理位置的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。vlan可以为几乎局域网内任何信息集成系统架构逻辑拓扑和访问控制,并且与其它共享物理网路链路的信息系统实现相互间无扰共享。vlan可以为信息业务和子业务、以及信息业务间提供一个相符合业务结构的虚拟网络拓扑架构并实现访问控制功能。与传统的局域网技术相比较,vlan技术更加灵活,它具有以下优点:网络设备的移动、添加和修改的管理开销减少;可以控制广播活动;可提高网络的安全性。
55.vlan作为当前主流的网络隔离技术,在标准定义中只有12bit,因此可用的vlan数量仅4096个。对于公有云或其它大型虚拟化云计算服务这种动辄上万甚至更多租户的场景而言,vlan的隔离能力无法满足。
56.vxlan是一种网络虚拟化技术,可以改进大型云计算在部署时的扩展问题,是对vlan的一种扩展。vxlan是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关,以此来解决vms(虚拟内存系统)的可移植性限制,使其可以访问在外部ip子网上的服务器。
57.vxlan的全称是virtual extensible local area network,简单的说vxlan就是扩充了的vlan,其包头有一个24bit的id段,即意味着1600万个独一无二的虚拟网段从而解决当前大型云计算数据中心虚拟网络不足的问题。vxlan通过封装、转发2层报文,可以使得多个网络的一台台物理交换机通过三层直线连接,处于网络中的同一个vlan。
58.二层交换机工作于osi模型的第2层(数据链路层),故而称为二层交换机。二层交换技术的发展已经比较成熟,二层交换机属数据链路层设备,可以识别数据帧中的mac地址信息,根据mac地址进行转发,并将这些mac地址与对应的端口记录在自己内部的一个地址表中。
59.网关是现代通信技术中不可或缺的一部分,它充当着互联网、局域网等不同网络之间的桥梁,使得不同网络之间的通信变得更加便捷、高效。网关作为计算机网络中的一种网络设备,其主要作用是连接不同网络之间的通信。它可以将一个网络的协议格式转换为另一个网络可识别的协议格式,实现不同网络之间的数据传输。网关还具有路由选择、安全检测、数据过滤等功能。
60.根据功能不同,网关可以分为路由网关、应用网关和转换网关三种类型。路由网关主要用于实现数据包的路由选择,支持静态路由和动态路由等多种路由协议。应用网关主要用于应用层协议转换,实现http、smtp、ftp等应用协议之间的转换。转换网关是一种将不同网络协议进行转换的网关,其主要作用是将数据包格式转换为目标网络可以识别的格式。
61.网关的工作原理是将一个协议格式的数据包接收进来,在进行数据格式转换后再转发到另一个网络中。网关一般放置在网络边缘,与不同网络相连。当一个数据包在源网络中发送时,将首先被发送到网关。网关会对数据包进行协议格式的解析,然后再构建适合目
的网络的协议格式,发送到目的网络中。
62.负载均衡建立在现有网络结构之上,提供一种廉价有效透明的方法扩展网络设备和服务器的宽带、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
63.二层负载均衡又称为数据链路层负载均衡,主要的实现方式就是ppp捆绑和链路聚合技术。负载均衡服务器对外提供一个虚ip,集群中不同的机器采用相同ip地址,但是机器的mac地址不一样。当负载均衡服务器接收到请求之后,通过改写报文的目标mac地址的方式将请求转发到目标机器实现负载均衡。
64.三层负载均衡也就是网络层的负载均衡,需要用到网络层层的协议,如ospf协议、rip协议等。和二层负载均衡类似,负载均衡器对外依然提供一个虚ip,但是集群中不同的机器采用不同的ip地址。当负载均衡服务器接收到请求之后,根据不同的负载均衡算法,通过ip将请求转发至不同的真实服务器。
65.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以独立实现,也可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
66.示例性的,图1为本技术实施例提供的虚拟机集群与容器集群二层网络互通系统实施例一的结构示意图,如图1所示(以两个虚拟机为例示出),本实施例中二层网络互通系统100包括:虚拟机模块110、第一转换网关120、第二转换网关130和容器模块140,虚拟机模块110包括虚拟机111、租户网络112和二层交换机113,容器模块140包括容器集群141。
67.二层交换机113,用于响应虚拟机111的流量互通请求,获取虚拟机111所在的租户网络,并获取租户网络112对应的vlan标识,以使流量携带vlan标识,例如,在来自某一个虚拟机111的流量上携带vlan100,与其他虚拟机111的流量区分开来;
68.第一转换网关120,用于根据vlan标识,将携带vlan标识的流量封装为携带vxlan标识的流量,并获取vxlan标识对应的目标容器集群141,以将流量发送至与目标容器集群141连接的第二转换网关130,例如,vlan100与vxlan200对应,当来自虚拟机111的流量携带vlan100传输至第一转换网关120时,第一转换网关120在该流量外层封装上vxlan200;
69.第二转换网关130,用于基于vxlan标识,将携带vxlan标识的流量解封装为携带vlan标识的流量,并将携带vlan标识的流量发送至目标容器集群141,例如,第二转换网关130剥离流量外层的vxlan200,使流量还原为携带vlan100后再传输至目标容器集群141。
70.kubernets容器集群141内采用三层网络,把第二转换网关130设为容器网络的网关,一个容器集群141布置一个第二转换网关130。
71.本技术实施例中,虚拟机模块的业务流量通过vlan标识实现不同租户之间的网络流量隔离,当携带vlan标识的流量传输至第一转换网关后,第一转换网关在vlan标识的外层封装上vxlan标识,进而得到vxlan标识所对应的唯一目标容器集群,随后将流量传输至目标容器集群所连接的第二转换网关,第二转换网关又将外层的vxlan标识剥离,还原为携带vlan标识的流量,使得流量能够下发至目标容器集群中同样拥有vlan标识的目标节点上,实现kubernets集群中容器节点之间的网络流量隔离。
72.示例性的,图2为本技术实施例提供的虚拟机集群与容器集群二层网络互通系统实施例二的结构示意图,如图2所示(以两个虚拟机、一个容器节点和两个pod容器为例示出),本实施例中二层网络互通系统200包括:虚拟机模块210、第一转换网关220、第二转换
网关230和容器模块240,虚拟机模块210包括虚拟机211、租户网络212和二层交换机213,容器模块240包括容器集群241。本实施例在实施一的基础上,容器模块240还包括二层负载均衡器242、三层负载均衡器243、节点244和pod容器245。
73.二层负载均衡器242具体用于:接收第二转换网关230发送的携带vlan标识的流量;获取目标容器集群241中与vlan标识对应的目标节点244;将携带vlan标识的流量转发至目标节点244。
74.二层负载均衡器242还具体用于:获取vlan标识绑定的二层虚拟ip地址;基于二层虚拟ip地址,允许携带vlan标识的流量通过,并将携带vlan标识的流量转发至目标节点244。
75.二层负载均衡器242还用于:若未获取到vlan标识绑定的二层虚拟ip地址,则丢弃携带vlan标识的流量。
76.在具体实现过程中,二层负载均衡器242为kubernets容器集群241的service分配一个二层虚ip地址,例如172.66.1.100,service的二层虚拟ip地址与指定vlan标识的节点244绑定,对外暴露服务。当二层负载均衡器242接收到流量互通请求后,根据二层虚拟ip地址绑定的vlan标识对流量进行过滤,只让与绑定的vlan标识相同的流量通过,丢弃其他流量。二层负载均衡器242的绑定配置示例如下:
77.config:
78.address-pools:
[0079]-name:default
[0080]
protocol:layer2
[0081]
addresses:
[0082]-172.66.6.240-172.66.6.250
[0083]
node-selectors:
[0084]-match-labels:
[0085]
vlan:vlan100
[0086]
address-pools:
[0087]-name:default
[0088]
protocol:layer2
[0089]
addresses:
[0090]-172.66.7.240-172.66.6.250
[0091]
node-selectors:
[0092]-match-labels:
[0093]
vlan:vlan101
[0094]
根据该配置中vlan标识与二层虚拟ip地址的绑定关系,二层负载均衡器242对于在地址池172.66.6.240-172.66.6.250中的地址的请求,只让标识为vlan100的流量通过。对于在地址池172.66.7.240-172.66.7.250中的地址的请求,只让标签为vlan101的流量通过。
[0095]
三层负载均衡器243具体用于:接收目标节点244发送的携带vlan标识的流量,并将携带vlan标识的流量下发至目标节点244下的pod容器245。
[0096]
容器集群241内的应用使用二层负载均衡器242作为三层负载均衡器243的service网络的负载均衡器。示例性的,二层负载均衡器242将请求转发到节点244node1。node1节点244根据对应的vlan标识做网络流量过滤。由于从openstack计算节点发送网络流量vlan标识为vlan100,与node1节点244上的vlan标识相同,所以节点244node1会接收该网络流量。
[0097]
在容器集群241的节点244上部署三层负载均衡器243作为容器集群241的service的代理,对二层负载均衡器242暴露service的cluster ip(二层虚拟ip地址),为service后端的pod容器245提供负载均衡和反向代理服务,将外部请求转发给pod容器245。
[0098]
node是kubernets集群架构中运行pod的服务节点,亦叫agent或minion。node是kubernets集群操作的单元,用于承载被分配pod的运行,是pod运行的宿主机。pod运行于node节点上,是若干相关容器的组合,一个pod可以包含一个容器或多个相关容器。虽然一个pod中可以容纳多个容器,但是一般在实际应用中只跑一个容器,便于管理。pod是kubernets集群进行创建、调度和管理的最小单位。pod内包含的容器运行在同一宿主机上,使用相同的网络命名空间、ip地址和端口,能够通过localhost进行互通。
[0099]
在上述实施例一的基础上,租户网络212通过trunk端口连接二层交换机213。
[0100]
二层交换机213具体用于:获取流量携带的vlan标识;基于vlan标识,允许携带vlan标识的流量通过。
[0101]
二层交换机213还具体用于:若未获取到流量携带的valn标识,则丢弃流量。
[0102]
普通交换机的二层端口有三种常见的端口类型:access、trunk和hybird。其中,access端口一般用作pc或服务器主机接入,通过该端口的数据包都是不带vlan标识的;trunk端口可以允许多个vlan的数据包通过;hybird端口根据用户需求,对通过该端口的数据包进行vlan标识打标和去标动作。
[0103]
通过trunk端口的数据包都必须带上vlan标识。在trunk端口进方向,交换机接收到数据包后,先判断是否带vlan标识,没有则丢弃数据包,有则按照对应vlan进行转发;在trunk端口出方向,交换机将带vlan标识的数据包原封不动转发出去,没有带vlan的数据包不会从trunk端口转发出去。因此,本实施例中租户网络通过trunk端口连接二层交换机,确保流量在经过二层交换机的前后均携带有vlan标识。
[0104]
本实施例中,trunk端口的存在使得流量在进入第一转换网关之前,能够确保其携带有vlan标识,以保障后续进程的顺利开展。通过设置二层负载均衡器和三层负载均衡器,可使容器集群内的负载实现均衡,并顺利将虚拟机的流量传送至对应节点下的pod容器中,实现基础层面的应用互访。
[0105]
示例性的,图3为本技术实施例提供的虚拟机集群与容器集群二层网络互通系统实施例三的结构示意图,如图3所示,本实施例在实施二的基础上,二层网络互通系统300还包括网络编排模块350。
[0106]
网络编排模块350用于在虚拟机311所在计算节点(租户网络312)的网卡上配置vlan,示例性的将该vlan标识设置为vlan100。
[0107]
在一种可能的实施方式中,二层交换机313与第一转换网关320的网卡互通,网络编排模块350在第一转换网关320的网卡上配置vlan,与虚拟机311所在计算节点的网卡上配置vlan标识相同,均为vlan100,通过vlan标识实现二层流量隔离。网络编排模块350在第
一转换网关上配置vlan与vxlan的映射关系,将vlan标识与vxlan标识做映射,示例性的将vlan100映射到vxlan200。第一转换网关320通过vxlan封装使用vlan划分的租户网络,将一个租户网络中的vlan信息发送到另一个租户网络中,从而达到不同租户网络的主机的二层通信。
[0108]
在一种可能的实施方式中,网络编排模块350在与kubernets网络连接的第二转换网关330的网卡上配置vlan标识,与虚拟机311所在计算节点的网卡上配置vlan标识相同,均为vlan100。第二转换网关330与kubernets中的二层负载均衡器342连接,二层负载均衡器342将kubernets中的服务的二层虚拟ip地址绑定到需要与openstack中虚拟机311互通的节点344上,网络编排模块350在节点344的网卡配置vlan,vlan标识与openstack计算节点的网卡所配置的vlan标识相同,从而实现openstack中的虚拟机311与kubernets中的节点344在二层网络互通,通过vlan标识实现二层流量隔离。
[0109]
kubernets集群内的应用使用二层负载均衡器342做为三层负载均衡器343的service网络的负载均衡器。示例性的,二层负载均衡器342将请求转发到node1节点344。网络编排模块350在node1的网卡上配置vlan标识为vlan100,node1节点344的网卡根据所配置的vlan标识做网络流量过滤。由于从openstack计算节点发送网络流量vlan标识为vlan100,与node1节点344网卡上配置的vlan标识相同,所以node1节点344会接收该网络流量。
[0110]
在kubernets的节点344上部署三层负载均衡器343作为kubernets的service的代理,对二层负载均衡器342暴露service的cluster ip,为service后端的pod容器345提供负载均衡和反向代理服务,将外部请求转发给pod容器345。
[0111]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。

技术特征:
1.一种虚拟机集群与容器集群二层网络互通系统,其特征在于,包括:虚拟机模块、容器模块、第一转换网关和第二转换网关,所述虚拟机模块包括虚拟机、租户网络和二层交换机,所述容器模块包括容器集群;所述二层交换机,用于响应虚拟机的流量互通请求,获取所述虚拟机所在的租户网络,并获取所述租户网络对应的vlan标识,以使所述流量携带所述vlan标识;所述第一转换网关,用于根据所述vlan标识,将携带所述vlan标识的流量封装为携带vxlan标识的流量,并获取所述vxlan标识对应的目标容器集群,以将所述流量发送至与所述目标容器集群连接的第二转换网关;所述第二转换网关,用于基于所述vxlan标识,将携带所述vxlan标识的流量解封装为携带所述vlan标识的流量,并将携带所述vlan标识的流量发送至所述目标容器集群。2.根据权利要求1所述的系统,其特征在于,所述容器模块还包括二层负载均衡器,所述二层负载均衡器具体用于:接收所述第二转换网关发送的携带所述vlan标识的流量;获取所述目标容器集群中与所述vlan标识对应的目标节点;将携带所述vlan标识的流量转发至所述目标节点。3.根据权利要求2所述的系统,其特征在于,所述二层负载均衡器具体用于:获取所述vlan标识绑定的二层虚拟ip地址;基于所述二层虚拟ip地址,允许携带所述vlan标识的流量通过,并将携带所述vlan标识的流量转发至所述目标节点。4.根据权利要求3所述的系统,其特征在于,所述二层负载均衡器还用于:若未获取到所述vlan标识绑定的二层虚拟ip地址,则丢弃携带所述vlan标识的流量。5.根据权利要求3所述的系统,其特征在于,所述容器模块还包括三层负载均衡器,所述三层负载均衡器具体用于:接收所述目标节点发送的携带所述vlan标识的流量,并将携带所述vlan标识的流量下发至所述目标节点下的pod容器。6.根据权利要求1所述的系统,其特征在于,所述租户网络通过trunk端口连接所述二层交换机。7.根据权利要求6所述的系统,其特征在于,所述二层交换机具体用于:获取所述流量携带的vlan标识;基于所述vlan标识,允许携带所述vlan标识的流量通过。8.根据权利要求7所述的系统,其特征在于,所述二层交换机具体用于:若未获取到所述流量携带的valn标识,则丢弃所述流量。9.根据权利要求1所述的系统,其特征在于,所述系统还包括网络编排模块,所述网络编排模块用于在所述租户网络、第一转换网关、第二转换网关、目标节点的网卡上配置valn标识。10.根据权利要求1所述的系统,其特征在于,所述网络编排模块还用于在所述第一转换网关配置valn标识与vxaln标识的映射关系以及vxlan标识与容器集群的对应关系;在所述第二转换网关上配置valn标识与vxaln标识的映射关系;在所述二层负载均衡器上配置vlan标识与二层虚拟ip地址的绑定关系。

技术总结
本申请涉及一种虚拟机集群与容器集群二层网络互通系统,包括:虚拟机模块、容器模块、第一转换网关和第二转换网关,虚拟机模块包括虚拟机、租户网络和二层交换机,容器模块包括容器集群;二层交换机,用于响应虚拟机的流量互通请求,获取虚拟机所在的租户网络,并获取租户网络对应的VLAN标识,以使流量携带VLAN标识;第一转换网关,用于根据VLAN标识,将携带VLAN标识的流量封装为携带VxLAN标识的流量,并获取VxLAN标识对应的目标容器集群,以将流量发送至与目标容器集群连接的第二转换网关;第二转换网关,用于基于VxLAN标识,将携带VxLAN标识的流量解封装为携带VLAN标识的流量,并将携带VLAN标识的流量发送至目标容器集群。群。群。


技术研发人员:曹云飞 张岩 霍龙社 崔煜喆 王施霁 马力俊 徐治理
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2023.06.29
技术公布日:2023/8/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐