一种微服务容器集群跨网络通信系统及其通信方法技术方案

技术编号:35101539 阅读:22 留言:0更新日期:2022-10-01 17:08
本发明专利技术涉及一种微服务容器集群跨网络通信系统及其通信方法,包括:第一网络区域,用于部署服务端系统和容器集群的微服务;第二网络区域,用于部署客户端系统、代理客户端和微服务;所述服务端系统包括网络代理模块、系统管理模块;所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块。本发明专利技术实现多个网络区域中的微服务融合入一个容器集群中,用户仅需配置少量的策略,便可构建一个安全且稳定的跨网络微服务容器集群。的跨网络微服务容器集群。的跨网络微服务容器集群。

【技术实现步骤摘要】
一种微服务容器集群跨网络通信系统及其通信方法


[0001]本专利技术涉及计算机容器集群
,特别涉及一种微服务容器集群跨网络通信系统及其通信方法。

技术介绍

[0002]在实际项目中,网络系统环境需求复杂性,应用系统往往同时横跨多个网络,不同网络之间有防火墙、网闸和负载均衡等网络安全设备,为了保障系统安全,网络之间开放的端口有严格限制。在进行系统设计时需要设计出多套独立的系统,并且需要人工配置大量的转发策略来实现系统跨网络通信,最终造成系统功能重复,网络架构复杂、运维成本增高等问题。
[0003]由于容器集群内部的微服务运行在容器集群的虚拟网络中,容器集群中的微服务只能单向访问外部的微服务,如果容器外部的微服务要访问容器内部的微服务,需要在容器集群上开放该微服务容器的端口,容器集群内需要被调用的微服务都需要开放端口,这导致运维人员要配置大量的端口开放策略,同时网关微服务外的微服务开放端口存在极大的安全隐患。
[0004]为了解决集群外部的微服务和容器集群互通,目前市面上比较有代表性的技术方案是阿里的KT

Connect。KT

Connect的原理是在Kubernetes集群中部署一个代理容器,本地客户端连接代理容器的ssh端口建立ssh隧道,代理容器和本地客户端协作,把Kubernects集群内部Pob的流量转发到本地,把本地的流量转发到Kubernetes集群,最终实现Kubernetes集群中的微服务和本地环境微服务互联互通。但阿里的KT
r/>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客户端所在的环境不能部署多个同样的微服务做负载均衡,不适用于生产环境。

技术实现思路

