技术新讯 > 电子通信装置的制造及其应用技术 > 跨集群的报文转发方法、装置及系统与流程  >  正文

跨集群的报文转发方法、装置及系统与流程

  • 国知局
  • 2024-09-11 15:05:39

本申请涉及大数据,尤其涉及一种跨集群的报文转发方法、装置及系统。

背景技术:

1、kubernetes是当前业界主流的容器管理平台,业界通常用k8s来对kubernetes进行缩写,容器化技术已经发展了很多年,k8s已经成为了容器编排事实上的标准。在虚拟化领域,容器已经成功替代虚拟机。容器相比虚拟机,具备更好的弹性和速度。现在很多公司将现有应用程序从虚拟化迁移到容器。因此越来越多的应用设计之初就基于kubernetes进行设计和开发。

2、当前k8s集群之间转发报文,只能通过nodeport机制,对外开放一个端口用于转发报文,而每一个需要跨集群访问的服务都需要开通一个新的端口,k8s默认端口号范围是30000-32767,如果要跨集群访问的服务比较多,很容易就把端口给耗光。同时,开放端口也需要开通相应的安全策略,存在一定的安全风险。

技术实现思路

1、本申请提供一种跨集群的报文转发方法,所述集群包括服务代理节点;所述服务代理节点用于拦截集群内任一节点发送的报文,并针对所述报文添加扩展信息;所述集群包括用于与其他集群进行通信的通信组件,所述方法包括:

2、第一集群中的第一服务代理节点拦截所述第一集群内任一节点发送的服务请求报文;

3、所述第一服务代理节点确定所述服务请求报文中的目的ip地址对应的域名是否为第二集群中的域名;

4、如果是,所述第一服务代理节点在所述服务请求报文中添加扩展信息;所述扩展信息至少包括所述目的ip地址对应的域名;

5、所述第一服务代理节点将所述报文发送至所述第一通信组件,以使所述第一通信组件将所述服务请求报文发送至所述第二集群的第二通信组件;

6、所述第二通信组件基于所述扩展信息中的所述目的ip地址对应的域名,将所述服务请求报文转发至所述第二集群内与所述域名对应的目标节点并返回服务应答报文。

7、可选的,所述第一集群中的第一服务代理节点拦截所述第一集群内任一节点发送的服务请求报文之前,所述方法还包括:

8、所述第一服务代理节点拦截第一集群内任一节点发送的dns请求报文;

9、所述第一服务代理节点确定所述dns解析报文请求的域名是否在所述第二集群;

10、如果所述dns解析报文请求的域名在所述第二集群,构造随机的ip地址并记录所述ip地址与所述域名之间的对应关系,并将所述ip地址返回至所述节点,以由所述节点基于所述ip地址发送服务请求报文。

11、可选的,所述第一服务代理节点确定所述dns解析报文请求的域名是否在所述第二集群,包括:所述第一服务代理节点向dns服务器发送所述dns解析报文,以使所述dns服务器查询预设的域名表,确定所述dns解析报文请求的域名在所述第二集群;其中,域名表包括第二集群中的全部域名。

12、可选的,所述第一服务代理节点确定所述服务请求报文中的目的ip地址对应的域名是否为第二集群中的域名,包括:

13、确定所述服务请求报文中的目的ip地址是否为所述第一服务代理节点构造的ip地址;

14、如果是,确定所述服务请求报文中的目的ip地址对应的域名为第二集群中的域名。

15、可选的,所述第一服务代理节点在所述服务请求报文中添加扩展信息;所述扩展信息至少包括所述目的ip地址对应的域名,包括:

16、所述第一服务代理节点查询ip地址与所述域名之间的对应关系,确定与所述目的ip地址对应的域名;

17、所述第一服务代理节点在所述请求报文中添加扩展信息;所述扩展信息包括所述目的ip地址对应的域名。

18、可选的,方法还包括:

19、如果所述服务请求报文中的目的ip地址不为所述第一服务代理节点构造的ip地址,所述第一服务代理节点基于所述目的ip地址将所述服务请求报文转发至所述第一集群内的目标节点。

