使用数据中心网络结构作为代理的应用层服务流量通信制造技术

技术编号:29619119 阅读:28 留言:0更新日期:2021-08-10 18:40
本文描述了一种用于为微服务应用提供服务的系统。在一实施例中,系统包括多个容器环境,每个容器环境包括主机节点。虚拟结构边缘实例在每个主机节点上执行。主机节点通过多个交换机被互连。结构控制器管理该多个交换机,并通过在每个主机节点上执行的虚拟结构边缘实例来实现策略。结构控制器还通过以下方式来通过虚拟结构边缘实例为应用实例提供服务:通过虚拟结构边缘实例将流量、数据、查询从应用或代理实例路由到容器环境中的另一应用或代理实例。

【技术实现步骤摘要】
【国外来华专利技术】使用数据中心网络结构作为代理的应用层服务流量通信本申请于2020年01月03日作为PCT国际专利申请被提交,并要求享有2019年1月9日提交的序列号为62/243,945的美国临时专利申请的优先权权益,该美国临时专利申请的全部公开内容通过引用以其整体合并于此。
本公开的一个
是数据中心结构的部署。另一
是实现用于在数据中心中部署的微服务的服务网格。
技术介绍
本章节中描述的途径是可以采用的途径,但不一定是先前已经设想或采用的途径。因此,除非另有说明,否则不应假定在本章节中描述的任何途径仅由于其被包括在本章节中而被认为是现有技术。在现代面向服务的结构化范例中,越来越关注使用服务网格来针对微服务应用提供第7层服务。例如,在数据中心中的不同主机节点上执行的微服务应用可能需要对该应用进行健康状况检查、针对该应用进行服务发现、或针对该应用进行全局速率限制。边车(sidecar)代理经常用于针对应用提供普遍需要的第7层服务。边车代理是专用于特定应用实例的代理实例,并与在不同节点上执行的其他边车代理通信以获取有关该应用的信息。边车代理由于在提供所需服务方面的实用性和可靠性而经常被使用。例如,中间代理与工作负载的距离不够近,而无法在不向每个节点发送查询的情况下获取有关应用实例的信息。另外,中间代理可能是多个节点中有故障的单个点。边车代理通过如下操作来解决这些问题:与应用实例协同执行并提供分布式信息源,使得一个点的故障不会拖累整个系统。边车代理还通过针对每个应用实例提供单独的边车代理,来允许微服务被多方租借(multi-tenanted)。如果需要端到端加密,则边车代理可以代表微服务应用执行加密或解密。边车代理的主要问题在于它们在获取有关(在其他节点上执行的)应用实例的信息方面效率低下。由于没有用于应用信息的中央存储库,因此,边车代理必须与针对微服务应用执行应用实例的每个节点上的边车代理进行通信,以获取有关如下各项的信息:全局速率限制、服务发现、或已发现服务的整体健康状况。因此,需要一种有效地针对第7层应用提供服务的系统,该系统靠近工作负载,避免单点故障,针对多方租借提供功能,并提供应用流量方面的端到端加密。
技术实现思路
所附权利要求可作为本专利技术的
技术实现思路
。附图说明在附图中:图1描绘了用于针对数据中心部署中的容器化微服务的服务网格提供中间代理的示例系统。图2描绘了用于针对数据中心部署中的容器化微服务的服务网格提供中间代理的方法。图3是示出了可以用来实现实施例的示例计算机系统的框图。具体实施方式在以下的描述中,出于解释的目的,阐述了许多具体的细节以便提供对本专利技术的透彻理解。然而将显而易见的是,可以在没有这些具体细节的情况下实践本专利技术。在其他实例中,为了避免不必要地使本专利技术晦涩难懂,以框图的形式示出了公知的结构和设备。1.总体概述本文描述了通过利用数据中心结构来改进对服务网格的实现的方法。根据一实施例,数据中心结构是通过结构控制器来被管理的,该结构控制器与在数据中心中的主机节点上执行的虚拟结构边缘进行通信。来自微服务应用实例的应用流量被路由通过虚拟结构边缘,从而使结构控制器在所执行的服务和流量流方面具有全局可见性。结构控制器能够提供策略或统计信息,以供服务网格代理通过虚拟结构边缘进行实施。端到端加密可以通过结构控制器和容器编排器之间的API交互来被执行。多方租借可以通过在路由传出流量时使用虚拟结构边缘所提供的VxLAN覆盖来被提供。在一实施例中,一种系统包括多个容器环境,每个容器环境包括主机节点;多个交换机,被配置为使多个容器环境互连;结构控制器,被配置为管理所述多个交换机并通过在每个主机节点上执行的虚拟结构边缘实例实现策略;结构控制器还被配置为通过以下方式来通过虚拟结构边缘实现应用功能:将来自容器环境中的应用实例的应用流量通过虚拟结构边缘实例进行路由。在一实施例中,应用功能包括服务发现功能或应用健康状况检查功能中的一项或多项。在一实施例中,该系统还包括在多个容器环境中的每个容器环境中执行的服务网格代理,每个容器环境中的服务网格代理被配置为向虚拟结构边缘实例查询关于应用功能的数据。在一实施例中,结构控制器被配置为:响应于服务网格代理向虚拟结构边缘实例查询关于应用功能的数据,而将关于应用功能的数据下载到交换机中,该交换机被连接到包含服务网格代理的容器环境。在一实施例中,虚拟结构边缘实例被配置为使用VxLAN覆盖来在容器环境中的不同应用实例之间提供隔离。在一实施例中,结构控制器还被配置为从容器编排器获得用于应用实例的加密密钥,并将该加密密钥安全地分发给虚拟结构边缘实例。在一实施例中,结构控制器被配置为存储针对应用定义速率限制策略的数据,并通过虚拟结构边缘实例实施速率限制策略。在一实施例中,一种方法包括:在虚拟容器环境中的主机节点上存储虚拟结构边缘实例,该虚拟结构边缘实例被配置为实现结构控制器所接收的数据中心策略;在虚拟容器环境中执行应用的应用实例;将来自容器环境中的应用实例的应用流量通过虚拟结构边缘实例路由到一个或多个交换机。在一实施例中,该方法还包括:从虚拟结构边缘实例向结构控制器发送对所路由的应用实例流量进行描述的数据;在虚拟结构边缘实例处,从容器环境中的应用实例代理接收对关于该应用实例的数据的查询;将查询从虚拟结构实例通过一个或多个交换机进行路由;将对查询的响应从结构控制器下载到一个或多个交换机中;在虚拟结构实例处缓存对查询的响应。在一实施例中,查询包括对关于以下各项中的一项或多项的数据的请求:服务发现,或应用健康状况检查。在一实施例中,该方法还包括在结构控制器上存储针对该应用的速率限制策略;使用被存储在结构控制器上的针对应用的速率限制策略,通过虚拟结构边缘实例限制应用实例的应用流量。在一实施例中,该方法还包括:在虚拟结构边缘处接收针对应用实例的经加密应用流量;使用结构控制器,向容器编排器请求加密密钥;在结构控制器处接收加密密钥,并将该加密密钥发送到虚拟结构边缘以解密应用流量。在一实施例中,该方法还包括使用VxLAN覆盖在应用实例和第二应用实例之间提供隔离。2.结构和功能示例图1描绘了用于针对数据中心部署中的容器化微服务的服务网格提供中间代理的示例系统。图1的各种元件使用网络交换机在网络上通信,比如,通过叶脊架构(例如,CLOS网络拓扑),但是实施例不限于此示例,并且可适用于由结构控制器监视的任何数据中心结构。主机节点102可以是被配置为在数据中心中进行通信的任何计算机系统。主机节点102可以托管一个或多个容器环境,例如Docker或Kubernetes容器。例如,Docker或Kubernetes容器可以被托管在服务器计算机上。每个容器环境是提供特定服务的独立可执行软件包,其包括运行该软件包所需的一切,包括代码、运行时、系统库、设置等。容器环境可以实现容器网络接口(CNI)联网模型本文档来自技高网
...