[0005]本专利技术的目的在于实现多个网络区域中的微服务融合入一个容器集群中,用户仅需配置少量的策略,便可构建一个安全且稳定的跨网络微服务容器集群,提供一种微服务容器集群跨网络通信系统及其通信方法。
[0006]为了实现上述专利技术目的,本专利技术实施例提供了以下技术方案:一种微服务容器集群跨网络通信系统,包括:第一网络区域,用于部署服务端系统和容器集群的微服务;第二网络区域,用于部署客户端系统、代理客户端和微服务;所述服务端系统包括网络代理模块、系统管理模块;所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块。
[0007]更进一步地,所述第一网络区域和第二网络区域还分别包括网络安全设备。
[0008]一种微服务容器集群跨网络通信系统的通信方法,包括以下步骤:将服务端系统部署在第一网络区域,将客户端系统部署在第二网络区域;第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理;系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务;第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块;系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据。
[0009]作为一种访问方式,所述第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理的步骤,包括:系统管理模块给网络代理模块下发指令,在网络代理模块中创建代理账号和代理策略;所述代理策略是控制代理访问的网络范围,包括ip地址和网段;所述代理账号用于提供认证功能,确保第二网络区域中的代理客户端通过代理账号才可以接入网络代理模块;第一网络区域的网络安全设备为网络代理模块映射端口,映射后网络代理模块的地址即是网络安全设备映射的ip地址和端口;所述网络安全设备包括防火墙、边界网关和SNAT中的任一个;第二网络区域的代理客户端配置代理,配置的代理内容为网络代理模块映射出来的地址,且代理客户端兼容Linux、Unix、Windows和Mac的操作系统环境;代理配置完成后建立代理,使得第二网络区域中的微服务可以通过代理访问第一网络区域中微服务的私有ip地址。
[0010]更进一步地,所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务的步骤,包括:
系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块,由出口网络转发模块把DNS数据转发给客户端控制模块,再由客户端控制模块把DNS数据更新到DNS模块;当第二网络区域中的微服务需要访问第一网络区域中的微服务时,第二网络区域中的微服务请求第一网络区域中微服务的名称和端口,DNS模块将第一网络区域中该微服务的名称解析成该微服务在第一网络区域中的私有ip地址;第二网络区域的微服通过代理把访问请求发送至第一网络区域的私有ip地址,并通过代理获取第一网络区域中该微服务返回的信息。
[0011]更进一步地,所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转发模块的步骤,包括:若第一网络区域的容器集群是Kubernetes集群,则系统管理模块直接从coredns中获取DNS数据,并将DNS数据推送到出口网络转发模块;若第二网络区域的容器集群不是Kubernetes集群,则系统管理模块从注册中心中获取微服务注册信息,并将注册信息转换为DNS数据,并将DNS数据推送到出本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种微服务容器集群跨网络通信系统,其特征在于:包括:第一网络区域,用于部署服务端系统和容器集群的微服务;第二网络区域,用于部署客户端系统、代理客户端和微服务;所述服务端系统包括网络代理模块、系统管理模块;所述客户端系统包括客户端控制模块、DNS模块、出口网络转发模块。2.根据权利要求1所述的一种微服务容器集群跨网络通信系统,其特征在于:所述第一网络区域和第二网络区域还分别包括网络安全设备。3.根据权利要求1所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:包括以下步骤:将服务端系统部署在第一网络区域,将客户端系统部署在第二网络区域;第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理;系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务;第一网络区域中容器集群的微服务访问第二网络区域中一个或多个微服务时,在系统管理模块中录入第二网络区域中需要被访问的微服务信息,并将录入的信息推送给客户端控制模块;系统管理模块根据录入的信息在第一网络区域中创建一个对应的镜像服务,使得第一网络区域的微服务访问第二网络区域的微服务时,通过访问对应的镜像服务获取流量数据。4.根据权利要求3所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述第二网络区域中一个或多个微服务访问第一网络区域中容器集群的微服务时,第一网络区域的网络安全设备为网络代理模块映射端口,第二网络区域的代理客户端配置代理,代理配置完成后建立代理的步骤,包括:系统管理模块给网络代理模块下发指令,在网络代理模块中创建代理账号和代理策略;所述代理策略是控制代理访问的网络范围,包括ip地址和网段;所述代理账号用于提供认证功能,确保第二网络区域中的代理客户端通过代理账号才可以接入网络代理模块;第一网络区域的网络安全设备为网络代理模块映射端口,映射后网络代理模块的地址即是网络安全设备映射的ip地址和端口;所述网络安全设备包括防火墙、边界网关和SNAT中的任一个;第二网络区域的代理客户端配置代理,配置的代理内容为网络代理模块映射出来的地址,且代理客户端兼容Linux、Unix、Windows和Mac的操作系统环境;代理配置完成后建立代理,使得第二网络区域中的微服务可以通过代理访问第一网络区域中微服务的私有ip地址。5.根据权利要求4所述的一种微服务容器集群跨网络通信系统的通信方法,其特征在于:所述系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到第二网络区域,使得第二网络区域的微服务访问第一网络区域的微服务时,基于DNS数据通过代理访问到第一网络区域的微服务的步骤,包括:系统管理模块获取第一网络区域中微服务的DNS数据,并将DNS数据推送到出口网络转
发模块,由出口网络转发模块把DNS数据转发给客户端控制模块,再由客户端控制模块把DNS数据更新到DNS模块;当第二网...

【专利技术属性】
技术研发人员:石尧马杲灵游飞龙姚泽山宋赣源廖海峰董博
申请(专利权)人:贵州数联铭品科技有限公司
类型:发明
国别省市:

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

1