对租户集群VPC内部容器的管理系统、方法及电子设备与流程

文档序号:17376049发布日期:2019-04-12 23:19阅读:173来源:国知局
对租户集群VPC内部容器的管理系统、方法及电子设备与流程

本申请涉及云计算技术领域,尤其是涉及一种对租户集群vpc内部容器的管理系统、方法及电子设备。



背景技术:

容器技术虚拟化技术已经成为一种被大家广泛认可的服务器资源共享方式。容器技术可以在按需构建容器技术操作系统实例的过程当中,为系统管理员提供极大的灵活性。

其中,租户可以利用容器平台申请所需的容器集群。例如基于googlekubernetes的容器平台申请容器集群时,默认是需要创建租户集群节点的etcd、kube-apiserver、kube-scheduler、kube-controller-manager的服务,这些服务均部署在图1所示的云服务租户集群a和云服务租户集群b分别对应的“管理终端”。

如果云服务租户集群出现问题,需要登陆到每个云服务租户的管理终端进行操作;由于每个云服务租户的管理终端均部署在各自的虚拟私有云vpc(virtualprivatecloud)中,因此云服务提供商的管理集群中的控制终端在访问管理终端时,需要通过加密解密的过程访问至对应的vpc,操作较为繁琐。随着租户量增大,租户集群数增多,租户管理复杂度会逐渐增大,人力成本以及时间成本也随之增加。



技术实现要素:

有鉴于此,本申请的目的在于提供一种对租户集群vpc内部容器的管理系统、方法及电子设备,以简化租户访问的操作流程,进而有效的降低了后期运维管理的复杂度,减少了人力成本及时间成本。

第一方面,本申请实施例提供了对租户集群vpc内部容器的管理系统,包括:管理对象、管理终端和网络设备;所述管理对象运行在云服务租户的第一服务器集群上,所述第一服务器集群搭建在虚拟私有云vpc网络环境中;所述管理终端运行在云服务提供商的第二服务器集群上,所述第二服务器集群的网络环境与所述第一服务器集群的网络环境隔离;所述管理终端通过所述网络设备向所述管理对象发送访问请求,以对所述管理对象进行管理;所述网络设备分别与所述管理终端和管理对象通信连接,所述网络设备用于将所述管理终端的访问请求进行封装,并将封装之后的访问请求发送至所述管理对象。

结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述第一服务器集群包括至少一台服务器;所述服务器上运行有至少一个pod;所述pod中运行有至少一个容器;所述管理对象为运行在所述第一服务器集群的pod中的容器。

结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述第二服务器集群包括至少一台服务器;所述服务器上运行有至少一个pod;所述pod中运行有至少一个容器;所述管理终端运行在所述第二服务器集群的容器内。

结合第一方面的第一种或者第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述服务器为虚拟机或物理机。

结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述访问请求用于对目标租户vpc内部的管理对象进行访问;所述访问请求包括源地址和目的地址;所述源地址为所述管理终端所在的容器ip地址,所述目的地址为管理对象的容器ip地址。

结合第一方面的第四种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述网络设备包括运行在所述管理终端所在的服务器上的网桥、网络组件和网卡;所述网桥用于将所述访问请求转发至所述网络组件;所述网络组件接收到访问请求后,调用预设的封装模块对所述访问请求进行封装,并将封装后的访问请求发送至所述网卡。

结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述网络设备还包括:运行在所述虚拟私有云vpc网络环境中的网关以及分别与所述网卡和网关通信连接的交换机;所述网卡用于将封装后的访问请求发送至所述交换机;所述交换机将封装后的访问请求发送至所述网关;所述网关将封装后的访问请求发送至管理对象所在的服务器;所述服务器将所述访问请求发送至所述管理对象。

结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述封装模块包括:vni封装单元,用于对所述访问请求进行vni封装,得到第一封装报文;udp封装单元,用于对所述第一封装报文进行udp封装,得到第二封装报文;ip封装单元,对所述第二封装报文进行ip封装,得到第三封装报文;ethernet封装单元,用于对所述第三封装报文进行ethernet封装,得到第四封装报文。

结合第一方面的第七种可能的实施方式,本申请实施例提供了第一方面的第八种可能的实施方式,其中,所述vni封装单元,还用于:基于所述访问请求中的目的地址,从neutron中获取与所述目的地址对应的vni;其中,所述vni为租户所在的vpc的vxlan网络标识;在所述访问请求的报文头部增加vxlanheader报文头,其中,所述vxlanheader报文头包括所述vni。

