CN116546019A - 基于服务网格的流量管理方法、装置、设备和介质 - Google Patents
基于服务网格的流量管理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN116546019A CN116546019A CN202310648574.9A CN202310648574A CN116546019A CN 116546019 A CN116546019 A CN 116546019A CN 202310648574 A CN202310648574 A CN 202310648574A CN 116546019 A CN116546019 A CN 116546019A
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- gateway
- service
- resources
- 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.)
- Withdrawn
Links
- 238000007726 management method Methods 0.000 title claims abstract description 265
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000005540 biological transmission Effects 0.000 claims description 138
- 238000012544 monitoring process Methods 0.000 claims description 133
- 238000004590 computer program Methods 0.000 claims description 19
- 238000013468 resource allocation Methods 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 239000003795 chemical substances by application Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 239000008186 active pharmaceutical agent Substances 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000000243 solution Substances 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- 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/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种基于服务网格的流量管理方法、装置、设备和介质,其中方法包括:响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源;通过控制面组件将目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件基于目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理。本申请可以实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理。
Description
技术领域
本申请实施例涉及服务网格技术领域,尤其涉及一种基于服务网格的流量管理方法、装置、设备和介质。
背景技术
随着信息技术的应用和快速发展,因云计算可以提供了诸如虚拟化、可快速部署、可动态扩展、可靠性强等特性,越来越多的企业选择使用云计算技术,尤其是容器编排管理工具(Kubernetes,简称为k8s)结合服务网格(Service Mesh)技术的云网络架构。
Istio是目前最广为认知的一款服务网格架构,是服务网格最常见的实现方式之一。服务网格Istio最大的特点是使用sidecar(边车)模式,在每个业务容器旁边自动启用一个边缘与服务代理Envoy容器,服务网格Istio让每个边缘与服务代理Envoy都可以访问来自和它关联的工作负载的所有端口的请求,然后转发到对应的工作负载。
相关技术中,基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关,诸如开源云原生网关Higress或者原生网关Gloo等,支持的是网络七层协议(又称为OSI模型)中应用层(又称为L7层)的流量管理,而无法实现传输层(又称为L4层)的流量管理。因此,如何实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理成为亟需解决的问题。
发明内容
本申请提供一种基于服务网格的流量管理方法、装置、设备和介质,可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。
第一方面,本申请提供了一种基于服务网格的流量管理方法,应用于服务网格Istio,所述服务网格Istio包括控制面组件和数据面组件,所述方法包括:
响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
在一些可选的实现方式中,所述响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
响应于所述传输层L4流量管理的配置操作,显示流量管理配置界面,其中所述流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面;
根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将所述目标网关资源、目标服务资源和目标路由资源发送给所述底层平台。
在一些可选的实现方式中,所述根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
分别在所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数;
对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
其中,所述每个配置界面对应的配置参数为从所述网关资源配置界面中获取到的网关配置参数、从所述服务资源配置界面中获取到的服务配置参数以及从所述路由资源配置界面中获取到的路由配置参数。
在一些可选的实现方式中,所述在所述网关资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:虚拟网关的标识信息、所述虚拟网关对应物理网关的标识信息、所述虚拟网关对应的监控协议以及所述虚拟网关对应的监控端口,其中所述虚拟网关的标识信息用于唯一标识相应的虚拟网关,所述物理网关的标识信息用于唯一标识相应的物理网关;
所述在所述服务资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:所述传输层L4对应的服务类型和所述传输层L4对应服务的标识信息,其中所述服务的标识信息用于唯一标识相应的服务;
所述在所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中所述目标网关为所述网关资源对应的虚拟网关,所述目标网关的标识信息用于唯一标识相应的目标网关。
在一些可选的实现方式中,所述对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
通过接口套接组件对每个配置界面对应的配置参数进行数据组装,将每个配置界面对应的配置参数的数据格式转换成所述底层平台支持的数据格式,以得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,所述通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源,包括:
通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
如果所述控制面组件确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源。
在一些可选的实现方式中,所述通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
所述控制面组件通过注册在所述底层平台中的控制器监听所述底层平台;
响应于所述控制器监听到的所述底层平台上自定义资源变化操作,所述控制面组件从变化后的自定义资源中获取变化后的网关资源;
所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
通过所述控制面组件解析所述变化后的网关资源,以确定所述变化后的网关资源中的监控协议是否为应用于传输层L4上的传输协议;
如果所述控制面组件确定所述变化后的网关资源中的监控协议为应用于传输层L4上的传输协议,则确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,所述通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件之前,还包括:
通过所述控制面组件分别对所述目标网关资源、所述目标服务资源和所述目标路由资源进行数据组装,以将所述目标网关资源、所述目标服务资源和所述目标路由资源的数据格式转换成所述数据面组件支持的数据格式。
在一些可选的实现方式中,所述通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,包括:
所述控制面组件通过监听器发现服务LDS,将基于所述目标网关资源确定的监听器动态发送给所述数据面组件;
所述控制面组件通过集群发现服务CDS,将所述目标服务资源动态发送给所述数据面组件;
所述控制面组件通过路由发现服务RDS,将所述目标路由资源动态发送给所述数据面组件。
在一些可选的实现方式中,所述目标服务资源中的服务与所述监控端口之间是一对一关系,且所述目标服务资源中的服务与服务实例之间是一对一关系;
所述目标路由资源中的路由信息与所述监控端口之间是一对一的关系,且所述路由信息是与所述目标服务资源中的服务相对应的服务地址。
在一些可选的实现方式中,如果所述数据面组件的数量不少于两个,则按照多节点部署方式部署所述数据面组件。
第二方面,本申请提供了基于服务网格的流量管理装置,配置于服务网格Istio,所述服务网格Istio包括控制面组件和数据面组件,包括:
资源创建模块,用于响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
资源获取模块,用于通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
资源发送模块,用于通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
在一些可选的实现方式中,所述资源创建模块,包括:
操作响应单元,用于响应于所述传输层L4流量管理的配置操作,显示流量管理配置界面,其中所述流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面;
资源生成单元,用于根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将所述目标网关资源、目标服务资源和目标路由资源发送给所述底层平台。
在一些可选的实现方式中,所述资源生成单元,具体用于:
分别在所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数;
对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
其中,所述每个配置界面对应的配置参数为从所述网关资源配置界面中获取到的网关配置参数、从所述服务资源配置界面中获取到的服务配置参数以及从所述路由资源配置界面中获取到的路由配置参数。
在一些可选的实现方式中,所述在所述网关资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:虚拟网关的标识信息、所述虚拟网关对应物理网关的标识信息、所述虚拟网关对应的监控协议以及所述虚拟网关对应的监控端口,其中所述虚拟网关的标识信息用于唯一标识相应的虚拟网关,所述物理网关的标识信息用于唯一标识相应的物理网关;
所述在所述服务资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:所述传输层L4对应的服务类型和所述传输层L4对应服务的标识信息,其中所述服务的标识信息用于唯一标识相应的服务;
所述在所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中所述目标网关为所述网关资源对应的虚拟网关,所述目标网关的标识信息用于唯一标识相应的目标网关。
在一些可选的实现方式中,所述资源生成单元,还用于:
通过接口套接组件对每个配置界面对应的配置参数进行数据组装,将每个配置界面对应的配置参数的数据格式转换成所述底层平台支持的数据格式,以得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,所述资源获取模块,包括:
确定单元,用于通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
获取单元,用于如果所述控制面组件确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源。
在一些可选的实现方式中,所述确定单元,具体用于:
所述控制面组件通过注册在所述底层平台中的控制器监听所述底层平台;
响应于所述控制器监听到的所述底层平台上自定义资源变化操作,所述控制面组件从变化后的自定义资源中获取变化后的网关资源;
所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,所述确定单元,还用于:
通过所述控制面组件解析所述变化后的网关资源,以确定所述变化后的网关资源中的监控协议是否为应用于传输层L4上的传输协议;
如果所述控制面组件确定所述变化后的网关资源中的监控协议为应用于传输层L4上的传输协议,则确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
在一些可选的实现方式中,还包括:
数据组装模块,用于通过所述控制面组件分别对所述目标网关资源、所述目标服务资源和所述目标路由资源进行数据组装,以将所述目标网关资源、所述目标服务资源和所述目标路由资源的数据格式转换成所述数据面组件支持的数据格式。
在一些可选的实现方式中,所述资源发送模块,具体用于:
所述控制面组件通过监听器发现服务LDS,将基于所述目标网关资源确定的监听器动态发送给所述数据面组件;
所述控制面组件通过集群发现服务CDS,将所述目标服务资源动态发送给所述数据面组件;
所述控制面组件通过路由发现服务RDS,将所述目标路由资源动态发送给所述数据面组件。
在一些可选的实现方式中,所述目标服务资源中的服务与所述监控端口之间是一对一关系,且所述目标服务资源中的服务与服务实例之间是一对一关系;
所述目标路由资源中的路由信息与所述监控端口之间是一对一的关系,且所述路由信息是与所述目标服务资源中的服务相对应的服务地址。
在一些可选的实现方式中,如果所述数据面组件的数量为不少于两个,则按照多节点部署方式部署所述数据面组件。
第三方面,本申请提供了一种电子设备,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如第一方面实施例所述的基于服务网格的流量管理方法。
第四方面,本申请提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序使得计算机执行如第一方面实施例所述的基于服务网格的流量管理方法。
第五方面,本申请提供了一种包含程序指令的计算机程序产品,当程序指令在电子设备上运行时,使得电子设备执行如第一方面实施例所述的基于服务网格的流量管理方法。
本申请实施例公开的技术方案,至少具有如下有益效果:
通过响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控对应的路由信息;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源,并通过控制面组件将获取到的目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件根据获取到的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理,从而实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关支持传输层L4的流量管理,从而可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种基于服务网格的流量管理方法的流程示意图;
图2是本申请实施例提供的一种对多个数据面组件Envoy进行多节点部署的示意图;
图3是本申请实施例提供的另一种基于服务网格的流量管理方法的流程示意图;
图4A是本申请实施例提供一种网关资源配置界面示意图;
图4B是本申请实施例提供的一种服务资源配置界面示意图;
图4C是本申请实施例提供的一种路由资源配置界面示意图;
图4D是本申请实施例提供的另一中路由资源配置界面示意图;
图5A是本申请实施例提供的一种目标网关资源的类图示意图;
图5B是本申请实施例提供的一种目标服务资源的类图示意图;
图5C是本申请实施例提供的一种目标路由资源的类图示意图;
图6是本申请实施例提供的再一种基于服务网格的流量管理方法的流程示意图;
图7是本申请实施例提供的一种基于服务网格的流量管理装置的示意性框图;
图8是本申请实施例提供的一种电子设备的示意性框图;
图9是本申请实施例提供的一种计算机可读存储介质示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
针对相关技术中,基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关,诸如开源云原生网关Higress或者原生网关Gloo等,仅支持的是网络七层协议(又称为OSI模型)中应用层(又称为L7层)的流量管理,而无法实现传输层(又称为L4层)的流量管理的问题。本申请实施例提供了一种基于服务网格的流量管理方法,以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。
对本申请实施例进行详细说明之前,首先对本申请实施例中涉及到的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下解释:
服务网格(Service Mesh):用于描述构成这些应用程序的微服务网络以及应用之间的交互,服务网格是用于处理服务间通信的专用基础设施层。它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求。实际上,服务网格通常通过一组轻量级网络代理来实现,这些代理与应用程序代码一起部署,而不需要感知应用程序本身。
云原生(Cloud Native)技术:有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。
Istio:云原生生态中最主流的服务网格开源框架,拥有可以集成日志、要测和策略系统的API接口,高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法,有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,可以透明地分层到现有的分布式应用程序上,通过集中配置的流量规则控制服务间的流量和API调用,实现负载均衡、熔断、故障注入、重试、定向等服务治理功能。
Istio Pilot:作为Istio的控制面组件,负责消费和传播Istio配置到各种Istio组件。它还为底层集群管理平台(如Kubernetes,简称为k8s)提供一个抽象层,将对接k8s等资源调度器的步骤进行抽象并以适配器的形式展现,并为Istio的动态配置提供代理控制器,用于控制管理istio中的proxy。
Istio proxy:数据面Envoy的轻量代理,用于连接Istio的控制面组件Pilot和envoy之间的交互。它包含envoy以及叠加了Istio的proxy功能的扩展。
Envoy:一个为云原生应用设计的开源边缘与服务代理,是一种为大型现代服务导向架构而设计的高性能代理软件。它是Istio默认的sidecar代理,提供多种服务发现协议(X Discovery Service,简称为xDS)动态配置,多协议代理,丰富的插件配置等多样性能力。它作为Istio的数据面组件,承担了流量控制、负载均衡、熔断等一系列重要功能。
Kubernetes(k8s):一种容器编排管理工具,支持自动化部署、大规模可伸缩、应用容器化管理,是常见的云计算框架。
容器:待运行的应用程序/服务被打包成容器,Kubernetes技术中不直接运行容器,而是将一个或多个容器封装到一个称为Pod的结构中。
POD:基于Kubernetes技术的云计算系统的基础单元,是运行容器化应用的资源对象,POD部署在一个节点上。
节点:基于Kubernetes技术的云计算系统中最小的计算硬件单元,可以是云计算系统中单个物理机,也可以是云计算系统中单个虚拟机。
CRD:CRD是Custom Resource Define的缩写,本身是一种Kubernetes内置的资源类型,即自定义资源的定义,用于描述用户定义的资源是什么样子。CRD是在k8s高版本(v1.7+)上新增加的新特性,为了提高拓展性,让开发者可以自己定义k8s资源对象。
在介绍了本申请实施例涉及到的一些概念之后,下面结合附图对本申请实施例提供的一种基于服务网格的流量管理方法、装置、设备和介质进行详细说明。
图1是本申请实施例提供的一种基于服务网格的流量管理方法的流程示意图。本申请实施例可适用于传输层L4流量管理场景,该基于服务网格的流量管理方法可由基于服务网格的流量管理装置来执行。并且,该基于服务网格的流量管理装置可由硬件和/或软件组成,并可集成于电子设备中。在本申请实施例中,电子设备可选为任意具备数据处理功能的硬件设备,例如智能手机、平板电脑、掌上电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)、可穿戴设备等,本申请对电子设备类型不做具体限制。
如图1所示,该方法应用于服务网格Istio,服务网格Istio包括控制面组件和数据面组件,可以包括如下步骤:
S101,响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控端口对应的路由信息。
在本申请实施例中,底层平台可选为容器编排管理工具(Kubernetes,简称k8s)、分布式计算框架(Mesos)和Cloud Foundry中的至少一个。
考虑到在k8s高版本(v1.7之后)增加了对CRD自定义资源二次开发功能来扩展k8s应用程序接口(Application Program Interface,简称为API)。也就是说,通过CRD可以向k8s API(又称为Kubernetes API)增加新资源类型,而不需要修改k8s源码来创建自定义的API服务(API server),该功能可以大大提高k8s的扩展能力。所以,本申请优选底层平台为k8s。
为了实现对传输层L4的流量管理,本申请可通过利用k8s提供的Kubernetes API,在k8s上创建针对传输层L4的自定义服务治理策略,该自定义服务治理策略可选为流量管理规则。本申请中流量管理规则具体为流量管理的自定义资源。
本申请实施例中,流量管理的自定义资源包括目标网关资源、目标服务资源和目标路由资源。
其中,目标网关资源具体为Gateway资源,目标服务资源具体为Destination Rule资源,目标路由资源具体为Virtual Service资源。
上述Gateway资源用于对入口流量的管理,并且Gateway资源包括监控端口和监控协议。其中,监控端口用于描述Gateway对外开放的端口,监控协议用于描述Gateway对外支持的传输协议。因为本申请是为了实现传输层L4的流量管理,所以监控协议为应用于传输层L4上的传输协议,具体包括两类:面向连接网络协议和无连接网络协议。
其中,面向连接网络协议是指通信双方之间在通信之前先建立连接,而无连接网络协议则是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的数据包发送到网络线上,由系统自主选定线路进行传输。
在本申请实施例中,面向连接网络协议为传输控制协议(Transmission ControlProtocol,简称TCP);无连接网络协议为用户数据报协议(User Datagram Protocol,简称UDP)。
上述Destination Rule资源是与一个后端服务实例对应的服务,比如订单服务、查询服务等,本申请对其不做任何限制。
考虑到传输层L4相较于网络层L7缺少路径等匹配的能力,即传输层L4流量无法基于路径从一个端口关联的多个后端服务实例中精准匹配到目标后端服务实例。所以,本申请中优选Destination Rule资源中的服务与Gateway资源中的监控端口之间的关系为一对一关系,并且Destination Rule资源中的服务与服务实例之间也是一对一关系。由此,可以保证基于Gateway资源对外开放的监控端口进行请求响应时,可以首先确定出与该监控端口对应的服务,进而基于服务精准确定出关联的服务实例。
需要说明的是,上述服务实例可以理解为真正处理服务请求的后端,具体来说就是监听在相同端口上的具有同样行为的对等后端。
上述Virtual Service资源是指与Gateway资源对外开放的监控端口关联的路由信息。在本申请实施例中,目标路由资源(Virtual Service资源)中的路由信息与目标网关资源(Gateway资源)中的监控端口之间是一对一的关系,且路由信息是与目标服务资源(Destination Rule资源)中的服务相对应的服务地址。也就是说,当Gateway资源对外开放的监控端口接收到访问请求时,基于与监控端口关联的Virtual Service资源可以准确确定出目标服务地址,该目标服务地址具体为目标后端服务实例的访问地址。
S102,通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源。
考虑到控制面组件Pilot可以从k8s API server中获取到用户在k8s上创建的自定义资源。所以,本申请可通过控制面组件Pilot利用k8s API server从k8s上获取用户创建的关于传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
S103,通过控制面组件将目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件基于目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理。
在本申请实施例中,数据面组件为Envoy。
由于数据面组件Envoy承担了流量控制、负载均衡、熔断等一系列重要功能,并且控制面组件Pilot能够与数据面组件Envoy通信。所以,本申请在控制面组件Pilot从k8s上获取到针对传输层L4的流量管理的目标网关资源、目标服务资源和目标路由资源之后,可根据Envoy API通过xDS协议将目标网关资源、目标服务资源和目标路由资源动态发送给数据面组件Envoy。进而,数据面组件Envoy可通过xDS API动态获取控制面组件Pilot下发的目标网关资源、目标服务资源和目标路由资源,并根据控制面组件Pilot下发的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理。
考虑到xDS协议可包括:监听器发现服务(Listener Discovery Service,简称LDS)、集群发现服务(clusterdiscovery service,简称CDS)、路由发现服务(routediscovery service,简称RDS)、端点发现服务(endpoint discovery service,简称EDS)、密钥发现服务(Secret Discovery Service,简称SDS)和聚合发现服务(aggregateddiscovery service,简称ADS)。
所以,本申请通过控制面组件Pilot将目标网关资源、目标服务资源和目标路由资源发送给数据面组件Envoy时,可根据自定义资源类型采用不同的服务发现协议向数据面组件Envoy动态下发。
作为一种可选的实现方式,控制面组件Pilot将目标网关资源下发给数据面组件Envoy时,由于目标网关资源中定义了监控端口和监控协议,而数据面组件Envoy中监听器Listener的监控端口和监控协议是与目标网关资源中的监控端口和监控协议相同。即,目标网关资源中定义的监控端口和监控协议定义了在数据面组件Envoy中的监控器Listener的监控端口和监控协议。
所以,控制面组件Pilot可向数据面组件Envoy下发监听器。具体实现方式为:控制面组件Pilot可通过监听器发现服务LDS,将基于目标网关资源确定的监听器动态发送给数据面组件Envoy。
另外,控制面组件Pilot将目标服务资源下发给数据面组件Envoy时,可通过集群发现服务CDS,将目标服务资源动态发送给数据面组件Envoy。
进一步的,控制面组件Pilot将目标路由资源下发给数据面组件Envoy时,可通过路由发现服务RDS,将目标路由姿态动态发送给数据面组件Envoy。
考虑到控制面组件Pilot从k8s上获取到的传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源的数据格式可能无法被数据面组件Envoy准确识别,导致数据面组件Envoy基于目标网关资源、目标服务资源和目标路由资源对传输层L4的流量管理效果较差。
所以,控制面组件Pilot将目标网关资源、目标服务资源和目标路由资源发送给数据面组件Envoy之前,可选的还包括:通过控制面组件Pilot分别对目标网关资源、目标服务资源和目标路由资源进行数据组装,以将目标网关资源、目标服务资源和目标路由资源的数据格式转换成数据面组件支持的数据格式。
然后,控制面组件Pilot再将数据格式转换后的目标网关资源、数据格式转换后的目标服务资源和数据格式转换后的目标路由资源发送给数据面组件Envoy,使得数据面组件Envoy能够识别控制面组件Pilot下发的目标网关资源、目标服务资源和目标路由资源,从而保证数据面组件Envoy对传输层L4的流量管理效果。
在一些可选的实现方式中,数据面组件Envoy的数量可能不少于两个,那么本申请可按照多节点部署方式部署上述多个数据面组件。与此同时,通过HostNetwork方式暴露,使用一种轻量级的高可用解决方案(KeepAlived VIP)实现多节点访问的切换,具体实现方式可参见图2所示
上述多节点部署方式具体为Kubernetes多节点部署方式。
并且,通过HostNetwork方式暴露具体是在网关Pod上添加hostNetwork:true配置来实现。
应理解的是,上述KeepAlived VIP是通过虚拟路由冗余协议(Virtual RouterRedundancy Protocol,简称VRRP协议)实现高可用的功能。它将N台提供相同功能的路由器(本申请中为数据面组件Envoy)组成一个路由器组(本申请中数据面组件Envoy组),这个组里面有一个主节点master和N-1个备用节点backup,master上面有一个对外提供服务的vip,master会发送(多播的方式)心跳消息,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,来接管旧Master节点的IP资源及服务;而当Master节点恢复时,Backup节点又会释放Master节点故障时自身接管的IP资源及服务,恢复到原来的Backup角色。从而解决静态路由单点故障问题。
本申请提供的一种基于服务网格的流量管理方法,通过响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控对应的路由信息;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源,并通过控制面组件将获取到的目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件根据获取到的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理,从而实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关支持传输层L4的流量管理,从而可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。
在上述实施例的基础上,下面结合图3,对本申请中在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源进行进一步解释说明。
如图3所示,该方法可以包括如下步骤:
S201,响应于传输层L4流量管理的配置操作,显示流量管理配置界面,其中流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面。
S202,根据网关资源配置界面、服务资源配置界面和路由资源配置界面,生成传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将目标网关资源、目标服务资源和目标路由资源发送给底层平台。
其中,目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控端口对应的路由信息。
可选的,当需要配置传输层L4的流量管理规则时,用户可点击选中电子设备显示的流量管理配置控件,以向电子设备发送流量管理配置操作。其中,流量管理配置操作为针对传输层L4流量管理的配置操作或针对网络层L7流量管理的配置操作。本申请中主要以发送针对传输层L4流量管理的配置操作进行说明。
当电子设备检测到流量管理配置控件的点击选中操作时,确定接收到用户触发的流量管理配置操作。此时,向用户显示流量管理配置界面,使得用户基于流量管理配置界面,在底层平台创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
其中,流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面。
在本申请实施例中,电子设备向用户的流量管理配置界面可为预先设置的控制界面。在本申请中,预先设置的控制界面可选为网关控制界面Portal,通过该控制界面可向用户提供友好型的可视化页面,使得用户可以通过页面低成本、去专业化的设置相关配置。
在一些可选的实现方式中,本申请基于电子设备显示的流量管理配置界面,生成传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,可包括如下步骤:
步骤一,分别在网关资源配置界面、服务资源配置界面和路由资源配置界面中,获取传输层L4流量管理的配置参数。
步骤二,对每个配置界面对应的配置参数进行处理,得到传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
其中,每个配置界面对应的配置参数为从网关资源配置界面中获取到的网关配置参数、从服务资源配置界面中获取到的服务配置参数以及从路由资源配置界面中获取到的路由配置参数。
在一些可选的实现方式中,电子设备显示流量管理配置界面时,可选的首先显示网关资源配置界面,那么用户可在网关资源配置界面中输入传输层L4的网关配置参数,使得电子设备从网关资源配置界面中获取到用户针对传输层L4的网关配置参数。进而,对获取到的网关配置参数进行处理,以得到传输层L4流量管理的目标网关资源。之后,电子设备可显示服务资源配置界面,用户可在该服务资源配置界面中输入传输层L4的服务配置参数,使得电子设备从服务资源配置界面中获取用户针对传输层L4的服务配置参数。并且,电子设备对获取到的服务配置参数进行处理,以得到传输层L4流量管理的目标服务资源。最后,电子设备可显示路由资源配置界面,用户可在该路由资源配置界面中输入传输层L4的路由配置参数,使得电子设备可从路由资源配置界面中获取用户针对传输层L4的路由配置参数。进而,电子设备对获取到的路由配置参数进行处理,以得到传输层L4流量管理的目标路由资源。
在本申请中,电子设备从网关资源配置界面中获取到用户针对传输层L4的网关配置参数,至少包括:虚拟网关的标识信息、虚拟网关对应物理网关的标识信息、虚拟网关对应的监控协议以及虚拟网关对应的监控端口,其中虚拟网关的标识信息用于唯一标识相应的虚拟网关,物理网关的标识信息用于唯一标识相应的物理网关。其中,标识信息可选为名称或其他能够唯一确定身份的信息,此处对其不做具体限制。
示例性的,如图4A所示为网关资源配置界面,在图4A中网关配置参数可包括:虚拟网关的标识信息gateway-udp、虚拟网关对应物理网关的标识信息gateway-proxy、虚拟网关对应的监控协议UDP、虚拟网关对应的监控端口80、前端代理地址和备注信息。其中,前端代理地址和备注信息为可选项,根据实际需要有选择性的进行填写,而虚拟网关的标识信息gateway-udp、虚拟网关对应物理网关的标识信息gateway-proxy、虚拟网关对应的监控协议UDP和虚拟网关对应的监控端口80是必选项,用户需要分别在上述各个必选项中输入对应配置参数,后续才能生成目标网关资源。
电子设备从服务资源配置界面中获取到用户针对传输层L4的服务配置参数,至少包括:传输层L4对应的服务类型和传输层L4对应服务的标识信息,其中服务的标识信息用于唯一标识相应的服务。本申请中标识信息可选为名称或其他能够唯一确定身份的信息,此处对其不做具体限制。
示例性的,如图4B所示为服务资源配置界面,在图4B中服务配置参数可包括:传输层L4对应的服务类型UDP、传输层L4对应服务的标识信息XXXX、负责人和备注信息。其中,负责人和备注信息为可选项,根据实际需要有选择性的进行填写,而传输层L4对应的服务类型UDP和传输层L4对应服务的标识信息XXXX是必选项,用户需要分别在上述各个必选项中输入对应配置参数,后续才能生成目标服务资源。
电子设备从路由资源配置界面中获取到用户针对传输层L4的路由配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中目标网关为网关资源对应的虚拟网关,目标网关的标识信息用于唯一标识相应的目标网关。本申请中标识信息可选为名称或其他能够唯一确定身份的信息,此处对其不做具体限制。
示例性的,如图4C所示为路由资源配置界面,在图4C中路由配置参数可包括:目标网关的标识信息gateway-udp(prod)、服务地址kube-dns.kube-system.svc.cluster.local和服务端口53。
考虑到创建传输层L4的目标服务资源之后需要发布该目标服务资源,并且在发布目标服务资源的同时会同步创建该服务默认的目标路由资源。因此,本申请路由资源配置界面中路由配置参数除了包括目标网关的标识信息、服务地址和服务端口之外,还包括发布方式和注册中心。具体可参见图4D所示,在图4D中路由资源配置界面中的路由配置参数可包括:目标网关的标识信息gateway-udp(prod)、服务地址kube-dns.kube-system.svc.cluster.local、服务端口53、发布方式和注册方式。
获取到每个配置界面对应的配置参数之后,电子设备可通过接口套接组件对每个配置界面对应的配置参数进行数据组装,以将每个配置界面对应的配置参数的数据格式转换成底层平台支持的数据格式,从而得到传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
上述接口套接组件可选为Api-plane。
可选的,通过接口套接组件Api-plane对每个配置界面对应的配置参数进行数据组装,具体是将每个配置界面对应的配置参数的数据格式从OpenAPI数据格式转换成底层平台k8s支持的yaml格式。
在本申请中,目标网关资源的类图可如图5A所示。其中,图5A中监听器Listener会通过控制面组件Pilot下发给数据面组件Envoy,从而数据面组件Envoy可通过监听器Listener对外提供监听端口。进而,客户端通过此端口可以与数据面组件Envoy建立通讯,获取连接(connection)。此外,在监听器Listener上还可设置过滤器链(filter_chains),链上设置多个过滤器,这样的设置可保证对进入数据面组件Envoy的网络流量(请求)进行相应的处理。示例性的,假设过滤器链(filter_chains)中设置TCP过滤器,从而进入数据面组件Envoy的所有TCP流量都将被路由到与该TCP过滤器对应的集群clusters配置中,该集群clusters配置了TCP流量最终流向服务端点endpoints。
并且,目标网关资源的实现代码可如下:
上述目标网关资源实现代码中,Gatewayspec字段中只有一个属性servers,该属性servers定义了网关支持的端口、协议等信息。
并且图5A中server字段由三个属性组成,分别是:
name:该server对应的名称。
host:一组host集合,指定了绑定在此Gateway上的一组逻辑端点。请求通过时,host必须符合集合中的配置。换言之,该host表示监听器Listener会向哪些特定的虚拟主机转发流量。
port:为此Server暴露的请求信息,其中包含了名称、协议(http、https、tcp、udp等),端口及映射端口。
可选的,目标服务资源的类图可如图5B所示。并且,目标服务资源的实现代码可如下:
apiVersion:networking.istio.io/v1alpha3
kind:DestinationRule
metadata:
#定义传输层L4对应后端服务信息
name:coredns-dr-0
namespace:gateway-system
spec:
host:kube-dns.kube-system.svc.cluster.local
上述目标服务资源实现代码中,DestinationRulespec字段中只有一个属性hosts,用于指定后端接收请求的服务配置。如上述实现代码中的配置所示,host中配置了一例Kubernetessvc地址,从而后续服务网格Istio中控制面组件Pilot会根据该地址获取对应的服务地址信息(ip+port)进行包装转换,并发送至数据面组件Envoy。
此外,目标路由资源的类图可如图5C所示。并且,目标路由资源的实现代码可如下:
上述目标路由资源实现代码中,VirtualServicespec字段有三个属性,分别是:
hosts:一组host集合,当指定了该项配置时,仅允许对应host的请求路由。
Gateways:一组Gateway配置,与上述Gateway资源对应,通过该资源的关联,指定了请求所访问的端口。
udp/tcp:该属性是本申请扩展提供udp/tcp的核心配置,如图5C所示类图中udp所示,当GatewayCRD指定了udp/tcp类型时,目标路由资源VirtualService同步配置udp/tcp属性。udp/tcp中有三个属性,其中match本为http路由配置项,而tcp/udp协议路由无path路径、method路由请求的方法等,基于结构一致及可扩展性能力的考虑,本申请针对传输层L4的流量管理保持match属性,但去除path、method等网络层L7的流量属性;
route:为该路由后端服务的配置,与前述DestinationRule中的配置相对应。
进一步的,得到底层平台k8s支持的目标网关资源、目标服务资源和目标路由资源之后,本申请可通过接口套接组件Api-plane将目标网关资源、目标服务资源和目标路由资源发送给底层平台k8s,从而为后续服务网关Istio基于底层平台k8s上的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理奠定基础。
S203,通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源。
S204,通过控制面组件将目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件基于目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理。
本申请提供的一种基于服务网格的流量管理方法,通过响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控对应的路由信息;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源,并通过控制面组件将获取到的目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件根据获取到的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理,从而实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关支持传输层L4的流量管理,从而可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。此外,通过向用户提供友好型的可视化流量管理配置界面,以使用户可以基于流量管理配置界面低成本、去专业化的设置针对传输层L4的流量管理规则,从而可简化用户针对传输层L4的流量管理规则配置步骤,降低针对传输层L4的流量管理规则配置难度。
下面结合图6,对上述实施例中通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源进行详细说明。
如图6所示,该方法可以包括如下步骤:
S301,响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控端口对应的路由信息。
S302,通过控制面组件监听底层平台,确定底层平台上是否存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
可选的,由于控制面组件Pilot可以在底层平台k8s上注册一个控制器Controller来监听事件。所以,本申请中控制器组件Pilot会通过注册在底层平台中的控制器Controller监听底层平台中自定义资源(CRD资源)是否发生变动。当用户在底层平台上创建了传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源时,该控制器Controller是能够监听到底层平台中CRD资源发生变动,并且还会将监听到的CRD资源变动信号发送给控制面组件Pilot。进而,控制面组件Pilot可响应控制器Controller监听到的底层平台上CRD资源变化操作,从变化后的CRD资源中获取变化后的网关资源。然后控制面组件Pilot根据变化后的网关资源,确定底层平台上是否存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
需要说明的是,底层平台上的各自定义资源之间是相互独立的,即每种自定义资源可通过各自对应的通道被创建在底层平台上。
作为一种可选的实现方式,控制面组件Pilot根据变化后的网关资源,确定底层平台上是否存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,具体如下:控制面组件Pilot首先解析变换后的网关资源,以确定变换后的网关资源中的监控协议是否为应用在传输层L4上的传输协议,比如TCP协议或UDP协议。如果控制面组件Pilot确定变换后的网关资源中的监控协议为应用于传输层L4上的传输协议,则确定底层平台上存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。如果控制面组件Pilot确定变换后的网关资源中的监控协议不为应用于传输层L4上的传输协议,则确定底层平台上不存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
S303,如果控制面组件确定底层平台上存在传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从底层平台获取目标网关资源、目标服务资源和目标路由资源。
可选的,通过控制面组件Pilot利用k8s API server从k8s上获取与变换后的网关资源关联的服务资源和路由资源,并将获取到的变换后的网关资源确定为目标网关资源,将获取到的与变换后的网关资源关联的服务资源确定为目标服务资源,以及将获取到的与变换后的网关资源关联的路由资源确定为目标路由资源。
S304,通过控制面组件将目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件基于目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理。
本申请提供的一种基于服务网格的流量管理方法,通过响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控对应的路由信息;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源,并通过控制面组件将获取到的目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件根据获取到的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理,从而实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关支持传输层L4的流量管理,从而可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。此外,通过注册于底层平台上的控制器实时监听底层平台中自定义资源,以实现在第一时间发现用户在底层平台上创建传输层L4的流量管理规则,从而通过控制面组件将传输层L4的流量管理规则下发给数据面组件,使得数据面组件根据获取到的传输层L4的流量管理规则对应用在传输层L4上的流量进行及时管理。
下面参照附图7,对本申请实施例提出的一种基于服务网格的流量管理装置进行描述。图7是本申请实施例提供的一种基于服务网格的流量管理装置的示意性框图。本申请中,基于服务网格的流量管理装置,配置于服务网格Istio,服务网格Istio包括控制面组件和数据面组件。
如图7所示,该基于服务网格的流量管理装置400包括:资源创建模块410,资源获取模块420和资源发送模块430。
其中,资源创建模块410,用于响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
资源获取模块420,用于通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
资源发送模块430,用于通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
本申请实施例的一种可选实现方式,所述资源创建模块410,包括:
操作响应单元,用于响应于所述传输层L4流量管理的配置操作,显示流量管理配置界面,其中所述流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面;
资源生成单元,用于根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将所述目标网关资源、目标服务资源和目标路由资源发送给所述底层平台。
本申请实施例的一种可选实现方式,所述资源生成单元,具体用于:
分别在所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数;
对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
其中,所述每个配置界面对应的配置参数为从所述网关资源配置界面中获取到的网关配置参数、从所述服务资源配置界面中获取到的服务配置参数以及从所述路由资源配置界面中获取到的路由配置参数。
本申请实施例的一种可选实现方式,所述在所述网关资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:虚拟网关的标识信息、所述虚拟网关对应物理网关的标识信息、所述虚拟网关对应的监控协议以及所述虚拟网关对应的监控端口,其中所述虚拟网关的标识信息用于唯一标识相应的虚拟网关,所述物理网关的标识信息用于唯一标识相应的物理网关;
所述在所述服务资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:所述传输层L4对应的服务类型和所述传输层L4对应服务的标识信息,其中所述服务的标识信息用于唯一标识相应的服务;
所述在所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中所述目标网关为所述网关资源对应的虚拟网关,所述目标网关的标识信息用于唯一标识相应的目标网关。
本申请实施例的一种可选实现方式,所述资源生成单元,还用于:
通过接口套接组件对每个配置界面对应的配置参数进行数据组装,将每个配置界面对应的配置参数的数据格式转换成所述底层平台支持的数据格式,以得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
本申请实施例的一种可选实现方式,所述资源获取模块420,包括:
确定单元,用于通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
获取单元,用于如果所述控制面组件确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源。
本申请实施例的一种可选实现方式,所述确定单元,具体用于:
所述控制面组件通过注册在所述底层平台中的控制器监听所述底层平台;
响应于所述控制器监听到的所述底层平台上自定义资源变化操作,所述控制面组件从变化后的自定义资源中获取变化后的网关资源;
所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
本申请实施例的一种可选实现方式,所述确定单元,还用于:
通过所述控制面组件解析所述变化后的网关资源,以确定所述变化后的网关资源中的监控协议是否为应用于传输层L4上的传输协议;
如果所述控制面组件确定所述变化后的网关资源中的监控协议为应用于传输层L4上的传输协议,则确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
本申请实施例的一种可选实现方式,还包括:
数据组装模块,用于通过所述控制面组件分别对所述目标网关资源、所述目标服务资源和所述目标路由资源进行数据组装,以将所述目标网关资源、所述目标服务资源和所述目标路由资源的数据格式转换成所述数据面组件支持的数据格式。
本申请实施例的一种可选实现方式,所述资源发送模块430,具体用于:
所述控制面组件通过监听器发现服务LDS,将基于所述目标网关资源确定的监听器动态发送给所述数据面组件;
所述控制面组件通过集群发现服务CDS,将所述目标服务资源动态发送给所述数据面组件;
所述控制面组件通过路由发现服务RDS,将所述目标路由资源动态发送给所述数据面组件。
本申请实施例的一种可选实现方式,所述目标服务资源中的服务与所述监控端口之间是一对一关系,且所述目标服务资源中的服务与服务实例之间是一对一关系;
所述目标路由资源中的路由信息与所述监控端口之间是一对一的关系,且所述路由信息是与所述目标服务资源中的服务相对应的服务地址。
本申请实施例的一种可选实现方式,如果所述数据面组件的数量为不少于两个,则按照多节点部署方式部署所述数据面组件。
本申请提供的一种基于服务网格的流量管理装置,通过响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中目标网关资源包括监控端口和监控协议,监控协议为应用于传输层L4上的传输协议,目标服务资源包括与监控端口对应的服务,目标路由资源包括与监控对应的路由信息;通过控制面组件从底层平台获取目标网关资源、目标服务资源和目标路由资源,并通过控制面组件将获取到的目标网关资源、目标服务资源和目标路由资源发送给数据面组件,以使数据面组件根据获取到的目标网关资源、目标服务资源和目标路由资源对传输层L4进行流量管理,从而实现基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关支持传输层L4的流量管理,从而可以解决基于服务网格Istio和边缘与服务代理Envoy为核心构建的云原生网关在支持L7层的流量管理基础上,兼容支持L4层的流量管理的问题。并且,通过向用户提供友好型的可视化流量管理配置界面,以使用户可以基于流量管理配置界面低成本、去专业化的设置针对传输层L4的流量管理规则,从而可简化用户针对传输层L4的流量管理规则配置步骤,降低针对传输层L4的流量管理规则配置难度。此外,通过注册于底层平台上的控制器实时监听底层平台中自定义资源,以实现在第一时间发现用户在底层平台上创建传输层L4的流量管理规则,从而通过控制面组件将传输层L4的流量管理规则下发给数据面组件,使得数据面组件根据获取到的传输层L4的流量管理规则对应用在传输层L4上的流量进行及时管理。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图7所示的装置400可以执行图1对应的方法实施例,并且装置400中的各个模块的前述和其它操作和/或功能分别为了实现图1中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置400。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的资讯,结合其硬件完成上述方法实施例中的步骤。
图8是本申请实施例提供的一种电子设备的示意性框图。如图8所示,该电子设备500可包括:存储器510和处理器520,该存储器510用于存储计算机程序,并将该程序代码传输给该处理器520。换言之,该处理器520可以从存储器510中调用并运行计算机程序,以实现本申请实施例中的基于服务网格的流量管理方法。
例如,该处理器520可用于根据该计算机程序中的指令执行上述方法实施例。
可选的,基于服务网格的流量管理方法,应用于服务网格Istio,所述服务网格Istio包括控制面组件和数据面组件,所述方法包括:
响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
可选的,所述响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
响应于所述传输层L4流量管理的配置操作,显示流量管理配置界面,其中所述流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面;
根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将所述目标网关资源、目标服务资源和目标路由资源发送给所述底层平台。
可选的,所述根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
分别在所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数;
对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
其中,所述每个配置界面对应的配置参数为从所述网关资源配置界面中获取到的网关配置参数、从所述服务资源配置界面中获取到的服务配置参数以及从所述路由资源配置界面中获取到的路由配置参数。
可选的,所述在所述网关资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:虚拟网关的标识信息、所述虚拟网关对应物理网关的标识信息、所述虚拟网关对应的监控协议以及所述虚拟网关对应的监控端口,其中所述虚拟网关的标识信息用于唯一标识相应的虚拟网关,所述物理网关的标识信息用于唯一标识相应的物理网关;
所述在所述服务资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:所述传输层L4对应的服务类型和所述传输层L4对应服务的标识信息,其中所述服务的标识信息用于唯一标识相应的服务;
所述在所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中所述目标网关为所述网关资源对应的虚拟网关,所述目标网关的标识信息用于唯一标识相应的目标网关。
可选的,所述对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
通过接口套接组件对每个配置界面对应的配置参数进行数据组装,将每个配置界面对应的配置参数的数据格式转换成所述底层平台支持的数据格式,以得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
可选的,所述通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源,包括:
通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
如果所述控制面组件确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源。
可选的,所述通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
所述控制面组件通过注册在所述底层平台中的控制器监听所述底层平台;
响应于所述控制器监听到的所述底层平台上自定义资源变化操作,所述控制面组件从变化后的自定义资源中获取变化后的网关资源;
所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
可选的,所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
通过所述控制面组件解析所述变化后的网关资源,以确定所述变化后的网关资源中的监控协议是否为应用于传输层L4上的传输协议;
如果所述控制面组件确定所述变化后的网关资源中的监控协议为应用于传输层L4上的传输协议,则确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
可选的,所述通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件之前,还包括:
通过所述控制面组件分别对所述目标网关资源、所述目标服务资源和所述目标路由资源进行数据组装,以将所述目标网关资源、所述目标服务资源和所述目标路由资源的数据格式转换成所述数据面组件支持的数据格式。
可选的,所述通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,包括:
所述控制面组件通过监听器发现服务LDS,将基于所述目标网关资源确定的监听器动态发送给所述数据面组件;
所述控制面组件通过集群发现服务CDS,将所述目标服务资源动态发送给所述数据面组件;
所述控制面组件通过路由发现服务RDS,将所述目标路由资源动态发送给所述数据面组件。
可选的,所述目标服务资源中的服务与所述监控端口之间是一对一关系,且所述目标服务资源中的服务与服务实例之间是一对一关系;
所述目标路由资源中的路由信息与所述监控端口之间是一对一的关系,且所述路由信息是与所述目标服务资源中的服务相对应的服务地址。
可选的,如果所述数据面组件的数量不少于两个,则按照多节点部署方式部署所述数据面组件。
在本申请的一些实施例中,该处理器520可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器510包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器510中,并由该处理器520执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图8所示,该电子设备还可包括:
收发器530,该收发器530可连接至该处理器520或存储器510。
其中,处理器520可以控制该收发器530与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器530可以包括发射机和接收机。收发器530还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请实施例还提供了一种计算机可读存储介质,该存储介质用于存储计算机程序,计算机程序使得计算机执行如上述方法实施例中的基于服务网格的流量管理方法,具体如图9所示。其中,图9中计算机可读存储介质为600,计算机程序为610。为了简洁,此处对上述方法实施例中的基于服务网格的流量管理方法不再赘述。
本申请实施例还提供一种包含程序指令的计算机程序产品,该程序指令在电子设备上运行时,使得电子设备执行上述方法实施例中的基于服务网格的流量管理方法。为了简洁,此处对上述方法实施例中的基于服务网格的流量管理方法不再赘述。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (10)
1.一种基于服务网格的流量管理方法,其特征在于,应用于服务网格Istio,所述服务网格Istio包括控制面组件和数据面组件,所述方法包括:
响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
2.根据权利要求1所述的方法,其特征在于,所述响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
响应于所述传输层L4流量管理的配置操作,显示流量管理配置界面,其中所述流量管理配置界面包括:网关资源配置界面、服务资源配置界面和路由资源配置界面;
根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,并将所述目标网关资源、目标服务资源和目标路由资源发送给所述底层平台。
3.根据权利要求2所述的方法,其特征在于,所述根据所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面,生成所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
分别在所述网关资源配置界面、所述服务资源配置界面和所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数;
对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
其中,所述每个配置界面对应的配置参数为从所述网关资源配置界面中获取到的网关配置参数、从所述服务资源配置界面中获取到的服务配置参数以及从所述路由资源配置界面中获取到的路由配置参数。
4.根据权利要求3所述的方法,其特征在于,
所述在所述网关资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:虚拟网关的标识信息、所述虚拟网关对应物理网关的标识信息、所述虚拟网关对应的监控协议以及所述虚拟网关对应的监控端口,其中所述虚拟网关的标识信息用于唯一标识相应的虚拟网关,所述物理网关的标识信息用于唯一标识相应的物理网关;
所述在所述服务资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:所述传输层L4对应的服务类型和所述传输层L4对应服务的标识信息,其中所述服务的标识信息用于唯一标识相应的服务;
所述在所述路由资源配置界面中,获取所述传输层L4流量管理的配置参数,至少包括:目标网关的标识信息、服务地址和服务端口,其中所述目标网关为所述网关资源对应的虚拟网关,所述目标网关的标识信息用于唯一标识相应的目标网关。
5.根据权利要求3所述的方法,其特征在于,所述对每个配置界面对应的配置参数进行处理,得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
通过接口套接组件对每个配置界面对应的配置参数进行数据组装,将每个配置界面对应的配置参数的数据格式转换成所述底层平台支持的数据格式,以得到所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
6.根据权利要求1所述的方法,其特征在于,所述通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源,包括:
通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源;
如果所述控制面组件确定所述底层平台上存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,则从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源。
7.根据权利要求6所述的方法,其特征在于,所述通过所述控制面组件监听所述底层平台,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,包括:
所述控制面组件通过注册在所述底层平台中的控制器监听所述底层平台;
响应于所述控制器监听到的所述底层平台上自定义资源变化操作,所述控制面组件从变化后的自定义资源中获取变化后的网关资源;
所述控制面组件根据所述变化后的网关资源,确定所述底层平台上是否存在所述传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源。
8.一种基于服务网格的流量管理装置,其特征在于,配置于服务网格Istio,所述服务网格Istio包括控制面组件和数据面组件,包括:
资源创建模块,用于响应于传输层L4流量管理的配置操作,在底层平台上创建传输层L4流量管理的目标网关资源、目标服务资源和目标路由资源,其中所述目标网关资源包括监控端口和监控协议,所述监控协议为应用于传输层L4上的传输协议,所述目标服务资源包括与所述监控端口对应的服务,所述目标路由资源包括与所述监控端口对应的路由信息;
资源获取模块,用于通过所述控制面组件从所述底层平台获取所述目标网关资源、所述目标服务资源和所述目标路由资源;
资源发送模块,用于通过所述控制面组件将所述目标网关资源、所述目标服务资源和所述目标路由资源发送给所述数据面组件,以使所述数据面组件基于所述目标网关资源、所述目标服务资源和所述目标路由资源对所述传输层L4进行流量管理。
9.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1至7中任一项所述的基于服务网格的流量管理方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至7中任一项所述的基于服务网格的流量管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310648574.9A CN116546019A (zh) | 2023-06-02 | 2023-06-02 | 基于服务网格的流量管理方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310648574.9A CN116546019A (zh) | 2023-06-02 | 2023-06-02 | 基于服务网格的流量管理方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116546019A true CN116546019A (zh) | 2023-08-04 |
Family
ID=87450739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310648574.9A Withdrawn CN116546019A (zh) | 2023-06-02 | 2023-06-02 | 基于服务网格的流量管理方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116546019A (zh) |
-
2023
- 2023-06-02 CN CN202310648574.9A patent/CN116546019A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107947961B (zh) | 基于SDN的Kubernetes网络管理系统与方法 | |
US10547463B2 (en) | Multicast helper to link virtual extensible LANs | |
EP2812801B1 (en) | Application context transfer for distributed computing resources | |
JP2022532007A (ja) | モバイルエッジコンピューティングノードの選択方法、装置及びシステム並びにコンピュータプログラム | |
EP3731461A1 (en) | Multi-cluster configuration controller for software defined networks | |
CN112470436A (zh) | 使用srv6和bgp的多云连通性 | |
CN109088820B (zh) | 一种跨设备链路聚合方法、装置、计算装置和存储介质 | |
JP2022503686A (ja) | 通信接続方法、装置、コンピュータ機器、及びコンピュータプログラム | |
US10389628B2 (en) | Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network | |
CN103392321A (zh) | 用于基于策略集成横向部署的wan优化设备的系统和方法 | |
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
JP2010231759A (ja) | モバイルクラウドプラットホームを具備したモバイル端末装置 | |
CN109391516B (zh) | 实现多厂家utn设备集中维护管理的云化第三方网管系统 | |
US9467374B2 (en) | Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway | |
US11403144B2 (en) | Method and system of information and communication technology services provisioning using a distributed operating system | |
CN114501593B (zh) | 网络切片接入方法、装置、系统和存储介质 | |
CN109525590B (zh) | 数据包的传输方法及装置 | |
Benomar et al. | Extending openstack for cloud-based networking at the edge | |
CN114422350B (zh) | 一种公共云容器实例创建方法 | |
CN116633775A (zh) | 一种多容器网络接口的容器通信方法及系统 | |
CN115242882B (zh) | 一种基于传输层路由访问k8s容器环境的方法及装置 | |
CN116546019A (zh) | 基于服务网格的流量管理方法、装置、设备和介质 | |
CN116132435B (zh) | 一种容器云平台的双栈跨节点通信方法和系统 | |
CN113973086B (zh) | 一种数据传输方法、装置及存储介质 | |
Gammel et al. | Ambassador Project Final Tech Report |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230804 |