一种跨Kubernetes集群的通信方法、系统、介质和电子设备技术方案

技术编号:32237038 阅读:18 留言:0更新日期:2022-02-09 17:41
本申请提供一种跨Kubernetes集群的通信方法、系统、计算机可读存储介质和电子设备。该方法包括:部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求;访问请求包括部署在第二Kubernetes集群的第二服务的域名;出口组件根据第二服务的域名将访问请求发送至第二Kubernetes集群的入口组件;入口组件用于接收第二Kubernetes集群外部的访问请求;入口组件根据第二服务的域名将访问请求发送至第二服务。籍此,使部署在不同Kubernetes集群中的服务之间可根据内网域名,直接进行相互访问和调用。互访问和调用。互访问和调用。

【技术实现步骤摘要】
一种跨Kubernetes集群的通信方法、系统、介质和电子设备


[0001]本申请涉及云原生
,特别涉及一种跨Kubernetes集群的通信方法、系统、计算机可读存储介质和电子设备。

技术介绍

[0002]Kubernetes是Google开源的一个容器编排引擎,支持自动化部署、大规模可伸缩、应用容器化管理。
[0003]Kubernetes集群是指部署有Kubernetes系统的主机集群,在集群管理上,Kubernetes系统将集群中的主机划分为控制节点和工作节点,在控制节点上运行这集群管理相关的一组程序,来自动完成整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理能力。
[0004]对于现有的Kubernetes系统,同一个Kubernetes集群内部署的不同服务,可以通过服务的内网域名进行相互访问、调度。具体由发出请求的服务向Kubernetes集群中的DNS组件发送要访问的服务的内网域名,获取要访问的服务对应的ClusterIP(服务的内网IP地址)。发出请求的服务向该ClusterIP发出请求,该请求即被发送至该服务对应的Endpoint,即该服务对应的某个具体Pod,从而实现Kubernetes集群内不同服务之间的通信。
[0005]然而,现有的Kubernetes系统并没有提供一种通用的跨Kubernetes集群的服务通信的方案,无法满足部署在不同Kubernetes集群上的服务之间相互访问、调用的需求。因此,需要提供一种针对上述现有技术不足的改进技术方案。

技术实现思路

[0006]本申请的目的在于提供一种跨Kubernetes集群的通信方法、系统、计算机可读存储介质和电子设备,以解决或缓解上述现有技术中存在的问题。
[0007]为了实现上述目的,本申请提供如下技术方案:
[0008]本申请提供了一种跨Kubernetes集群的通信方法,包括:部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求;其中,第一内网IP地址为出口组件在所述第一Kubernetes集群中的内网IP地址,所述出口组件部署在所述第一Kubernetes集群中,用于向所述第一Kubernetes集群外部发送所述访问请求,所述访问请求包括第二服务的域名,所述第二服务部署在第二Kubernetes集群上;所述出口组件根据所述第二服务的域名,将所述访问请求发送至入口组件;其中,所述入口组件部署在所述第二Kubernetes集群中,用于接收所述第二Kubernetes集群外部的所述访问请求;所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务。
[0009]优选的,在所述部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求之前,还包括:所述第一服务根据所述第二服务的域名,从第一域名解析组件获取所述第一内网IP地址;其中,所述第一域名解析组件部署在所述第一Kubernetes集群上;相应地,在所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务之
前,还包括:所述入口组件根据所述第二服务的域名,从第二域名解析组件获取第二内网IP地址;其中,所述第二内网IP地址为所述第二服务在所述第二Kubernetes集群中的内网IP地址,所述第二域名解析组件部署在所述第二Kubernetes集群上。
[0010]优选的,在所述第一服务根据所述第二服务的域名,从第一域名解析组件获取所述第一内网IP地址之前,还包括:通过第一API

Server组件从控制组件获取所述第二服务的域名;其中,所述第一API

Server组件部署在所述第一Kubernetes集群上;将所述第一内网IP地址作为所述第二服务的域名在所述第一Kubernetes集群中对应的内网IP地址,在所述第一域名解析组件中进行注册。
[0011]优选的,在所述出口组件根据所述第二服务的域名,将所述访问请求发送至入口组件之前,还包括:通过第一API

Server组件从所述控制组件获取所述第二Kubernetes集群的外部访问IP地址;将所述第二Kubernetes集群的外部访问IP地址作为所述第二服务的域名对应的跨Kubernetes集群访问IP地址,在所述出口组件中进行注册。
[0012]优选的,在所述通过第一API