结合第一方面的第七种可能的实施方式,本申请实施例提供了第一方面的第九种可能的实施方式,其中,所述udp封装单元,还用于:基于所述访问请求中的目的地址,从neutron中获取与目的地址对应的destport;其中,所述destport为管理对象所在的服务器的udp端口号;在所述第一封装报文的报文头部增加outerudpheader报文头;其中,所述outerudpheader报文头包括所述destport。

结合第一方面的第八种可能的实施方式,本申请实施例提供了第一方面的第十种可能的实施方式,其中,所述ip封装单元,还用于:基于所述访问请求中的目的地址,从neutron中获取ipda;其中,所述ipda为管理对象所在的服务器的ip地址;在所述第二封装报文的报文头部增加outeripheader报文头,其中,所述outeripheader报文头包括所述ipda。

结合第一方面的第八种可能的实施方式,本申请实施例提供了第一方面的第十一种可能的实施方式,其中,所述ethernet封装单元,还用于:基于所述访问请求中的目的地址,从neutron中获取macda;其中,所述macda为管理对象所在的服务器的mac地址;在所述第三封装报文的报文头部增加outerethernetheader报文头,其中,所述outerethernetheader报文头包括所述macda。

第二方面,本申请实施例还提供一种对租户vpc内部容器的管理方法,应用于网络组件,所述方法包括:所述网络组件接收到访问请求后,对所述访问请求进行四层封装,并将封装后的访问请求发送至网卡;其中,所述对所述访问请求进行四层封装,包括:对访问请求进行vni封装,得到第一封装报文;对所述第一封装报文进行udp封装,得到第二封装报文;对所述第二封装报文进行ip封装,得到第三封装报文;对所述第三封装报文进行ethernet封装,得到第四封装报文。

结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述对访问请求进行vni封装得到第一封装报文,包括:基于所述访问请求中的目的地址,从neutron中获取与所述目的地址对应的vni;其中,所述vni为租户所在的vpc的vxlan网络标识;在所述访问请求的报文头部增加vxlanheader报文头,其中,所述vxlanheader报文头包括所述vni。

结合第二方面,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述对所述第一封装报文进行udp封装,得到第二封装报文,包括:基于所述访问请求中的目的地址,从neutron中获取与目的地址对应的destport;其中,所述destport为管理对象所在的服务器的udp端口号;在所述第一封装报文的报文头部增加outerudpheader报文头;其中,所述outerudpheader报文头包括所述destport。

结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,所述对所述第二封装报文进行ip封装,得到第三封装报文,包括:基于所述访问请求中的目的地址,从neutron中获取ipda;其中,所述ipda为管理对象所在的服务器的ip地址;在所述第二封装报文的报文头部增加outeripheader报文头,其中,所述outeripheader报文头包括所述ipda。

结合第二方面,本申请实施例提供了第二方面的第四种可能的实施方式,其中,所述对所述第三封装报文进行ethernet封装,得到第四封装报文,包括:基于所述访问请求中的目的地址,从neutron中获取macda;其中,所述macda为管理对象所在的服务器的mac地址;在所述第三封装报文的报文头部增加outerethernetheader报文头,其中,所述outerethernetheader报文头包括所述macda。

第三方面,本申请实施例还提供一种计算机可读介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现所述第一方面及其任一种可能的实施方式所述的方法。

第四方面,本申请实施例还提供一种电子设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面及其任一种可能的实施方式所述的方法。

本申请实施例带来了以下有益效果:

本申请实施例中提供了一种对租户集群vpc内部容器的管理系统,该系统包括:管理对象、管理终端和网络设备;管理对象运行在云服务租户的第一服务器集群上,第一服务器集群搭建在虚拟私有云vpc网络环境中;管理终端运行在云服务提供商的第二服务器集群上,第二服务器集群的网络环境与第一服务器集群的网络环境隔离;管理终端通过网络设备向管理对象发送访问请求,以对该管理对象进行管理;网络设备分别与管理终端和管理对象通信连接,网络设备用于将管理终端的访问请求进行封装,并将封装之后的访问请求发送至管理对象。该方式,将对应于云服务租户的管理终端部署在云服务提供商的第二服务器集群上,由此在通过该管理终端对管理对象进行管理时,无需通过访问云服务租户的vpc的方式登录管理终端,避免了加密解密的操作过程,简化了操作流程,进而有效的降低了后期运维管理的复杂度,减少了人力成本及时间成本。

