CN115134141B - 一种微服务容器集群跨网络通信系统及其通信方法 - Google Patents
一种微服务容器集群跨网络通信系统及其通信方法 Download PDFInfo
- Publication number
- CN115134141B CN115134141B CN202210740404.9A CN202210740404A CN115134141B CN 115134141 B CN115134141 B CN 115134141B CN 202210740404 A CN202210740404 A CN 202210740404A CN 115134141 B CN115134141 B CN 115134141B
- Authority
- CN
- China
- Prior art keywords
- network
- micro
- network area
- service
- proxy
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种微服务容器集群跨网络通信系统及其通信方法,包括:第一网络区域,用于部署服务端系统和容器集群的微服务;第二网络区域,用于部署客户端系统、代理客户端和微服务;所述服务端系统包括网络代理模块、系统管理模块;所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块。本发明实现多个网络区域中的微服务融合入一个容器集群中,用户仅需配置少量的策略,便可构建一个安全且稳定的跨网络微服务容器集群。
Description
技术领域
本发明涉及计算机容器集群技术领域,特别涉及一种微服务容器集群跨网络通信系统及其通信方法。
背景技术
在实际项目中,网络系统环境需求复杂性,应用系统往往同时横跨多个网络,不同网络之间有防火墙、网闸和负载均衡等网络安全设备,为了保障系统安全,网络之间开放的端口有严格限制。在进行系统设计时需要设计出多套独立的系统,并且需要人工配置大量的转发策略来实现系统跨网络通信,最终造成系统功能重复,网络架构复杂、运维成本增高等问题。
由于容器集群内部的微服务运行在容器集群的虚拟网络中,容器集群中的微服务只能单向访问外部的微服务,如果容器外部的微服务要访问容器内部的微服务,需要在容器集群上开放该微服务容器的端口,容器集群内需要被调用的微服务都需要开放端口,这导致运维人员要配置大量的端口开放策略,同时网关微服务外的微服务开放端口存在极大的安全隐患。
为了解决集群外部的微服务和容器集群互通,目前市面上比较有代表性的技术方案是阿里的KT-Connect。KT-Connect的原理是在Kubernetes集群中部署一个代理容器,本地客户端连接代理容器的ssh端口建立ssh隧道,代理容器和本地客户端协作,把Kubernects集群内部Pob的流量转发到本地,把本地的流量转发到Kubernetes集群,最终实现Kubernetes集群中的微服务和本地环境微服务互联互通。但阿里的KT-Connect存在以下几个缺陷:
(1)KT-Connect开放代理容器的ssh端口,依赖Kubernetes ApiServer转发端口,网络流量的瓶颈会在Kubernetes ApiServer,如果ApiServer压力过大,会导致Kubernetes集群不稳定;
(2)KT-Connect客户端所在的环境需要和Kubernetes集群宿主机在同一个网络,如果跨网络,需要Kubernetes ApiServer端口开放出网络存在安全隐患,不适用于跨网络的应用环境;
(3)每个KT-Connect客户端需要有操作Kubernetes的权限,如果客户端节点过多会造成管理混乱,带来安全隐患;
(4)KT-Connect只兼容KT-Connect集群,对于其他容器集群不适用;
(5)KT-Connect应用场景只是在开发环境与Kubernetes中微服务联调,由于ssh隧道主要用于临时代理,不能保证代理隧道长期稳定运行,不适用于生产环境;
(6)KT-Connect客户端所在的环境不能部署多个同样的微服务做负载均衡,不适用于生产环境。
发明内容
本发明的目的在于实现多个网络区域中的微服务融合入一个容器集群中,用户仅需配置少量的策略,便可构建一个安全且稳定的跨网络微服务容器集群,提供一种微服务容器集群跨网络通信系统及其通信方法。
为了实现上述发明目的,本发明实施例提供了以下技术方案:
一种微服务容器集群跨网络通信系统,包括:
第一网络区域,用于部署服务端系统和容器集群的微服务;
第二网络区域,用于部署客户端系统、代理客户端和微服务;
所述服务端系统包括网络代理模块、系统管理模块;
所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块。
更进一步地,所述第一网络区域和第二网络区域还分别包括网络安全设备。
一种微服务容器集群跨网络通信系统的通信方法,包括以下步骤:
将服务端系统部署在第一网络区域,将客户端系统部署在第二网络区域;
第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理;系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务;
第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块;系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据。
作为一种访问方式,所述第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理的步骤,包括:
系统管理模块给网络代理模块下发指令,在网络代理模块中创建代理账号和代理策略;所述代理策略是控制代理访问的网络范围,包括ip地址和网段;所述代理账号用于提供认证功能,确保第二网络区域中的代理客户端通过代理账号才可以接入网络代理模块;
第一网络区域的网络安全设备为网络代理模块映射端口,映射后网络代理模块的地址即是网络安全设备映射的ip地址和端口;所述网络安全设备包括防火墙、边界网关和SNAT中的任一个;
第二网络区域的代理客户端配置代理,配置的代理内容为网络代理模块映射出来的地址,且代理客户端兼容Linux、Unix、Windows和Mac的操作系统环境;
代理配置完成后建立代理,使得第二网络区域中的微服务可以通过代理访问第一网络区域中微服务的私有ip地址。
更进一步地,所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务的步骤,包括:
系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块,由出口网络转发模块把DNS数据转发给客户端控制模块,再由客户端控制模块把DNS数据更新到DNS模块;
当第二网络区域中的微服务需要访问第一网络区域中的微服务时,第二网络区域中的微服务请求第一网络区域中微服务的名称和端口,DNS模块将第一网络区域中该微服务的名称解析成该微服务在第一网络区域中的私有ip地址;第二网络区域的微服通过代理把访问请求发送至第一网络区域的私有ip地址,并通过代理获取第一网络区域中该微服务返回的信息。
更进一步地,所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块的步骤,包括:
若第一网络区域的容器集群是Kubernetes集群,则系统管理模块直接从coredns中获取DNS数据,并将DNS数据推送到出口网络转发模块;
若第二网络区域的容器集群不是Kubernetes集群,则系统管理模块从注册中心中获取微服务注册信息,并将注册信息转换为DNS数据,并将DNS数据推送到出口网络转发模块;所述注册中心为Netflix Eureka或Nacos。
作为另一种访问方式,所述第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块的步骤,包括:
在系统管理模块中录入第二网络区域中需要被访问的微服务信息,录入的信息内容包括第二网络区域中微服务的微服务名称、IP地址、端口、协议、监控检测路径;
系统管理模块把录入的信息推送给客户端控制模块,客户端控制模块触发出口网络转发模块创建转发策略;所述转发策略为出口网络转发模块基于https加认证的形式通过第二网络区域中该微服务的ip地址和端口进行转发;
若第二网络区域中有多个微服务需要转发,出口网络转发模块会将多个微服务的数据流量进行合并,第二网络区域的网络安全设备仅需开放出口网络转发模块的一个端口即可实现所有微服务的数据流量转发,最终把数据流量发送到第一网络区域中。
更进一步地,所述系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据的步骤,包括:
系统管理模块根据录入的信息自动在第一网络区域的容器集群中创建一个镜像服务,镜像服务和第二网络区域中的微服务一一对应,镜像服务在容器集群中的名称和第二网络区域中对应微服务的名称一致;
每个镜像服务接收第二网络区域中出口网络转发模块传入的数据流量,其中镜像服务是通过第二网络区域的网络安全设备对出口网络转发模块开放出的的ip地址获取数据流量的;
镜像服务接收出口网络转发模块传入的数据流量,并且每个镜像服务会自动解析数据流量,只接收各自在第二网络区域中对应的微服务的数据流量,最后镜像服务把数据流量转发到容器集群中。
更进一步地,还包括步骤:第一网络区域的容器集群下线时,系统管理模块删除镜像服务,出口网络转发模块删除转发策略。
与现有技术相比,本发明的有益效果:
(1)容器集群的微服务进出数据流量不依赖于容器集群的基础组件,数据流量由网络代理模块和出口网络转发模块两个模块接管,两个模块都可以横向扩容,可以处理高并发的数据流量;
(2)本方案完全为跨网络设计,容器集群和外部微服务可以在两个不同的网络,同时网络代理模块和出口网络转发模块独立于容器集群,两个模块都采用ssl加密和用户认证双重安全保障,确保容器集群通信安全。;
(3)容器集群和外部微服务通信策略由系统管理模块统一管理,每个客户端系统处的微服务无需专门配置独立的流量转发规则,并且系统策略有严格的权限划分,确保容器集群安全;
(4)本方案不仅适用于Kubernetes集群,还兼容Docker Swarm、Mesos或DockerCompose等容器调度引擎;
(5)本方案不仅适用于开发环境和容器集群中微服务联调,还适用于生产环境稳定运行;
(6)容器集群外部可以部署多个相同的微服务实现负载均衡。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明系统模块框图;
图2为本发明实施例第一种访问方式示意图;
图3为本发明实施例第二种访问方式示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
实施例1:
本发明通过下述技术方案实现,一种微服务容器集群跨网络通信系统,如图1所示,包括第一网络区域(附图中为网络区域A,以下也称为网络区域A)、第二网络区域(附图中为网络区域B,以下也称为网络区域B)。
所述网络区域A用于部署服务端系统和容器集群的若干微服务,比如图1中的微服务1、微服务2、微服务3。所述服务端系统包括网络代理模块、系统管理模块,且所述网络区域A还有网络安全设备。
所述网络区域B用于部署客户端系统、代理客户端和微服务,比如图1中的微服务x、微服务y、微服务z。所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块,且所述网络区域B也有网络安全设备。
基于上述系统,本方案还提出一种微服务容器集群跨网络通信系统的通信方法,包括两种访问方式:(1)网络区域B中一个或多个微服务访问网络区域A中容器集群的微服务,也就是容器集群外的微服务访问容器集群内的微服务;(2)网络区域A中容器集群的微服务访问网络区域B中一个或多个微服务,也就是容器集群内的微服务访问容器集群外的微服务。
首先将服务端系统部署在网络区域A,将客户端系统部署在网络区域B。
作为第一种访问方式,网络区域B中一个或多个微服务访问网络区域A中容器集群的微服务时,网络区域A的网络安全设备为网络代理模块映射端口,网络区域B的代理客户端配置代理,代理配置完成后建立代理;系统管理模块获取网络区域A中微服务的DNS数据,并将DNS数据推送到网络区域B,使得网络区域B的微服务访问网络区域A的微服务时,基于DNS数据通过代理访问到网络区域A的微服务。
详细来说,请参见图2,第一种访问方式包括以下步骤:
(1)系统管理模块给网络代理模块下发指令,在网络代理模块中创建代理账号和代理策略,所述代理策略是控制代理访问的网络范围,包括ip地址和网段;所述代理账号提供认证功能,确保网络区域B中的代理客户端通过代理账号才可以接入网络代理模块,以确保整个系统和容器集群的安全。
(2)网络区域A的网络安全设备为网络代理模块映射端口,其中所述网络安全设备包括防火墙、边界网关和SNAT等中的任一个。例如使用防火墙把网络代理模块的端口进行映射,映射后,网络代理模块的地址即是防火墙映射后的ip地址和端口。
(3)网络区域B中的代理客户端配置代理,配置的代理内容是网络代理模块映射出来的地址,代理客户端可以使用软件配置、独立客户端和环境变量等形式进行代理配置,同时代理客户端兼容Linux、Unix、Windows和Mac的操作系统环境。代理配置完成后建立代理,网络区域B中的微服务可以通过代理访问网络区域A中微服务的私有ip地址。
(4)系统管理模块获取网络区域A中的微服务的DNS数据(若网络区域A中的容器集群是Kubernetes集群,系统管理模块直接从coredns中获取DNS数据;若网络区域A中的容器集群不是Kubernetes集群,系统管理模块从Netflix Eureka或Nacos等注册中心中获取微服务注册信息,并将注册信息转换为DNS数据),并将DNS数据推送到网络区域B中的出口网络转发模块,由出口网络转发模块把DNS数据转发给客户端控制模块,最终由客户端控制模块把DNS数据更新到DNS模块。
(5)当网络区域B中的微服务需要访问网络区域A中的微服务时,网络区域B中的微服务请求网络区域A中微服务的名称和端口(微服务名称:端口,例如:api-server:8080),DNS模块把网络区域A中微服务的名称解析成该微服务在网络区域A中的私有ip地址(例如:api-server解析为192.168.1.1,),网络区域B中的微服务通过代理把访问请求发送至网络区域A中的私有ip地址(例如:192.168.1.1:8080),并通过代理获取网络区域A中微服务返回的信息。
作为第二种访问方式,第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块;系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据。
详细来说,请参见图3,第二种访问方式包括以下步骤:
(1)在系统管理模块中录入网络区域B中需要被访问的微服务信息,录入的信息内容包括网络区域B中微服务的微服务名称、IP地址、端口、协议、监控检测路径。
(2)系统管理模块把录入的信息推送给客户端控制模块,客户端控制模块触发出口网络转发模块创建转发策略;所述转发策略为出口网络转发模块基于https加认证的形式通过网络区域B中该微服务的ip地址和端口进行转发。若网络区域B中有多个微服务需要转发,出口网络转发模块会将多个微服务的数据流量进行合并,最终把数据流量发送到网络区域A中。网络区域B中的网络安全设备仅需开放出口网络转发模块的一个端口就可以实现所有微服务的数据流量转发。所述网络安全设备包括防火墙、边界网关和SNAT等中的任一个,例如使用防火墙把出口网络转发模块的端口进行映射,映射后,出口网络转发模块的地址是网络区域B的防火墙映射后的ip地址和端口。
(3)系统管理模块根据步骤(1)录入的信息自动在网络区域A的容器集群中创建一个镜像服务,镜像服务和网络区域B中的微服务一一对应,镜像服务在容器集群中的名称和网络区域B中对应微服务的名称一致,所述的镜像服务是一个轻量级的流量转发服务。
(4)每个镜像服务接收网络区域B中出口网络转发模块传入的数据流量,其中镜像服务是通过网络区域B的网络安全设备对出口网络转发模块开放出的的ip地址获取数据流量的。例如网络区域B使用防火墙把出口网络转发模块的端口进行映射,镜像服务便是通过网络区域B的防火墙对出口网络转发模块映射后的ip地址和端口获取数据流量。镜像服务接收出口网络转发模块传入的数据流量,并且每个镜像服务会自动解析数据流量,只接收各自在网络区域B中对应的微服务的数据流量,最后镜像服务把数据流量转发到容器集群中。容器集群中其他微服务访问镜像服务等同于访问网络区域B中对应的微服务,比如请参见图3,在网络区域A中容器集群的微服务访问微服务x的镜像服务等同于访问网络区域B中的微服务x。
(5)网络区域B的出口网络转发模块具有负载均衡功能,当网络区域B中某个微服务有多个副本,出口网络转发模块在代理转发时会对这个微服务的所有副本进行轮询,以负载均衡的方式把该微服务所有副本的数据流量转发到网络区域A中。比如请参见图3,在网络区域B中微服务y为多副本部署,共2个微服务y,在系统管理模块中启动副本模式,把微服务y的所有副本信息录入系统管理模块,系统管理模块会触发出口网络转发模块实现负载均衡。
本方案除了上述两种访问方式外,还包括容器集群下线的情况,需要下线容器集群时,在服务端系统的系统管理模块中下线微服务,系统管理模块删除镜像服务,出口网络转发模块删除转发策略。
如果第二网络区域的微服务发生异常,系统管理模块监控检测发现异常的微服务,系统管理模块删除异常微服务对应的镜像服务,并清空异常微服务的转发策略和DNS数据。
本方案不限于第一网络区域和第二网络区域的通信,第三网络区域(部署了客户端系统)等也可以和第一网络区域通信,并且第二网络区域、第三网络区域等多个网络区域可按照本方案同时与第一网络区域进行通信。
实施例2:
在实际项目中,业务系统需要根据网络划分需求,一个业务系统需要把一部分微服务部署在第一网络区域,一部分微服务部署在第二网络区域,两个网网络区域的微服务有紧密的逻辑关联和频繁的数据交换,如果没有VPN设备支撑的情况下,需要把业务系统拆分成两个独立系统,分别部署在不同的网络区域,并且需要在网络安全设备上开放多个端口,配置大量的接口转发策略实现两个区域的系统互联,同时也导致两个网络区域的系统功能存在大量重复模块。
通过本方案,每个网络区域仅开放一个端口,运维人员和网络工程师无需配置大量的接口通信策略,在第一网络区域部署一个容器集群,便可把第二网络区域的微服务接入到容器集群中,构建一个跨网络微服务容器集群。同理,如果存在容器集群外部的第三网络区域、第四网络区域的微服务,也可以快速接入容器集群,统一管理。
在开发系统时,研发人员需要使用公有云或私有云的测试环境容器集群,同时研发人员在办公区网络开发系统,研发人员在办公区电脑修改代码后要与测试环境容器集群中的微服务联调,都需要通过编译、打包、制作镜像和部署服务几个步骤,这样会耗费大量时间和精力,并且无法在办公区电脑进行本地断点调试。
通过本方案,研发人员可以使办公区电脑启动的微服务和线上容器集群中的微服务双向通信,无需将微服务部署到测试环境容器集群,便可在办公区电脑进行断点调试和功能验证。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种微服务容器集群跨网络通信系统的通信方法,其特征在于:
所述微服务容器集群跨网络通信系统包括:
第一网络区域,用于部署服务端系统和容器集群的微服务;
第二网络区域,用于部署客户端系统、代理客户端和微服务;
所述服务端系统包括网络代理模块、系统管理模块;
所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块;
所述通信方法包括以下步骤:
将服务端系统部署在第一网络区域,将客户端系统部署在第二网络区域;
第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理;系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务;
所述第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理的步骤,包括:
系统管理模块给网络代理模块下发指令,在网络代理模块中创建代理账号和代理策略;所述代理策略是控制代理访问的网络范围,包括ip地址和网段;所述代理账号用于提供认证功能,确保第二网络区域中的代理客户端通过代理账号才可以接入网络代理模块;
第一网络区域的网络安全设备为网络代理模块映射端口,映射后网络代理模块的地址即是网络安全设备映射的ip地址和端口;所述网络安全设备包括防火墙、边界网关和SNAT中的任一个;
第二网络区域的代理客户端配置代理,配置的代理内容为网络代理模块映射出来的地址,且代理客户端兼容Linux、Unix、Windows和Mac的操作系统环境;
代理配置完成后建立代理,使得第二网络区域中的微服务可以通过代理访问第一网络区域中微服务的私有ip地址;
第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块;系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据。
2.根据权利要求1所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务的步骤,包括:
系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块,由出口网络转发模块把DNS数据转发给客户端控制模块,再由客户端控制模块把DNS数据更新到DNS模块;
当第二网络区域中的微服务需要访问第一网络区域中的微服务时,第二网络区域中的微服务请求第一网络区域中微服务的名称和端口,DNS模块将第一网络区域中该微服务的名称解析成该微服务在第一网络区域中的私有ip地址;第二网络区域的微服通过代理把访问请求发送至第一网络区域的私有ip地址,并通过代理获取第一网络区域中该微服务返回的信息。
3.根据权利要求2所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块的步骤,包括:
若第一网络区域的容器集群是Kubernetes集群,则系统管理模块直接从coredns中获取DNS数据,并将DNS数据推送到出口网络转发模块;
若第二网络区域的容器集群不是Kubernetes集群,则系统管理模块从注册中心中获取微服务注册信息,并将注册信息转换为DNS数据,并将DNS数据推送到出口网络转发模块;所述注册中心为Netflix Eureka或Nacos。
4.根据权利要求1所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块的步骤,包括:
在系统管理模块中录入第二网络区域中需要被访问的微服务信息,录入的信息内容包括第二网络区域中微服务的微服务名称、IP地址、端口、协议、监控检测路径;
系统管理模块把录入的信息推送给客户端控制模块,客户端控制模块触发出口网络转发模块创建转发策略;所述转发策略为出口网络转发模块基于https加认证的形式通过第二网络区域中该微服务的ip地址和端口进行转发;
若第二网络区域中有多个微服务需要转发,出口网络转发模块会将多个微服务的数据流量进行合并,第二网络区域的网络安全设备仅需开放出口网络转发模块的一个端口即可实现所有微服务的数据流量转发,最终把数据流量发送到第一网络区域中。
5.根据权利要求4所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据的步骤,包括:
系统管理模块根据录入的信息自动在第一网络区域的容器集群中创建一个镜像服务,镜像服务和第二网络区域中的微服务一一对应,镜像服务在容器集群中的名称和第二网络区域中对应微服务的名称一致;
每个镜像服务接收第二网络区域中出口网络转发模块传入的数据流量,其中镜像服务是通过第二网络区域的网络安全设备对出口网络转发模块开放出的ip地址获取数据流量的;
镜像服务接收出口网络转发模块传入的数据流量,并且每个镜像服务会自动解析数据流量,只接收各自在第二网络区域中对应的微服务的数据流量,最后镜像服务把数据流量转发到容器集群中。
6.根据权利要求1所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:还包括步骤:第一网络区域的容器集群下线时,系统管理模块删除镜像服务,出口网络转发模块删除转发策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740404.9A CN115134141B (zh) | 2022-06-27 | 2022-06-27 | 一种微服务容器集群跨网络通信系统及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210740404.9A CN115134141B (zh) | 2022-06-27 | 2022-06-27 | 一种微服务容器集群跨网络通信系统及其通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134141A CN115134141A (zh) | 2022-09-30 |
CN115134141B true CN115134141B (zh) | 2023-10-03 |
Family
ID=83379005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210740404.9A Active CN115134141B (zh) | 2022-06-27 | 2022-06-27 | 一种微服务容器集群跨网络通信系统及其通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134141B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116074309B (zh) * | 2023-03-06 | 2023-06-16 | 深圳前海环融联易信息科技服务有限公司 | 跨平台容器内操作系统的访问方法及相关设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106991035A (zh) * | 2017-04-06 | 2017-07-28 | 北京计算机技术及应用研究所 | 一种基于微服务架构的主机监控系统 |
WO2020232195A1 (en) * | 2019-05-14 | 2020-11-19 | Qomplx, Inc. | Method for midserver facilitation of long-haul transport of telemetry for cloud-based services |
CN113301116A (zh) * | 2021-04-15 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 微服务应用跨网络通信方法、装置、系统及设备 |
WO2021227564A1 (zh) * | 2020-05-13 | 2021-11-18 | 国云科技股份有限公司 | 一种基于容器环境的应用自动交付系统 |
CN114448686A (zh) * | 2022-01-14 | 2022-05-06 | 武汉三江中电科技有限责任公司 | 一种基于微服务的跨网络通信装置与方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11153279B2 (en) * | 2020-01-30 | 2021-10-19 | Hewlett Packard Enterprise Development Lp | Locally representing a remote application programming interface (API) endpoint within an application platform |
-
2022
- 2022-06-27 CN CN202210740404.9A patent/CN115134141B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN106991035A (zh) * | 2017-04-06 | 2017-07-28 | 北京计算机技术及应用研究所 | 一种基于微服务架构的主机监控系统 |
WO2020232195A1 (en) * | 2019-05-14 | 2020-11-19 | Qomplx, Inc. | Method for midserver facilitation of long-haul transport of telemetry for cloud-based services |
WO2021227564A1 (zh) * | 2020-05-13 | 2021-11-18 | 国云科技股份有限公司 | 一种基于容器环境的应用自动交付系统 |
CN113301116A (zh) * | 2021-04-15 | 2021-08-24 | 阿里巴巴新加坡控股有限公司 | 微服务应用跨网络通信方法、装置、系统及设备 |
CN114448686A (zh) * | 2022-01-14 | 2022-05-06 | 武汉三江中电科技有限责任公司 | 一种基于微服务的跨网络通信装置与方法 |
Non-Patent Citations (1)
Title |
---|
面向工业互联网的边缘微服务架构的研究与实现;花树天;CNKI;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115134141A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7792125B2 (en) | System for dynamic provisioning for secure, scalable, and extensible networked computer environments | |
EP3834393B1 (en) | Systems and methods for server cluster network communication across the public internet | |
CN108287723B (zh) | 一种应用交互方法、装置、物理机及系统 | |
CN111614605A (zh) | 基于sdn虚拟防火墙的安全组信息的边界防火墙的自动配置 | |
US20150058925A1 (en) | Secure one-way interface for opc data transfer | |
US11979384B2 (en) | Dynamic proxy response from application container | |
JP5679343B2 (ja) | クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム | |
CN104412621A (zh) | 方法和设备 | |
US11805011B2 (en) | Bulk discovery of devices behind a network address translation device | |
CN112602292B (zh) | 5g核心网中的片间共享 | |
Levin et al. | Networking architecture for seamless cloud interoperability | |
CN115134141B (zh) | 一种微服务容器集群跨网络通信系统及其通信方法 | |
Benomar et al. | Extending openstack for cloud-based networking at the edge | |
US10528759B2 (en) | Application programming interface bridge for transporting a local request from a local client system to a target server system, and method thereof | |
US20110035477A1 (en) | Network clustering technology | |
CN115865601A (zh) | 一种跨云数据中心的sdn网络通信系统 | |
Mishra et al. | A Framework for OpenFlow-like Policy-based Routing in Hybrid Software Defined Networks. | |
US20130151679A1 (en) | Hybrid virtual computing environments | |
CN114930776A (zh) | 混合网络环境中的流量镜像处理 | |
JP3519696B2 (ja) | 監視システムおよび監視方法 | |
WO2024073113A1 (en) | System and method for creating a private service access network | |
Pandey | SDN Practical Orientation | |
CN117354309A (zh) | 一种基于lvs的负载均衡系统实现源ip透传的实现方法 | |
CN116346875A (zh) | 一种网络互通的方法、系统、电子设备及存储介质 | |
CN113824808A (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 |