Server组件从控制组件获取所述第二服务的域名之前,还包括:所述第二服务通过第二API

Server组件向所述控制组件上报所述第二服务的域名;其中,所述第二API

Server组件部署在所述第二Kubernetes集群上;所述第二API

Server组件向所述控制组件上报所述第二Kubernetes集群的外部访问IP地址。
[0013]优选的,所述第二服务通过第二API

Server组件向所述控制组件上报所述第二服务的域名,包括:所述第二服务向所述第二API

Server组件发送所述第二服务的域名和允许接收外部访问请求的标签;所述第二API

Server组件将所述第二服务的域名转发至所述控制组件和所述入口组件;所述入口组件将所述第二服务的域名在允许接收外部访问请求的白名单中进行注册;相应地,所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务,包括:所述入口组件基于所述白名单对所述访问请求中的所述第二服务的域名进行权限认证;认证成功后,将所述访问请求发送至所述第二服务。
[0014]优选的,所述控制组件部署在独立于所述第一Kubernetes集群和所述第二Kubernetes集群之外的控制集群上。
[0015]本申请实施例还提供一种跨Kubernetes集群的通信系统,包括:请求访问单元,配置为部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求;其中,第一内网IP地址为出口组件在所述第一Kubernetes集群中的内网IP地址,所述出口组件部署在所述第一Kubernetes集群中,用于向所述第一Kubernetes集群外部发送所述访问请求,所述访问请求包括第二服务的域名,所述第二服务部署在第二Kubernetes集群上;外部转发单元,配置为所述出口组件根据所述第二服务的域名,将所述访问请求发送至入口组件;其中,所述入口组件部署在所述第二Kubernetes集群中,用于接收所述第二Kubernetes集群外部的所述访问请求;内部转发单元,配置为所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务。
[0016]本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序为如上任一所述的跨Kubernetes集群的通信方法。
[0017]本申请实施例还提供一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨Kubernetes集群的通信方法,其特征在于,包括:部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求;其中,第一内网IP地址为出口组件在所述第一Kubernetes集群中的内网IP地址,所述出口组件部署在所述第一Kubernetes集群中,用于向所述第一Kubernetes集群外部发送所述访问请求,所述访问请求包括第二服务的域名,所述第二服务部署在第二Kubernetes集群上;所述出口组件根据所述第二服务的域名,将所述访问请求发送至入口组件;其中,所述入口组件部署在所述第二Kubernetes集群中,用于接收所述第二Kubernetes集群外部的所述访问请求;所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务。2.根据权利要求1所述的通信方法,其特征在于,在所述部署在第一Kubernetes集群上的第一服务向第一内网IP地址发送访问请求之前,还包括:所述第一服务根据所述第二服务的域名,从第一域名解析组件获取所述第一内网IP地址;其中,所述第一域名解析组件部署在所述第一Kubernetes集群上;相应地,在所述入口组件根据所述第二服务的域名,将所述访问请求发送至所述第二服务之前,还包括:所述入口组件根据所述第二服务的域名,从第二域名解析组件获取第二内网IP地址;其中,所述第二内网IP地址为所述第二服务在所述第二Kubernetes集群中的内网IP地址,所述第二域名解析组件部署在所述第二Kubernetes集群上。3.根据权利要求2所述的通信方法,其特征在于,在所述第一服务根据所述第二服务的域名,从第一域名解析组件获取所述第一内网IP地址之前,还包括:通过第一API

Server组件从控制组件获取所述第二服务的域名;其中,所述第一API

Server组件部署在所述第一Kubernetes集群上;将所述第一内网IP地址作为所述第二服务的域名在所述第一Kubernetes集群中对应的内网IP地址,在所述第一域名解析组件中进行注册。4.根据权利要求3所述的通信方法,其特征在于,在所述出口组件根据所述第二服务的域名,将所述访问请求发送至入口组件之前,还包括:通过第一API

Server组件从所述控制组件获取所述第二Kubernetes集群的外部访问IP地址;将所述第二Kubernetes集群的外部访问IP地址作为所述第二服务的域名对应的跨Kubernetes集群访问IP地址,在所述出口组件中进行注册。5.根据权利要求4所述的通信方法,其特征在于,在所述通过第一API

Server组件从控制组件获取所述第二服务的域名之前,还包括:所述第二服务通过第二API...

【专利技术属性】
技术研发人员:张世明殷纳肖旸颜开陈齐彦
申请(专利权)人:上海道客网络科技有限公司
类型:发明
国别省市:

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

1