本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中的一种容器平台系统的网络模型示意图;

图2为本申请实施例提供的一种对租户集群vpc内部容器的管理系统的结构示意图;

图3为本申请实施例提供的另一种对租户集群vpc内部容器的管理系统的结构示意图;

图4为本申请实施例提供的一种封装后的访问请求的报文的示意图;

图5为本申请实施例提供的一种访问请求封装过程的流程示意图;

图6为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前采用的容器平台系统的网络模型如图1所示,包括:云服务提供商的管理集群和云服务租户集群。其中,管理集群包括集群管理终端和控制终端,集群管理终端与控制终端通过相应的网络设备(例如交换机)连接,用于管理该控制终端。云服务租户集群部署在租户对应的vpc中,在每个云服务租户集群内,部署有例如etcd,kube-apiserver,kube-scheduler,kube-controller-manager等服务的管理终端,对租户集群内租户申请使用的资源节点进行访问控制。

由于管理终端设置在云服务租户的vpc内,为了保证租户的网络安全,当系统管理人员对某个租户进行操作管理时,通过控制终端进行相应的加密解密程序,才能通过相应的网络设备登陆访问到每个云服务租户的管理终端。这样随着租户量增大,租户集群数增多,访问流程及操作管理复杂度会逐渐增大,人力成本以及时间成本也随之增加。

基于此,本申请实施例提供的一种对租户集群vpc内部容器的管理系统、方法及电子设备,该技术中将对应于云服务租户的管理终端部署在云服务提供商的第二服务器集群上,由此在通过该管理终端对管理对象进行管理时,无需通过访问云服务租户的vpc的方式登录管理终端,避免了加密解密的操作过程,简化了操作流程,进而有效的降低了后期运维管理的复杂度,减少了人力成本及时间成本。

为便于对本实施例进行理解,首先对本申请实施例所公开的一种对租户集群vpc内部容器的管理系统进行详细介绍。

参见图2示出的本申请实施例提供的一种对租户集群vpc内部容器的管理系统的结构示意图。该对租户集群vpc内部容器的管理系统包括:管理对象、管理终端和网络设备。

其中该管理对象运行在云服务租户的第一服务器集群上,该第一服务器集群搭建在虚拟私有云vpc网络环境中,其中该管理对象可以但不限于为开发程序。管理终端运行在云服务提供商的第二服务器集群上,第二服务器集群的网络环境与第一服务器集群的网络环境隔离。即,第一服务器集群的网络环境与器集群的网络环境之间相互断开,不能直接进行二层通信,需通过不可路由的协议来进行数据交换。

管理终端通过网络设备向管理对象发送访问请求,以对该管理对象进行管理。例如,该管理可以包括对管理对象进行新增、修改、删除以及获取管理对象的日志等操作。

上述网络设备分别与管理终端和管理对象通信连接,该网络设备用于将管理终端的访问请求进行封装,并将封装之后的访问请求发送至管理对象。

本申请实施例中,将对应于云服务租户的管理终端部署在云服务提供商的第二服务器集群上,由此在通过该管理终端对管理对象进行管理时,无需通过访问云服务租户的vpc的方式登录管理终端,避免了加密解密的操作过程,简化了操作流程,进而有效的降低了后期运维管理的复杂度,减少了人力成本及时间成本。

在可能的实施例中,参见图3,第一服务器集群包括至少一台服务器;该服务器上运行有至少一个pod;该pod中运行有至少一个容器;管理对象为运行在第一服务器集群的pod中的容器。第二服务器集群包括至少一台服务器;该服务器上运行有至少一个pod;该pod中运行有至少一个容器;管理终端运行在第二服务器集群的容器内。需要说明的是,上述服务器可以为虚拟机或物理机。这样将管理对象与管理终端以容器的方式部署,易于移植,便于管理,且能够有效减少系统开销。

需要说明的是,图3中pod及服务器的结构仅以服务器a1或者服务器b1及相应的pod1为例,并不作为具体限定,其他各个pod中的结构可以相同,均包括多个容器;其他各个服务器内的结构可以相同,均包括多个pod。

另外,由于各个云服务租户的vpc相互隔离,因此每个云服务租户的vpc需要单独分配服务器(虚拟机或者物理机);此时为实现对多点管理,以防止一个服务器故障导致的云服务租户无法正常使用vpc的问题,通常在每个云服务租户的vpc内单独分配多个服务器,以部署多个管理终端。因此当租户量逐渐增大,随之而来的资源需求量逐渐增大,且资源利用率偏低,造成资源浪费。