20、可选的,所述第二通信组件将所述服务请求报文发送至所述第二集群中的第二服务代理节点,包括:

21、所述第二通信组件删除所述扩展信息,并基于所述扩展信息中的域名进行dns解析,确定所述域名对应的目标ip地址;

22、所述第二通信组件将所述服务请求报文中的目的ip地址修改为所述目标ip地址,并基于修改后的所述目的ip地址将所述服务请求报文转发至所述第二集群内的目标节点,以使所述第二集群内的目标节点返回服务应答报文。

23、可选的,所述第一通信组件与第二通信组件之间预先开通了用于通信的nodeport端口。

24、本申请还提供一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

25、所述存储器中存储机器可读指令,所述处理器通过调用所述机器可读指令,执行上述方法。

26、本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现上述方法。

27、在以上实施例记载的方案中,由服务代理节点拦截并修改报文转发至通信组件,由通信组件完成跨集群报文的转发,由此只需要针对跨集群的通信组件之间开放用于报文转发的端口,从而节省端口资源。由于减少了端口数量,不需要开通多余的安全策略,可以降低跨集群的报文转发之间的安全风险。

技术特征:

1.一种跨集群的报文转发方法,所述集群包括服务代理节点;所述服务代理节点用于拦截集群内任一节点发送的报文,并针对所述报文添加扩展信息;所述集群包括用于与其他集群进行通信的通信组件,所述方法包括:

2.根据权利要求1所述的方法,所述第一集群中的第一服务代理节点拦截所述第一集群内任一节点发送的服务请求报文之前,所述方法还包括:

3.根据权利要求2所述的方法,所述第一服务代理节点确定所述dns解析报文请求的域名是否在所述第二集群,包括:所述第一服务代理节点向dns服务器发送所述dns解析报文,以使所述dns服务器查询预设的域名表,确定所述dns解析报文请求的域名在所述第二集群;其中,域名表包括第二集群中的全部域名。

4.根据权利要求2所述的方法,所述第一服务代理节点确定所述服务请求报文中的目的ip地址对应的域名是否为第二集群中的域名,包括:

5.根据权利要求4所述的方法,所述第一服务代理节点在所述服务请求报文中添加扩展信息;所述扩展信息至少包括所述目的ip地址对应的域名,包括:

6.根据权利要求4所述的方法,方法还包括:

7.根据权利要求1所述的方法,所述第二通信组件将所述服务请求报文发送至所述第二集群中的第二服务代理节点,包括:

8.一种跨集群的报文转发装置,所述集群包括服务代理节点;所述服务代理节点用于拦截集群内任一节点发送的报文,并针对所述报文添加扩展信息;所述集群包括用于与其他集群进行通信的通信组件,所述装置包括:

9.一种电子设备,包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;

10.一种计算机可读存储介质,所述计算机可读存储介质存储有机器可读指令,所述机器可读指令在被处理器调用和执行时,实现权利要求1-7任一项所述的方法。

技术总结本申请提供一种跨集群的报文转发方法及装置,所述方法包括:第一集群中的第一服务代理节点拦截所述第一集群内任一节点发送的服务请求报文;所述第一服务代理节点确定所述服务请求报文中的目的IP地址对应的域名是否为第二集群中的域名;如果是,所述第一服务代理节点在所述服务请求报文中添加所述目的IP地址对应的域名;所述第一服务代理节点将所述报文发送至所述第一通信组件,以使所述第一通信组件将所述服务请求报文发送至所述第二集群的第二通信组件;所述第二通信组件基于所述扩展信息中的所述目的IP地址对应的域名,将所述服务请求报文转发至所述第二集群内与所述域名对应的目标节点并返回服务应答报文。技术研发人员:张海生,周文明,田微受保护的技术使用者:杭州数梦工场科技有限公司技术研发日:技术公布日:2024/9/9

本文地址:https://www.jishuxx.com/zhuanli/20240911/293161.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。