CN117395316B - 出口流量管理方法、设备及可读存储介质 - Google Patents
出口流量管理方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117395316B CN117395316B CN202311689220.5A CN202311689220A CN117395316B CN 117395316 B CN117395316 B CN 117395316B CN 202311689220 A CN202311689220 A CN 202311689220A CN 117395316 B CN117395316 B CN 117395316B
- Authority
- CN
- China
- Prior art keywords
- virtual
- host
- outlet flow
- port
- flow management
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 66
- 238000012544 monitoring process Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 14
- 238000012423 maintenance Methods 0.000 abstract description 13
- 239000002699 waste material Substances 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 238000013519 translation Methods 0.000 description 10
- 241000380131 Ammophila arenaria Species 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/53—Network services using third party service providers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种出口流量管理方法、设备及可读存储介质,属于数据传输技术领域。本申请应用于K8s集群,通过持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。做到了集中管理流量的分发和调度,减少了网络资源的浪费,同时减少了防火墙规则的数量,简化了第三方服务的配置和维护工作。本申请是在基础设施层提供的技术方案,相对于应用层的技术方案,提高了网络转发性能,降低了资源开销和管理维护成本。
Description
技术领域
本申请涉及数据传输技术领域,尤其涉及出口流量管理方法、设备及可读存储介质。
背景技术
Kubernetes(简称K8s)是一个开源的容器编排和管理平台,用于自动化部署、扩展和管理应用程序容器化的集群。典型的K8s集群一般用于对外提供服务,但有些K8s集群除了对外提供服务,其内部也依赖了第三方服务。
假设一个规模为10个节点(宿主机)的K8s集群,某微服务有10副本,分散部署在10个宿主机,需要调用某个有防火墙保护的第三方服务。如果不加特殊处理,流量将随机从10个宿主机发送到第三方服务,这产生了10个源IP,所以第三方服务的防火墙需要配置10条白名单规则。即第三方服务需要为集群中的每个宿主机配置防火墙规则,随着集群规模的增大,需要配置的防火墙规则数量也会增加。
可以使用Nginx等代理软件解决上述问题,当宿主机需要访问外部资源时,请求首先发送到Nginx代理,Nginx代理再将请求转发给第三方服务,然后将响应返回给宿主机。然而这是应用层的解决方案,需要部署额外的Nginx等代理软件,而且网络转发的性能损耗和管理维护成本较高。
上述内容仅用于辅助理解本申请的技术方案,并不代表承认上述内容是现有技术。
发明内容
本申请的主要目的在于提供一种出口流量管理方法、设备及可读存储介质,旨在解决Nginx等代理软件的应用层解决方案,需要部署额外的Nginx等代理软件,而且网络转发的性能损耗和管理维护成本较高的技术问题。
为实现上述目的,本申请提供一种出口流量管理方法,所述出口流量管理方法包括以下步骤:
持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;
将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。
可选地,所述持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求的步骤之前,还包括:
获取K8s集群中各个宿主机的优先级信息;
基于所述优先级信息,为优先级最高的宿主机分配虚IP。
可选地,所述出口流量管理方法还包括:
监测到持有所述虚IP的宿主机状态异常;
获取其他宿主机的实时优先级信息;
基于所述实时优先级信息,控制所述虚IP漂移到优先级最高的所述其他宿主机。
可选地,所述持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求的步骤之前,包括:
为K8s集群中全部的宿主机配置若干虚端口,所述若干虚端口与支持访问的若干第三方服务一一对应。
可选地,所述为K8s集群中全部的宿主机配置若干虚端口,所述若干虚端口与支持访问的若干第三方服务一一对应的步骤之前,还包括:
接收到虚端口管理操作,将所述虚端口的管理操作封装为命令行程序,其中,所述虚端口管理操作包括虚端口的新增、删除和修改操作;
将命令行应用程序封装为Docker镜像和Helm软件包,其中,所述Helm软件包用于在K8s集群中管理虚端口。
此外,为实现上述目的,本申请还提供一种出口流量管理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的出口流量管理程序,所述出口流量管理程序配置为实现上述的出口流量管理方法的步骤。
此外,为实现上述目的,本申请还提供一种可读存储介质,所述可读存储介质上存储有出口流量管理程序,所述出口流量管理程序被处理器执行时实现上述的出口流量管理方法的步骤。
在本申请中,为了解决现有的Nginx等代理软件的应用层解决方案,需要部署额外的Nginx等代理软件,而且网络转发的性能损耗和管理维护成本较高的技术问题,本申请应用于K8s集群,通过持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。做到了集中管理流量的分发和调度,减少了网络资源的浪费,同时减少了防火墙规则的数量,简化了第三方服务的配置和维护工作。本申请是在基础设施层提供的技术方案,相对于应用层的技术方案,提高了网络转发性能,降低了资源开销和管理维护成本。
附图说明
图1为本申请出口流量管理方法第一实施例的流程示意图;
图2为本申请出口流量管理方法第一实施例的交互示意图;
图3为本申请出口流量管理方法第二实施例的流程示意图;
图4为本申请出口流量管理方法第三实施例的流程示意图;
图5为本申请实施例方案涉及的硬件运行环境的出口流量管理设备的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
Kubernetes(简称K8s)是一个开源的容器编排和管理平台,用于自动化部署、扩展和管理应用程序容器化的集群。典型的K8s集群一般用于对外提供服务,但有些K8s集群除了对外提供服务,其内部也依赖了其他第三方服务。
假设一个规模为10个节点(宿主机)的K8s集群,某个有10副本(分散部署在10个宿主机,每个宿主机运行1个副本)的微服务需要访问防火墙之外的某个第三方服务,如果不加特殊处理,流量将随机从10个宿主机发送到第三方服务,因为这产生了10个源IP地址(Internet Protocol Address,网际互连协议地址),所以需要配置10条防火墙规则。即第三方服务需要为集群中的每个宿主机配置独立的防火墙规则,随着集群规模的增大,需要配置的防火墙规则数量也会增加。且当集群中的宿主机数量发生变化时,需要手动更新防火墙规则,以确保新加入的宿主机也能够正常访问第三方服务。这样会增加维护的复杂性和难度。此外,由于每个宿主机都会发送流量到第三方服务,如果是每个宿主机单独计算自己的限流额度,而不是从全局计算所有宿主机的限流总额度,也就是说缺少全局限流的管控机制,这可能会导致限流不均或限流失效等问题,限流不均会导致浪费自身的网络资源(不能充分地利用网络资源),限流失效可能会导致第三方服务的负载过高。
目前的做法,通常是使用Nginx(HTTP和反向代理web服务器)等代理软件来解决上述问题,当宿主机需要访问外部资源时,请求首先发送到Nginx服务器,Nginx服务器再将请求转发给第三方服务,然后将响应返回给宿主机。然而使用Nginx双向代理方案需要增加额外的组件来部署代理服务器,并且运行Nginx进程需要消耗额外的资源,同时提高了管理维护成本。
为了解决上述问题并且克服现有技术存在的弊端,本申请为某一宿主机分配唯一的虚IP,持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。做到了集中管理流量的分发和调度,减少了网络资源的浪费,同时减少了防火墙规则的数量,简化了第三方服务的配置和维护工作。并且由于本申请是在基础设施层提供的技术方案,能够避免增加应用层的负载和管理维护成本。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例提供了一种出口流量管理方法,参照图1,图1为本申请出口流量管理方法第一实施例的流程示意图。
本实施例中,所述出口流量管理方法包括:
步骤S10:持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;
在本实施例中,为集群中的某一宿主机配置虚IP,持有虚IP的宿主机用于接收其他宿主机发给虚端口的出口访问请求。
例如,参照图2,图2为本申请出口流量管理方法第一实施例的交互示意图。某一集群中存在三个节点(宿主机),依次为宿主机1、宿主机2和宿主机3,其中,宿主机2持有虚IP。所有宿主机都需要访问第三方服务,在本实施例中,宿主机1和宿主机3不直接访问第三方服务,而是将出口访问请求发送至宿主机2,再由宿主机2转发至第三方服务。
步骤S20:将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。
可选地,根据网络地址转换(NAT)规则,确定所述虚端口关联的第三方服务的实际IP和实际端口;根据转发规则,将所述虚IP作为源IP,发送所述出口访问请求至第三方服务的实际IP和实际端口。其中,所述网络转发规则是预先基于iptables配置的。
需要了解的是,iptables是一个用于配置Linux内核防火墙规则的工具。它可以通过命令行或配置文件的方式来设置网络地址转换(NAT)规则、数据包过滤、端口转发等功能。根据iptables的网络地址转换规则,确定虚端口与第三方服务的实际IP和实际端口的映射关系。这些映射关系可以在网络地址转换规则中定义,或者通过其他方式进行配置。例如,可以通过配置文件或数据库来管理虚端口与第三方服务的映射关系,即使在系统重启后仍然生效。
可选地,网络地址转换规则还可以基于nftables、firewalld、PF(Packet Filter)等软件进行配置。需要了解的是,nftables是Linux内核中的一种新的框架,用于实现包过滤和网络地址转换等功能。它是iptables的替代品,提供了更加灵活和高效的包过滤和网络地址转换功能。firewalld是一个动态的守护进程,用于管理Linux上的防火墙规则。它可以通过使用不同的后端(如nftables,iptables等)来实现网络地址转换功能。PF是OpenBSD操作系统上的一个强大的包过滤器和网络地址转换工具。它提供了灵活的规则定义和网络地址转换功能,可以用于实现复杂的网络配置。
参照图2,以虚IP(172.18.0.100)为源IP访问第三方服务A(IP 14.155.158.27,端口 80)为例。首先,通过Helm软件包新增虚端口10000,对应第三方服务A,单条Linux命令如下:
helm install create-virtualport-10000 virtualport-tools-1.0.0.tgz --set cmd=create --set port=10000 --set dstip=14.155.158.27 --set dstport=80
接着,Helm包根据K8s集群中的节点(宿主机)数量,创建等量的Kubernetes Job,为所有宿主机设置相同的iptables NAT规则,两条Linux命令如下:
iptables -t nat -A PREROUTING -p tcp --dport 10000 -j DNAT --to14.155.158.27:80
iptables -t nat -A POSTROUTING -p tcp --dport 80 --dst 14.155.158.27-j SNAT --to-source 172.18.0.100
最后,所有宿主机访问172.18.0.100:10000即可转发到第三方服务A。
在本实施例中,通过为某一宿主机分配唯一的虚IP,持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求;将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口。做到了集中管理流量的分发和调度,减少了网络资源的浪费,同时减少了防火墙规则的数量,简化了第三方服务的配置和维护工作。并且由于本申请是在基础设施层提供的技术方案,能够避免增加应用层的负载和管理维护成本。
进一步地,参照图3,图3为本申请出口流量管理方法第二实施例的流程示意图,提供本申请的第二实施例,所述步骤S10之前包括:
步骤S01:监测到持有所述虚IP的宿主机状态异常;
可选地,在本申请的方案之初,选定K8s集群中优先级最高的节点(宿主机)作为主出口节点,并使用keepalived软件为所述主出口节点配置虚IP,其中,优先级是根据宿主机的性能、资源配置、地理位置等因素预先确定的。一般来说,性能更好、资源更充足的宿主机优先级更高。需要了解的是,使用keepalived软件配置虚IP,是独立于K8s自身的配置,实现了和K8s的解耦。
进一步地,对持有所述虚IP的宿主机进行监测,以便于在监测到持有所述虚IP的宿主机状态异常时,触发故障切换。
作为一种状态监测的实施方式,使用keepalived在主出口节点和备份节点(未持有虚IP的宿主机)之间发送VRRP(virtual router redundant protocol,虚拟路由器冗余协议)心跳包,来检测主出口节点的状态。具体地,主出口节点定期发送心跳包,备份节点接收并检查心跳包的完整性和时间戳。如果备份节点在一定时间内没有收到主出口节点的心跳包,就会认为主出口节点故障,并触发故障切换。
除了VRRP,keepalived还支持其他的检测机制,如通过ping检测主出口节点的可达性、通过脚本检测主出口节点的运行状态等。可以根据具体的需求选择适合的检测机制。
步骤S02:获取其他宿主机的实时优先级信息;
可选地,主出口节点以外的备份节点(宿主机)都处于热备状态,触发故障切换机制之后,获取其他宿主机的实时优先级信息。
步骤S03:基于所述实时优先级信息,控制所述虚IP漂移到优先级最高的所述其他宿主机。
可选地,基于所述实时优先级信息,通过keepalived在所述备份节点(宿主机)中选定优先级最高的宿主机,并为选定的宿主机配置所述虚IP。选定的宿主机接管虚IP后,它将成为新的主出口节点,并负责处理集群中的请求。同时,原来的主出口节点恢复正常后会降级作为备份节点,参与下一次故障切换的竞争。
在本实施例中,能够实现主备节点的故障切换和虚IP的管理。当主出口节点发生故障时,其他节点(宿主机)会自动接管虚IP,确保集群的高可用性和可靠性。这样,即使主出口节点发生故障,集群中的服务也可以继续正常运行,不会中断用户的访问。同时,通过使用虚IP,可以屏蔽出口IP切换对用户的影响,提供更好的用户体验。
进一步地,参照图4,图4为本申请出口流量管理方法第三实施例的流程示意图,提供本申请的第三实施例,所述步骤S10之前还包括:
步骤S04:接收到虚端口管理操作,将所述虚端口的管理操作封装为命令行程序,其中,所述虚端口管理操作包括虚端口的新增、删除和修改操作;
虚端口管理操作可借用iptables的能力,基于iptables进行虚端口的新增、删除和修改操作并封装为命令行程序。可选地,底层的iptables可以替换为nftables、firewalld、PF (Packet Filter)等同类的软件,这些软件都可以实现网络地址转换(NAT)。
新增虚端口的示例:
helm install create-virtualport-31080 virtualport-tools-1.0.0.tgz --set cmd=create --set port=31080 --set dstip=172.18.100.150 --set dstport=30080 --set hashlimit.upto=128kb/s --set hashlimit.burst=192 --setconnlimit.upto=5 --set time.timestart=08:00 --set time.timestop=18:00 --settime.weekdays=1,2,3,4,5
其中,cmd指操作类型;port指虚端口;dstip指目标IP;dstport指目标端口;hashlimit.upto指网络流量限速所允许的最大值;hashlimit.burst指网络流量限速所允许的最大突发值,大于或等于最大值;connlimit.upto指网络连接数限制所允许的最大连接数;time.timestart指时间段限制所允许的开始时间; time.timestop指时间段限制所允许的结束时间;time.weekdays指时间段限制所允许的每周的星期几。
删除虚端口的示例:
helm install delete-virtualport-31080 virtualport-tools-1.0.0.tgz --set cmd=delete --set port=31080
修改虚端口的示例:
helm install edit-virtualport-31080 virtualport-tools-1.0.0.tgz --setcmd=edit --set port=31080 --set dstip=172.18.100.151
上述Linux命令只修改了指定虚端口的目标IP,其他不变。
步骤S05:将命令行应用程序封装为Docker镜像和Helm软件包,其中,所述Helm软件包用于在K8s集群中管理虚端口。
在本实施例中,将命令行应用程序封装为Docker镜像和Helm软件包。通过在K8s集群中使用Helm软件包实现管理虚端口,其中,虚端口是Helm软件包的最小管理单元。
具体地,Helm软件包能够将不同的参数传递给Docker镜像再传递给命令行应用程序,最终下发给宿主机的iptables执行。
可选地,还支持修改虚端口的全局限速、全局最大连接数限制、全局可用时段。其中,所述全局限速指的是不区分宿主机,也即全部宿主机消耗分担同一个限速配额;所述全局最大连接数限制指的是不区分宿主机,也即全部宿主机消耗分担同一个最大连接数配额;所述全局可用时段指的是不区分宿主机,也即全部宿主机设置为同一个可用时段,在全部宿主机生效。
例如,修改虚端口10000的全局限速:
helm install edit-virtualport-10000 virtualport-tools-1.0.0.tgz --setcmd=edit --set port=10000 --set hashlimit.upto=128kb/s
在本实施例中,能够将虚端口的新增、删除和修改操作封装为Docker镜像和Helm软件包。这样,可以使用Helm命令来部署一次性的Kubernetes Job容器,并传递参数给命令行应用程序,最终下发给宿主机的iptables执行。这种方式可以减少资源占用,只在需要执行操作时运行容器,并在操作完成后退出。
此外,本申请实施例还提出一种出口流量管理设备。
参照图5,图5为本申请实施例方案涉及的硬件运行环境的出口流量管理设备结构示意图。
如图5所示,该出口流量管理设备可以包括:处理器1001,例如中央处理器(CentralProcessingUnit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccessMemory,RAM)存储器,也可以是稳定的非易失性存储器(Non-VolatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图5中示出的结构并不构成对出口流量管理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种可读存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及出口流量管理程序。
在图5所示的出口流量管理设备中,网络接口1004主要用于与其他设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本申请出口流量管理设备中的处理器1001、存储器1005可以设置在出口流量管理设备中,所述出口流量管理设备通过处理器1001调用存储器1005中存储的出口流量管理程序,并执行本申请实施例提供的出口流量管理方法。
此外,本申请实施例还提出一种可读存储介质。
本申请可读存储介质上存储有出口流量管理程序,所述出口流量管理程序被处理器执行时实现如上所述的出口流量管理方法的步骤。
其中,本申请可读存储介质中存储的出口流量管理程序被处理器执行的具体实施例与上述出口流量管理方法各实施例基本相同,在此不作赘述。
需要说明的是,在本文中,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个出口流量管理”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个可读存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (3)
1.一种出口流量管理方法,其特征在于,所述出口流量管理方法应用于K8s集群,包括以下步骤:
接收到虚端口管理操作,将所述虚端口的管理操作封装为命令行程序,其中,所述虚端口管理操作包括虚端口的新增、删除和修改操作;
将命令行应用程序封装为Docker镜像和Helm软件包,其中,所述Helm软件包用于在K8s集群中管理虚端口;
为K8s集群中全部的宿主机配置若干虚端口,所述若干虚端口与支持访问的若干第三方服务一一对应;
选定所述K8s集群中优先级最高的宿主机作为主出口节点,并使用keepalived软件为所述主出口节点配置虚IP,其中,所述优先级是根据宿主机的性能、资源配置和地理位置预先确定的;
持有虚IP的宿主机接收其它宿主机发给虚端口的出口访问请求,所述出口访问请求包含所述虚IP和所述虚端口;
将所述虚IP作为源IP,发送所述出口访问请求至所述虚端口关联的第三方服务的实际IP和实际端口;
基于所述keepalived软件监测到持有所述虚IP的宿主机状态异常;
获取其他宿主机的实时优先级信息;
基于所述实时优先级信息,通过所述keepalived软件控制所述虚IP漂移到优先级最高的所述其他宿主机。
2.一种出口流量管理设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的出口流量管理程序,所述出口流量管理程序配置为实现如权利要求1所述的出口流量管理方法的步骤。
3.一种可读存储介质,其特征在于,所述可读存储介质上存储有出口流量管理程序,所述出口流量管理程序被处理器执行时实现如权利要求1所述的出口流量管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311689220.5A CN117395316B (zh) | 2023-12-11 | 2023-12-11 | 出口流量管理方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311689220.5A CN117395316B (zh) | 2023-12-11 | 2023-12-11 | 出口流量管理方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117395316A CN117395316A (zh) | 2024-01-12 |
CN117395316B true CN117395316B (zh) | 2024-03-22 |
Family
ID=89472503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311689220.5A Active CN117395316B (zh) | 2023-12-11 | 2023-12-11 | 出口流量管理方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117395316B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106982259A (zh) * | 2017-04-19 | 2017-07-25 | 聚好看科技股份有限公司 | 服务器集群的故障解决方法 |
CN112130965A (zh) * | 2020-10-26 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 部署分布式容器编排管理集群的方法、设备及存储介质 |
CN116032728A (zh) * | 2022-12-23 | 2023-04-28 | 北京天融信网络安全技术有限公司 | 用于微服务环境的智能访问方法、系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10348636B2 (en) * | 2016-11-18 | 2019-07-09 | Vmware, Inc. | Outbound request management |
CN110868465A (zh) * | 2019-11-13 | 2020-03-06 | 北京浪潮数据技术有限公司 | 一种容器云的负载均衡系统及方法 |
-
2023
- 2023-12-11 CN CN202311689220.5A patent/CN117395316B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106982259A (zh) * | 2017-04-19 | 2017-07-25 | 聚好看科技股份有限公司 | 服务器集群的故障解决方法 |
CN112130965A (zh) * | 2020-10-26 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 部署分布式容器编排管理集群的方法、设备及存储介质 |
CN116032728A (zh) * | 2022-12-23 | 2023-04-28 | 北京天融信网络安全技术有限公司 | 用于微服务环境的智能访问方法、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117395316A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11777790B2 (en) | Communications methods and apparatus for migrating a network interface and/or IP address from one Pod to another Pod in a Kubernetes system | |
AU2020239763B2 (en) | Virtual network, hot swapping, hot scaling, and disaster recovery for containers | |
CN109743261B (zh) | 一种基于sdn的容器网络资源调度方法 | |
US10003534B2 (en) | Multiple active L3 gateways for logical networks | |
US9503371B2 (en) | High availability L3 gateways for logical networks | |
CN109167702A (zh) | 一种基于负载均衡的分布式测试方法及装置 | |
EP3788772B1 (en) | On-node dhcp implementation for virtual machines | |
CN113709220B (zh) | 虚拟负载均衡器的高可用实现方法、系统及电子设备 | |
WO2017127225A1 (en) | Virtual network, hot swapping, hot scaling, and disaster recovery for containers | |
CN111835685A (zh) | 一种监控Nginx网络隔离空间的运行状态的方法和服务器 | |
CN113608865A (zh) | 一种流量控制方法、装置、系统、电子设备及存储介质 | |
CN114900526B (zh) | 负载均衡方法及系统、计算机存储介质、电子设备 | |
JP2024529099A (ja) | コンテナグループを稼働させるためのノード、ならびにコンテナグループ管理システムおよび方法 | |
US12120203B2 (en) | UDP message distribution method, UDP message distribution apparatus, electronic device and computer readable storage medium | |
CN117395316B (zh) | 出口流量管理方法、设备及可读存储介质 | |
WO2023116449A1 (zh) | 一种控制网络切片状态的方法及相关设备 | |
WO2020032169A1 (ja) | 障害復旧制御方法、通信装置、通信システム、及びプログラム | |
CN111586153B (zh) | 一种用于云平台的通信方法及装置 | |
US20240179085A1 (en) | Methods, systems and computer readable media for emulating physical layer impairments in a cloud computing environment | |
CN118018523A (zh) | 一种mlag环境下的dhcp服务器工作方法、设备及介质 | |
CN114579338A (zh) | 双机分布式仲裁系统及其仲裁方法 | |
CN116033000A (zh) | 一种云平台及云平台服务调用方法 | |
CN116346727A (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 |