而本实施例中上述管理终端是以容器的形式部署在云服务提供商的第二服务器集群上,因此为了在实现多点管理的同时,提高资源利用率,可以将不同租户的管理终端部署在同一服务器中,基于此在可能的实施例中,上述管理终端可以分为多个组,每组中均包括对应于各个云服务租户的管理终端,上述管理终端根据其所属的组别部署在服务器上,也就是将上述管理终端按照组别进行统一部署,如将某一组的管理终端统一部署在同一个服务器上。这样通过多组有序部署、多点管理,在提高资源利用率的同时,保障系统的可靠性。

例如,假设上述云服务租户包括租户a和租户b,为每个租户分配三个管理终端,租户a对应的管理终端分别为终端a1、终端a2及终端a3;租户b对应的管理终端分别为终端b1、终端b2及终端b3;将租户a和租户b对应的管理终端分成三组,每组中均包括租户a和租户b的管理终端,例如三组分别为:一组,终端a1和终端b1;二组,终端a2和终端b2;三组,终端a3和终端b3。为实现多点管理,将每一组的管理终端部署在同一个虚拟机上,从而利用三个虚拟机存储上述六个管理终端。

由此可知,当每个租户需要分配n个管理终端时,现有技术每增加一个租户,则需要增加n个服务器;当租户的个数为m时,所需的服务器数量为m*n个;而本实施例中,服务器的数量是根据其能部署的容器的最大量决定的,当服务器的所承受的最大量足够时(即一个服务器可以部署m个容器时),仅需要n个服务器即可,因此,本实施例可以在保障系统的可靠性的同时,有效提高了资源利用率。

由于第二服务器集群的网络环境与该第一服务器集群的网络环境隔离,此时为实现部署在vpc网络环境的第一服务器集群中的管理对象与部署在第二服务器集群上的管理终端的通信,在可能的实施例中,上述第一服务器集群中还包括与管理终端连接的访问节点,管理对象可以通过该访问节点访问管理终端。例如,在该第一服务器集群中部署访问节点ingress,该ingress可以提供集群外部访问该集群的访问入口,从而实现管理对象对管理终端的访问。

而对于从管理终端至管理对象的通信方向,由于管理对象所在的网络环境为vpc网络,属于内部私有网络,因此管理终端对管理对象的访问是受限的,外部(vpc之外)网络无法直接访问vpc内部的管理对象。基于此,本申请是通过网络设备对管理终端的访问请求进行封装,并将封装之后的访问请求发送至管理对象,从而实现管理终端对管理对象的访问。其中,该访问请求用于对目标租户vpc内部的管理对象进行访问;该访问请求包括源地址和目的地址;该源地址为管理终端所在的容器ip(internetprotocol,网络之间互连的协议)地址,该目的地址为管理对象的容器ip地址。

上述访问请求还可以包括云服务租户的标识,该标识可以用名称或者是编码表示。例如该系统的管理人员,需要访问云服务租户的某个管理对象,则可以通过管理终端的交互界面发送该访问请求,并将该访问请求根据云服务租户的标识发送至对应的管理终端。

在可能的实施例中,参见图3,上述网络设备包括运行在管理终端所在的服务器上的网桥、网络组件和网卡;网桥用于将访问请求转发至网络组件;网络组件接收到访问请求后,调用预设的封装模块对访问请求进行封装,并将封装后的访问请求发送至网卡,进而通过该网卡将访问请求从服务器中转发出去。

其中上述封装模块可以但不限于包括以下几个单元:

(1)vni封装单元,用于对上述访问请求进行vni封装,得到第一封装报文。

需要说明的是,本申请实施例中系统的网络服务组件neutron中记录有管理对象的ip地址与vni、destport、ipda及macda之间的对应关系。其中vni(vxlannetworkidentifier)为租户所在的vpc的vxlan(virtualextensiblelan,虚似扩展局域网)网络标识;其中,该destport为管理对象所在的服务器的udp(userdatagramprotocol,用户数据报协议)端口号;其中,该ipda为管理对象所在的服务器的ip地址。该mac(mediaaccesscontrol,媒体访问控制)da为管理对象所在的服务器的mac地址。

因此,上述vni封装单元,还用于:基于上述访问请求中的目的地址,从neutron中获取与目的地址对应的vni;其中,该;在访问请求的报文头部增加vxlanheader报文头,其中,该vxlanheader报文头包括上述vni。该不同的vpc属于不同的vxlan,从而实现不同vpc的网络隔离。

