一种流量转发方法、装置、计算机设备及存储介质与流程

    技术2024-12-21  3

    本申请涉及运维和通信,尤其涉及流量转发方法、装置、计算机设备及存储介质。
    背景技术
    ::1、在如今复杂多变的企业业务应用管理环境中,kubernetes集群作为容器编排和管理的核心工具,通过其强大的自动化部署、扩展、调度及自我修复能力,大大提高了企业it管理的便利性和业务响应速度,但是随着kubernetes集群的业务负载量愈发增多的同时,也带来了一系列的问题,比如开发、测试环境是默认禁止访问公网的,如应用服务需要访问公网域名,需要在防护墙上开通对应的网络策略。2、为了解决上述问题,传统的方法是采用手动配置防火墙规则,通过管理员需要手动在防火墙中为每个需要访问公网的pod或服务的ip地址添加相应的出站规则。3、然而,由于kubernetes集群中用于进行流量传输的pod的ip地址是动态分配的,每次pod重启或迁移时ip都可能变化,导致之前配置的防火墙规则失效,需要频繁更新。技术实现思路1、本申请实施例的目的在于提出一种流量转发方法、装置、计算机设备及存储介质,在kubernetes集群外部加了一套代理机器,需要通过开墙访问的域名都转发到代理机器上,以解决kubernetes集群在进行公网的流量传输时,由于pod的ip变化引发的防火墙规则失效的问题。2、为了解决上述技术问题,本申请实施例提供一种流量转发方法,采用了如下所述的技术方案:3、获取待处理出口流量;4、通过资源对象将预设的envoy配置文件映射到第一容器中;5、将预设的iptables规则配置在第二容器中,基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中;6、基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量;7、将所述目标出口流量转发到流量出口地址。8、进一步的,所述获取待处理出口流量的步骤,具体包括:9、通过流量监控工具拦截所述kubernetes集群内的所有请求域名;10、解析所述请求域名的网络属性,确定所述请求域名的网络类型;11、若所述请求域名属于内网,则放开拦截;12、若所述请求域名属于外网,则拉取所述请求域名的网络包作为待处理出口流量。13、进一步的,在所述通过资源对象将预设的envoy配置文件映射到第一容器中的步骤之前,具体包括:14、采用分布式配置中心存储若干个envoy配置模板,对所述envoy配置模板进行版本化管理;15、通过增量更新算法计算所述envoy配置模板不同版本间的差异,生成配置变更集合;16、基于所述配置变更集合中的变更内容,对预设的envoy配置文件进行更新。17、进一步的,所述将预设的iptables规则配置在第二容器中的步骤,具体包括:18、通过pampas平台选取iptables规则;19、将所述iptables规则通过所述资源对象挂载在第二容器中,通过所述第二容器对所述kubernetes集群进行全局绑定。20、进一步的,所述基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中的步骤,具体包括:21、获取所述第一容器的端口号和所述第二容器的端口号;22、基于所述预设的iptables规则,将第一容器的端口号和第二容器的端口号进行绑定,得到端口连接,所述第一容器的端口号为所述第二容器的端口号的输出端口;23、通过所述第二容器拦截所述待处理出口流量;24、基于所述端口连接将所述第二容器所拦截的待处理出口流量重定向到所述第一容器中。25、进一步的,所述目标出口流量包括第一出口流量和第二出口流量,所述基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量的步骤,具体包括:26、通过预设的envoy配置文件内的路由规则对所述待处理出口流量进行过滤;27、若所述待处理出口流量符合路由规则,则将所述待处理出口流量确定为第一出口流量;28、若所述待处理出口流量不符合路由规则,则将所述待处理出口流量确定为第二出口流量。29、进一步的,所述将所述目标出口流量转发到流量出口地址的步骤,具体包括:30、当所述目标出口流量为所述第一出口流量时,则将所述目标出口流量转发到代理服务器中进行负载均衡处理,得到目标转发流量,将所述目标转发流量转发到流量出口地址;31、当所述目标出口流量为所述第二出口流量时,则将所述目标出口流量直接转发到流量出口地址。32、为了解决上述技术问题,本申请实施例还提供一种流量转发装置,采用了如下所述的技术方案:33、获取模块,用于获取待处理出口流量;34、映射模块,用于通过资源对象将预设的envoy配置文件映射到第一容器中;35、重定向模块,用于将预设的iptables规则配置在第二容器中,基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中;36、校验模块,用于基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量;37、转发模块,用于将所述目标出口流量转发到流量出口地址。38、为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:39、一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现所述的流量转发方法的步骤。40、为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:41、一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现所述的流量转发方法的步骤。42、与现有技术相比,本申请实施例主要有以下有益效果:43、本申请实施例通过获取待处理出口流量,通过资源对象将预设的envoy配置文件映射到第一容器中,将预设的iptables规则配置在第二容器中,基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中,基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量,将所述目标出口流量转发到流量出口地址,通过将预设的envoy配置文件映射到第一容器中以处理待处理出口流量,并将预设的iptables规则配置在第二容器中实现流量重定向,该方法有效解决了kubernetes集群中因pod ip动态变化导致的防火墙规则频繁失效问题,提高了流量处理的灵活性和可靠性,还简化了网络配置管理流程,确保了集群内外流量传输的高效与安全。技术特征:1.一种流量转发方法,应用于kubernetes集群,其特征在于,包括下述步骤:2.根据权利要求1所述的流量转发方法,其特征在于,所述获取待处理出口流量的步骤,具体包括:3.根据权利要求1所述的流量转发方法,其特征在于,在所述通过资源对象将预设的envoy配置文件映射到第一容器中的步骤之前,具体包括:4.根据权利要求1所述的流量转发方法,其特征在于,所述将预设的iptables规则配置在第二容器中的步骤,具体包括:5.根据权利要求1所述的流量转发方法,其特征在于,所述基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中的步骤,具体包括:6.根据权利要求1所述的流量转发方法,其特征在于,所述目标出口流量包括第一出口流量和第二出口流量,所述基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量的步骤,具体包括:7.根据权利要求6所述的流量转发方法,其特征在于,所述将所述目标出口流量转发到流量出口地址的步骤,具体包括:8.一种流量转发装置,其特征在于,包括:9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的流量转发方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的流量转发方法的步骤。技术总结本申请实施例属于运维和通信领域,涉及一种流量转发方法,应用于Kubernetes集群,包括获取待处理出口流量,通过资源对象将预设的envoy配置文件映射到第一容器中,将预设的iptables规则配置在第二容器中,基于所述预设的iptables规则将所述待处理出口流量重定向到所述第一容器中,基于所述预设的envoy配置文件对所述待处理出口流量进行规则校验,得到目标出口流量,将所述目标出口流量转发到流量出口地址。本申请还提供一种流量转发装置、计算机设备及存储介质。本申请解决了Kubernetes集群在进行公网的流量传输时,由于Pod的IP变化引发的防火墙规则失效的问题。技术研发人员:郑卫星受保护的技术使用者:康键信息技术(深圳)有限公司技术研发日:技术公布日:2024/10/24
    转载请注明原文地址:https://symbian.8miu.com/read-24009.html

    最新回复(0)