【技术保护点】
1.一种系统,包括:/n多个主机节点,每个主机节点包括容器环境;/n多个交换机,被配置为使所述多个主机节点互连;/n结构控制器,被配置为管理所述多个交换机并通过在每个主机节点上执行的虚拟结构边缘实例实现策略;/n所述结构控制器还被配置为通过以下操作来通过所述虚拟结构边缘实例实现应用功能:将来自所述容器环境中的应用实例的应用流量通过所述虚拟结构边缘实例进行路由。/n

【技术特征摘要】
【国外来华专利技术】20190109 US 16/243,9451.一种系统,包括:
多个主机节点,每个主机节点包括容器环境;
多个交换机,被配置为使所述多个主机节点互连;
结构控制器,被配置为管理所述多个交换机并通过在每个主机节点上执行的虚拟结构边缘实例实现策略;
所述结构控制器还被配置为通过以下操作来通过所述虚拟结构边缘实例实现应用功能:将来自所述容器环境中的应用实例的应用流量通过所述虚拟结构边缘实例进行路由。


2.如权利要求1所述的系统,其中,所述应用功能包括以下各项中的一项或多项:服务发现功能,或应用健康状况检查功能。


3.如权利要求1或2所述的系统,还包括在所述多个容器环境中的每个容器环境中执行的服务网格代理,每个容器环境中的所述服务网格代理被配置为向所述虚拟结构边缘实例查询关于应用功能的数据。