在具体实现时,为了保证数据的完整性,参见图4,上述vxlanheader报文头包括的字段具体如下:

vxlanflags:标记位,16比特(即占用的存储空间大小);

groupid:租户组id,16比特。当vxlanflags字段第一位取1时,该字段的值为groupid。取0时,该字段的值为全0;

vni:vxlan网络标识,用于区分vxlan段,由24比特组成,支持多达16m的租户。一个租户可以有一个或多个vni,不同vni的租户之间不能直接进行二层相互通信,从而实现网络隔离;

reserved:保留未用,由8比特组成,设置为0。

(2)udp封装单元,用于对第一封装报文进行udp封装,得到第二封装报文。

其中udp封装单元具体用于基于上述访问请求中的目的地址,从neutron中获取与目的地址对应的destport;在上述第一封装报文的报文头部增加outerudpheader报文头;其中,该outerudpheader报文头包括上述destport。

在具体实现时,为了保证数据的完整性,参见图4,outerudpheader报文头具体包括如下字段:

destport:目的udp端口号,设置为4789(可以更改);即为管理对象所在的服务器的udp端口号;

sourceport:源udp端口号,根据内层以太报文头通过哈希算法计算后的值;即为管理终端所在的服务器的udp端口号。

(3)ip封装单元,用于对上述第二封装报文进行ip封装,得到第三封装报文。

其中ip封装单元具体用于基于上述访问请求中的目的地址,从neutron中获取ipda;在上述第二封装报文的报文头部增加outeripheader报文头,其中,该outeripheader报文头包括上述ipda。

在具体实现时,为了保证数据的完整性,参见图4,outeripheader报文头具体包括如下字段:

ipsa:源ip地址,vxlan隧道源端vtep的ip地址;即为管理终端所在的服务器的ip地址;

ipda:目的ip地址,vxlan隧道目的端vtep的ip地址,即为管理对象所在的服务器的ip地址。

(4)ethernet封装单元,用于对上述第三封装报文进行ethernet封装,得到第四封装报文。

其中ethernet封装单元具体用于基于上述访问请求中的目的地址,从neutron中获取macda;在该第三封装报文的报文头部增加outerethernetheader报文头,其中,上述outerethernetheader报文头包括上述macda。

在具体实现时,为了保证数据的完整性,参见图4,上述outerethernetheader报文头具体包括如下字段;

macda:目的mac地址,为到达目的vtep((vxlantunnelendpoint,vxlan隧道边缘节点)的路径上,下一跳设备的mac地址;即为管理对象所在的服务器的mac地址;

macsa:源mac地址,发送报文的源端vtep的mac地址;即为管理终端所在的服务器的mac地址;

802.1qtag:可选字段,该字段为报文中携带的vlantag;

ethernettype:以太报文类型,ip协议报文中该字段取值为0x0800。

另外,在具体实现时,上述访问请求的原始报文头可以但不限于包括内部区域网络报文头innerethemetheader、内部ip报文头inneripheader及关键信息payload(即未封装时的访问请求)。其中inneripheader中用于存储管理终端所在的容器ip地址,管理对象的容器ip地址。

需要说明的是,上述vni封装单元、udp封装单元、ip封装单元及ethernet封装单元在封装过程中的封装顺序不限,在此不作限定。

在完成上述访问请求的封装后,为了实现对vpc网络的访问,上述网络设备还包括:运行在虚拟私有云vpc网络环境中的网关以及分别与网卡和网关通信连接的交换机。该网卡用于将封装后的访问请求发送至交换机;该交换机将封装后的访问请求发送至网关;网关将封装后的访问请求发送至管理对象所在的服务器;服务器将该访问请求发送至管理对象。

例如,该网关对封装后的访问请求的报头进行解析,获取其中的目标租户的管理对象所在的服务器的ip地址,从而将该访问请求发送至对应的服务器。

在可能的实施方式中,上述管理对象所在的服务器内设置有解封装模块,该解封装模块按照对应的规则,对该封装后的访问请求进行解封装,从而获得管理对象的ip地址。然后根据上述管理对象的ip地址,将访问请求发送至目标管理对象。

在同一vpc中,由于管理对象的ip地址是唯一的,因此管理对象所在的服务器可以通过该ip地址直接访问到其所在的vpc内相应的管理对象,从而实现了管理终端对租户的vpc内的管理对象的访问。

在本方法实施例中,由第二服务器集群的管理终端向云服务租户的vpc内部传输的访问请求通过预设的封装模块进行封装,其中封装后的报文头中包括管理终端所在的服务器的ip地址,在该服务器接收到访问请求后,进行解封装以获取访问请求的关键信息,将该关键信息转发至其租户的vpc的内部的相应管理对象,从而实现了管理终端对租户的vpc私有网络中的管理对象的访问。

为了便于对上述实施例的理解,本申请实施例还提供了一种是实现实例。假设第二服务器集群中的服务器a1中的管理终端a访问第一服务器集群中的服务器b1中的管理对象b中的请求容器日志,具体过程可以描述如下:

服务器a1中的管理终端a生成用于访问容器日志的访问请求。其中该访问请求中包括管理终端a的ip地址(内网源地址):10.100.1.2,管理对象的ip地址(内网目的地址):10.100.2.2。

将该第一访问请求发送至网络组件中的网桥(例如可以为docker),并由该网桥发送至网络组件,该网络组件调用预设的封装模块,从neutron中获取管理对象b的ip地址对应的vni、destport、ipda及macda等信息,对访问请求进行封装。其中假设获取到的管理终端a所在的服务器的ip地址(外网源地址)为:172.20.33.110,管理对象b所在的服务器的ip地址(外网目的地址)为172.16.1.2。

网络组件将封装后的访问请求通过交换机发送至网关,网关对该封装后的访问请求的报文头进行解析,确定外网目的地址172.16.1.2对应的服务器为服务器b1,将该该封装后的访问请求发送至服务器b1。

服务器b1继续解析该封装后的访问请求,确定内网目的地址10.100.2.2对应的管理对象为管理对象b,将访问请求发送至该管理对象b。

综上,从第二服务器集群所在的网络环境与租户的vpc的网络环境通过对报文的封装实现通信。从第二服务器集群内部的管理终端访问租户的vpc内部的管理对象时,通过特定的封装模块,增加了第二服务器集群的出口报文,其目标为租户的vpc的内部管理对象所在的服务器的ip地址。当出口报文到租户的vpc的内部管理对象所在的服务器时,服务器的特定的解封装模块即会拆分出口报文,解析报文,将其转发至其租户的vpc的内部待访问的管理对象,从而实现第二服务器集群内的管理终端对租户的vpc内的管理对象的访问。

本申请实施例还提供了一种对租户vpc内部容器的管理方法,该方法应用于网络组件,该方法包括:网络组件接收到访问请求后,对该访问请求进行四层封装,并将封装后的访问请求发送至网卡;其中,参见图5,对,访问请求进行四层封装,包括以下几个步骤:

步骤s501,对访问请求进行vni封装,得到第一封装报文;

步骤s502,对上述第一封装报文进行udp封装,得到第二封装报文;

步骤s503,对上述第二封装报文进行ip封装,得到第三封装报文;

步骤s504,对上述第三封装报文进行ethernet封装,得到第四封装报文。

可选地,上述步骤s501包括:基于上述访问请求中的目的地址,从neutron中获取与目的地址对应的vni;其中,该vni为租户所在的vpc的vxlan网络标识;在上述访问请求的报文头部增加vxlanheader报文头,其中,该vxlanheader报文头包括所述vni。

可选地,上述步骤s502包括:基于上述访问请求中的目的地址,从neutron中获取与目的地址对应的destport;其中,该destport为管理对象所在的服务器的udp端口号;在上述第一封装报文的报文头部增加outerudpheader报文头;其中,该outerudpheader报文头包括上述destport。

可选地,上述步骤s503包括:基于上述访问请求中的目的地址,从neutron中获取ipda;其中,该ipda为管理对象所在的服务器的ip地址;在上述第二封装报文的报文头部增加outeripheader报文头,其中,该outeripheader报文头包括上述ipda;

可选地,上述步骤s504包括:基于上述访问请求中的目的地址,从neutron中获取macda;其中,该macda为管理对象所在的服务器的mac地址;在上述第三封装报文的报文头部增加outerethernetheader报文头,其中,该outerethernetheader报文头包括所述macda。

参见图6,本申请实施例还提供一种电子设备100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。

其中,存储器41可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。

处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。

本申请实施例提供的对租户vpc内部容器的管理方法,与上述实施例提供的对租户vpc内部容器的管理系统具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本申请实施例所提供的进行对租户vpc内部容器的管理方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法和电子设备的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。

附图中的流程图和框图显示了根据本申请的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1