4.如权利要求3所述的系统,其中,所述结构控制器被配置为:响应于所述服务网格代理向所述虚拟结构边缘实例查询关于应用功能的数据,而将关于所述应用功能的数据下载到交换机中,该交换机连接到包含所述服务网格代理的所述容器环境。


5.如权利要求1至4中任一项所述的系统,其中,所述虚拟结构边缘实例被配置为使用VxLAN覆盖来在容器环境中的不同应用实例之间提供隔离。


6.如权利要求1至5中任一项所述的系统,其中,所述结构控制器还被配置为进行以下操作:从容器编排器获得用于应用实例的加密密钥,以及将所述加密密钥安全地分发给所述虚拟结构边缘实例。


7.如权利要求1至6中任一项所述的系统,其中,所述结构控制器被配置为进行以下操作:存储针对应用定义速率限制策略的数据,以及通过所述虚拟结构边缘实例实施所述速率限制策略。


8.一种方法,包括:
在包括虚拟容器环境的主机节点上存储虚拟结构边缘实例,该虚拟结构边缘实例被配置为实现结构控制器所接收的数据中心策略;
在所述虚拟容器环境中执行应用的应用实例;
将来自所述容器环境中的所述应用实例的应用流量通过所述虚拟结构边缘实例路由到一个或多个交换机。


9.如权利要求8所述的方法,还包括:
从所述虚拟结构边缘实例向结构控制器发送如下数据:该数据描述所路由的应用实例流量;
在所述虚拟结构边缘实例处,从所述容器环境中的应用实例代理接收对关于所述应用实例的数据的查询;
将所述查询从所述虚拟结构实例通过所述一个或多个交换机进行路由;
将对所述查询的响应从所述结构控制器下载到所述一个或多个交换机中;
在所述虚拟结构实例处缓存对所述查询的所述响应。


10.如权利要求9所述的方法,其中,所述查询包括对与以下各项中的一项或多项有关的数据的请求:服务发现,或应用健康状况检查。


11.如权利要求8至10中任一项所述的方法,还包括:
在所述结构控制器上存储针对所述应用的速率限制策略;
使用被存储在所述结构控制器上的针对所述应用的所述速率限制策略,通过所述虚拟结构边缘实例限制所述应用实例的应用流量。


12.如权利要求8至11中任一项所述的方法,还包括:
在所述虚拟结构边缘处接收针对所述应用实例的经加密应用流量;
使用所述结构控制器,向容器编排器...

【专利技术属性】
技术研发人员:所罗伯·帕特沃德罕
申请(专利权)人:思科技术公司
类型:发明
国别省市:美国;US

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

1