CN115189995A - Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质 - Google Patents

Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质 Download PDF

Info

Publication number
CN115189995A
CN115189995A CN202211088235.1A CN202211088235A CN115189995A CN 115189995 A CN115189995 A CN 115189995A CN 202211088235 A CN202211088235 A CN 202211088235A CN 115189995 A CN115189995 A CN 115189995A
Authority
CN
China
Prior art keywords
network
federation
cluster
heterogeneous
coroutine
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.)
Granted
Application number
CN202211088235.1A
Other languages
English (en)
Other versions
CN115189995B (zh
Inventor
花磊
刘学聪
梁兵
崔骥
赵安全
高远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Boyun Technology Co ltd
Original Assignee
Jiangsu Boyun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Boyun Technology Co ltd filed Critical Jiangsu Boyun Technology Co ltd
Priority to CN202211088235.1A priority Critical patent/CN115189995B/zh
Publication of CN115189995A publication Critical patent/CN115189995A/zh
Application granted granted Critical
Publication of CN115189995B publication Critical patent/CN115189995B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Abstract

本发明涉及通信技术领域,尤其涉及一种Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质,包括:通过若干个协程,编辑至少两个集群的联邦资源对象;基于联邦资源对象,建立网络联邦的通信连接。可以解决通用方案仅支持同构网络联邦,导致实际使用时网络联邦灵活性较差问题。可以提高网络联邦的灵活性。

Description

Kubernetes环境下多集群网络联邦通信建立方法、设备及存 储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质。
背景技术
在Kubernetes环境下,为了实现通过本地集群跨集群管理其它远端集群,需要建立本地集群与远端集群的网络联邦,通过网络联邦实现本地集群与远端集群之间的通信。
传统的网络联邦通信建立方法,包括:使用通用的Kubernetes集群网络联邦实现方案Calico Enterprise(Calico的商业拓展版本,Calico是虚拟网络解决方案)。
然而,传统的方法仅支持同构网络联邦,导致实际使用时网络联邦灵活性较差的问题。
发明内容
本申请提供了Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质,可以解决传统的方法仅支持同构网络联邦,导致实际使用时网络联邦灵活性较差问题。本申请提供如下技术方案:
第一方面,本申请提供了一种Kubernetes环境下多集群网络联邦通信建立方法,应用于网络联邦中本地集群中的任一节点,所述网络联邦包括至少两个集群,所述至少两个集群包括所述本地集群和远端集群,所述方法包括:通过若干个协程,编辑所述至少两个集群的联邦资源对象;基于所述联邦资源对象,建立所述网络联邦的通信连接。
可选地,所述网络联邦包括异构网络联邦和同构网络联邦;相应地,所述若干个协程包括所述异构网络联邦对应的异构协程,和所述同构网络联邦对应的同构协程。
可选地,所述网络联邦为异构网络联邦;所述联邦资源对象包括所述本地集群的基本信息和所述远端集群的基本信息;所述本地集群的基本信息包括所述本地集群的IP列表和所述本地集群暴露的端口信息;所述远端集群的基本信息包括所述远端集群的IP列表和所述远端集群暴露的端口信息。
可选地,所述异构协程包括第一异构协程、第二异构协程、第三异构协程和第四异构协程;所述第一异构协程用于同步所述网络联邦缓存,初始化所述异构网络联邦;所述第二异构协程用于监听所述联邦资源对象的创建事件;所述第三异构协程用于监听所述联邦资源对象的更新事件;所述第四异构协程用于监听所述联邦资源对象的删除事件。
可选地,在所述第二异构协程监听到所述联邦资源对象的创建事件的情况下,所述方法还包括:判断当前节点是否为主节点;在所述当前节点为所述主节点的情况下,更新所述远端集群的基本信息;初始化所述异构网络联邦。
可选地,在所述第三异构协程监听到所述联邦资源对象的更新事件的情况下,所述方法还包括:判断当前节点是否为主节点;在所述当前节点为所述主节点的情况下,更新所述远端集群的基本信息;初始化所述异构网络联邦。
可选地,在所述第四异构协程监听到所述联邦资源对象的删除事件的情况下,所述方法还包括:清理当前节点的Iptables规则;关闭所述异构网络联邦中的IPSec连接通道。
可选地,所述初始化所述异构网络联邦,包括:确定所述异构网络联邦是否存在;在所述异构网络联邦存在的情况下,确定所述当前节点是否为主节点;在所述当前节点为主节点的情况下,确定所述远端集群的可用转发网关;确认所述当前节点的Iptables规则为可用;确定所述至少两个集群的联邦资源是否正常;在所述至少两个集群的联邦资源正常的情况下,初始化所述本地集群中节点的IPSec连接;确定所述本地集群的可用转发网关。
可选地,所述网络联邦为同构网络联邦;所述联邦资源包括所述远端集群的基本信息;所述远端集群的基本信息包括所述远端集群的IP列表和所述远端集群暴露的端口信息。
可选地,所述同构协程包括第一同构协程、第二同构协程、第三同构协程和第四同构协程;所述第一同构协程用于监听所述联邦资源对象的创建事件;所述第二同构协程用于监听所述联邦资源对象的更新事件;所述第三同构协程用于监听所述联邦资源对象的删除事件;所述第四同构协程用于定期获取所述远端集群的基本信息,以对已获取的基本信息进行更新。
可选地,在所述第一同构协程监听到所述联邦资源对象的创建事件的情况下,所述方法还包括:创建所述联邦资源对象;判断当前节点是否为主节点;在所述当前节点为主节点的情况下,基于所述联邦资源对象获取所述远端集群的基本信息,以对已获取的基本信息进行更新。
可选地,在所述第二同构协程监听到所述联邦资源对象的更新事件的情况下,所述方法还包括:判断所述同构网络联邦的容器网络是否变化;在所述容器网络发生变化的情况下,更新缓存中的所述容器网络;重置所述同构网络联邦的流表;判断所述至少两个集群中的节点是否发生变化;在所述至少两个集群中的节点发生变化的情况下,更新缓存中的节点列表;判断所述至少两个集群的IP列表是否发生变化;在所述至少两个集群的IP列表发生变化的情况下,删除所述IP列表中发生变化的IP地址的流表。
可选地,在所述第三同构协程监听到所述联邦资源对象的删除事件的情况下,所述方法还包括:删除所述联邦资源对象;重置所述同构网络联邦的流表。
第二方面,提供一种电子设备,包括存储器、控制器以及存储在存储器上并可在控制器上运行的计算机程序,所述控制器执行所述计算机程序时实现上述Kubernetes环境下多集群网络联邦通信建立方法的步骤。
第三方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的Kubernetes环境下多集群网络联邦通信建立方法。
本申请的有益效果在于:通过若干个协程,编辑至少两个集群的联邦资源对象;基于联邦资源对象,建立网络联邦的通信连接。可以解决通用方案仅支持同构网络联邦,导致实际使用时网络联邦灵活性较差问题。通过若干个协程编辑,自定义的联邦资源对象,通过联邦资源对象实现同构网络联邦和异构网络联邦,可以提高网络联邦的灵活性。
另外,异构网络联邦支持分布式和集中式转发网关,可以多个转发网关同时在线,这样,能够更好的应对突发的大流量风险,提高异构网络联邦的抗风险能力。
另外,异构网络联邦中不同集群之间构建IPsec连接通道,这样,异构网络联邦进行通信时,只需要经过一次网络封装,可以降低网络性能的损耗。
另外,在同构网络联邦的跨集群网络访问流量路径和overlay的路径一致,不需要引入新的组件,因此,不会增加新的资源消耗。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例提供的Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图2是本申请的一个实施例提供的异构网络联邦的示意图;
图3是本申请的一个实施例提供的同构网络联邦的示意图;
图4是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图5是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图6是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图7是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图8是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图9是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图10是本申请的一个实施例提供的另一个Kubernetes环境下多集群网络联邦通信建立方法的流程图;
图11是本申请的一个实施例提供的Kubernetes环境下多集群网络联邦通信建立装置的框图;
图12是本申请的一个实施例提供的电子设备的框图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在申请中,在未作相反说明的情况下,使用的方位词如“上、下、顶、底”通常是针对附图所示的方向而言的,或者是针对部件本身在竖直、垂直或重力方向上而言的;同样地,为便于理解和描述,“内、外”是指相对于各部件本身的轮廓的内、外,但上述方位词并不用于限制本申请。
首先,对本申请涉及的若干名词进行介绍。
Kubernetes(K8s):是用于自动部署、拓展和管理、容器化应用的开源系统。
联邦(federation):单个集群统一管理多个Kubernetes集群的机制,这些集群可以是跨地域,跨云厂商的,在联邦集群中可以使用集群联邦API,管理多个Kubernetes集群的Kubernetes API资源。
容器网络接口(Container Network Interface,CNI):在Kubernetes集群中实现容器网络接口的规范。
网络联邦:在网络层面多个集群实现联邦,即在网络层面联邦集群可以互相访问。
同构网络联邦:不同集群中使用同一CNI。
异构网络联邦:不同集群中使用不同的CNI。
Kubernetes自定义资源(Custom Resource Definitions,CRD):Kubernetes除了拥有一些内置资源以外,同时支持用户自定义一些新的资源,用来拓展Kubernetes的功能。
IPSec:一种安全网络协议套件,它对数据包进行身份验证和加密,以通过Internet协议网络在两台计算机之间提供安全的加密通信。
转发网关:指的是网络联邦的集群中专门向其它集群转发集群数据包的服务器节点,和传统网络术语中的网关服务器含义不同。
vxlan:是一种网络虚拟化技术,可以改进大型云计算在部署时的扩展问题,是对VLAN的一种扩展。vxlan是一种功能强大的工具,可以穿透三层网络对二层进行扩展。它可通过封装流量并将其扩展到第三层网关,以此来解决VMS(虚拟内存系统)的可移植性限制,使其可以访问在外部IP子网上的服务器。
overlay:overlay在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。overlay技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。一个overlay网络主要由三部分组成:边缘设备,是指与虚拟机直接相连的设备;控制平面,主要负责虚拟隧道的建立维护以及主机可达性信息的通告;转发平面,承载overlay报文的物理网络。
IPtables:IPtables是一个配置Linux内核防火墙的命令行工具,是Netfilter项目的一部分。
XFRM:是Linux2.6内核为安全处理引入的一个可扩展功能框架,用来在数据包经过路由路径的过程中对其进行修改,包含3种数据结构:策略(xfrm policy),模板(template)和状态(xfrm state)。策略是通过模板和状态发生联系的。
下面对本申请提供的Kubernetes环境下多集群网络联邦通信建立方法进行详细介绍。
如图1所示,本申请的实施例提供的Kubernetes环境下多集群网络联邦通信建立方法,本实施例以该方法用于网络联邦中本地集群中的任一节点为例进行说明,其中,网络联邦包括至少两个集群,至少两个集群包括本地集群和远端集群,至少包括以下几个步骤:
步骤101,通过若干个协程,编辑至少两个集群的联邦资源对象。
其中,联邦资源对象是指通过Kubernetes自定义资源(Custom ResourceDefinitions,CRD)技术定义的对象。
本实施例中,网络联邦包括异构网络联邦和同构网络联邦。异构网络联邦中参与网络联邦的各个集群采用的容器网络接口(Container Network Interface,CNI)不同;同构网络联邦中参与网络联邦的各个集群采用同样的容器网络接口。
相应地,若干个协程包括异构网络联邦对应的异构协程,和同构网络联邦对应的同构协程。
可选地,网络联邦包括异构网络联邦,异构网络联邦包括至少两个集群,至少两个集群包括本地集群和远端集群。
本实施例中,异构网络联邦支持分布式和集中式转发网关,即可以多个转发网关同时在线,这样,能够更好的应对突发的大流量风险,同时,异构网络联邦只需要经过一次网络封装,网络性能损耗更小。
比如:参考图2,以集群A和集群B为例,集群A和集群B为异构的两个集群,集群A为本地集群,集群B为远端集群;或者集群A为远端集群,集群B为本地集群;集群A中包括节点Node-1、节点Node-2、转发网关GatewayNode-1和转发网关GatewayNode-2;集群B中包括节点Node-3、节点Node-4、转发网关GatewayNode-3和转发网关GatewayNode-4;其中,节点Node-1与转发网关GatewayNode-3建立有IPSec连接通道,节点Node-4与转发网关GatewayNode-2建立有IPSec连接通道,实现节点Node-1与节点Node-4的通信连接;节点Node-2与转发网关GatewayNode-4建立有IPSec连接通道,节点Node-3与转发网关GatewayNode-1建立有IPSec连接通道,实现节点Node-2与节点Node-3的通信连接。
可选地,网络联邦还包括同构网络联邦,同构网络联邦包括至少两个集群,至少两个集群包括本地集群和远端集群。
本实施例中,同构网络联邦的跨集群网络访问流量路径和overlay的路径一致,不需要引入新的组件,这样,不会增加新的资源消耗。同时,同构网络联邦的不同集群之间可以实现点对点的通信,不需要通过转发网关转发。
比如:参考图3,以集群C和集群D为例,集群C和集群D为同构的两个集群,集群C为本地集群,集群D为远端集群;或者集群C为远端集群,集群D为本地集群;其中,集群C中包括节点Node-5和节点Node-6,集群D中包括节点Node-7和节点Node-8;在集群C和集群D中,各个节点两两之间构建vxlan连接通道。
实际实现时,网络联邦还包括异构网络联邦和同构网络联邦组合的网络联邦,本实施例不对网络联邦的实现方式作限定。
具体地,通过若干个协程,编辑至少两个集群的联邦资源对象,至少包括以下几种情况:
第一种,网络联邦为异构网络联邦,此时,若干个协程为异构网络联邦对应的异构协程。相应地,联邦资源对象包括本地集群的基本信息和远端集群的基本信息。
此时,本地集群的基本信息包括本地集群的IP列表和本地集群暴露的端口信息;远端集群的基本信息包括远端集群的IP列表和远端集群暴露的端口信息。
本实施例中,异构协程包括第一异构协程、第二异构协程、第三异构协程和第四异构协程。
其中,第一异构协程用于同步网络联邦缓存,初始化异构网络联邦。
具体地,初始化异构网络联邦,包括:确定异构网络联邦是否存在;在异构网络联邦存在的情况下,确定当前节点是否为主节点;在当前节点为主节点的情况下,确定远端集群的可用转发网关;确认当前节点的Iptables规则为可用;确定至少两个集群的联邦资源是否正常;在至少两个集群的联邦资源正常的情况下,初始化本地集群中节点的IPSec连接;确定本地集群的可用转发网关。
如图4所示,初始化异构网络联邦,至少包括以下几个步骤:
步骤401,确定异构网络联邦是否存在,在异构网络联邦存在的情况下,执行步骤402,否则结束步骤。
步骤402,确定当前节点是否为主节点,在当前节点为主节点的情况下,执行步骤403,否则执行步骤404。
步骤403,确定远端集群的可用转发网关。
步骤404,确认当前节点的Iptables规则为可用。
步骤405,确定至少两个集群的联邦资源对象是否正常,在至少两个集群的联邦资源对象正常的情况下,执行步骤406,否则执行步骤408。
步骤406,初始化本地集群中节点的IPSec连接。
步骤407,确定本地集群的可用转发网关,执行结束步骤。
步骤408,清理当前节点的XFRM转换策略。
步骤409,关闭IPSec连接,执行结束步骤。
本实施例中,第二异构协程用于监听联邦资源对象的创建事件,在第二异构协程监听到联邦资源对象的创建事件的情况下,第二异构协程还用于:判断当前节点是否为主节点;在当前节点为主节点的情况下,更新远端集群的基本信息;初始化异构网络联邦。
如图5所示,第二异构协程还用于执行以下几个步骤:
步骤501,判断当前节点是否为主节点,在当前节点为主节点的情况下,执行步骤502,否则执行503。
步骤502,更新远端集群的基本信息。
步骤503,初始化异构网络联邦。
本实施例中,第三异构协程用于监听联邦资源对象的更新事件,在第三异构协程监听到联邦资源对象的更新事件的情况下,第三异构协程还用于:判断当前节点是否为主节点;在当前节点为主节点的情况下,更新远端集群的基本信息;初始化异构网络联邦。
如图6所示,第三异构协程还用于执行以下几个步骤:
步骤601,判断当前节点是否为主节点,在当前节点为主节点的情况下,执行步骤602,否则执行603。
步骤602,更新远端集群的基本信息。
步骤603,初始化异构网络联邦。
本实施例中,第四异构协程用于监听联邦资源对象的删除事件,在第四异构协程监听到联邦资源对象的删除事件的情况下,如图7所示,第四异构协程还用于:清理当前节点的Iptables规则;关闭异构网络联邦中的IPSec连接通道。
第二种,网络联邦为同构网络联邦,此时,若干个协程为同构网络联邦对应的同构协程,联邦资源包括远端集群的基本信息。
此时,远端集群的基本信息包括远端集群的IP列表和远端集群暴露的端口信息。
本实施例中,同构协程包括第一同构协程、第二同构协程、第三同构协程和第四同构协程。
第一同构协程用于监听联邦资源对象的创建事件,在第一同构协程监听到联邦资源对象的创建事件的情况下,第一异构协程还用于:创建联邦资源对象;判断当前节点是否为主节点;在当前节点为主节点的情况下,基于联邦资源对象获取远端集群的基本信息,以对已获取的基本信息进行更新。
如图8所示,第一同构协程还用于执行以下几个步骤:
步骤801,创建联邦资源对象。
步骤802,判断当前节点是否为主节点,在当前节点为主节点的情况下,执行步骤803,否则结束步骤。
步骤803,基于联邦资源对象获取远端集群的基本信息,以更新已获取的基本信息。
本实施例中,第二同构协程用于联邦资源对象的更新事件,在第二同构协程监听到联邦资源对象的更新事件的情况下,第二同构协程还用于:判断同构网络联邦的容器网络是否变化;在容器网络发生变化的情况下,更新缓存中的容器网络;重置同构网络联邦的流表;判断至少两个集群中的节点是否发生变化;在至少两个集群中的节点发生变化的情况下,更新缓存中的节点列表;判断至少两个集群的IP列表是否发生变化;在至少两个集群的IP列表发生变化的情况下,删除IP列表中发生变化的IP地址的流表。
如图9所示,第二同构协程还用于执行以下几个步骤:
步骤901,判断同构网络联邦的容器网络是否变化,在容器网络变化的情况下,执行步骤902,否则,执行步骤904。
步骤902,更新缓存中的容器网络。
步骤903,重置同构网络联邦的流表。
步骤904,判断至少两个集群中的节点是否发生变化,在节点发生变化的情况下,执行步骤905,否则执行步骤906。
步骤905,更新缓存中的节点列表。
步骤906,判断至少两个集群的IP列表是否发生变化,在IP列表发生变化的情况下,执行步骤907。
步骤907,删除IP列表中发生变化的IP地址的流表。
本实施例中,第三同构协程用于监听联邦资源对象的删除事件,在第三同构协程监听到联邦资源对象的删除事件的情况下,如图10所示,第三同构协程还用于:删除联邦资源对象;重置同构网络联邦的流表。
第四同构协程用于定期获取远端集群的基本信息,以对已获取的基本信息进行更新。
步骤102,基于联邦资源对象,建立网络联邦的通信连接。
在一个示例中,网络联邦为异构网络联邦,通过联邦资源对象获取本地集群的基本信息和远端集群的基本信息,建立本地集群与远端集群之间的通信连接。
在另一个示例中,网络联邦为同构网络联邦,通过联邦资源对象获取远端几群的基本信息,建立本地集群与远端集群之间的通信连接。
本实施例提供的Kubernetes环境下多集群网络联邦通信建立方法,应用于网络联邦中本地集群中的任一节点,网络联邦包括至少两个集群,至少两个集群包括本地集群和远端集群,通过若干个协程,编辑至少两个集群的联邦资源对象;基于联邦资源对象,建立网络联邦的通信连接。可以解决通用方案仅支持同构网络联邦,导致实际使用时网络联邦灵活性较差问题。通过若干个协程编辑,自定义的联邦资源对象,通过联邦资源对象实现同构网络联邦和异构网络联邦,可以提高网络联邦的灵活性。
另外,异构网络联邦支持分布式和集中式转发网关,可以多个转发网关同时在线,这样,能够更好的应对突发的大流量风险,提高异构网络联邦的抗风险能力。
另外,异构网络联邦中不同集群之间构建IPsec连接通道,这样,异构网络联邦进行通信时,只需要经过一次网络封装,可以降低网络性能的损耗。
另外,在同构网络联邦的跨集群网络访问流量路径和overlay的路径一致,不需要引入新的组件,因此,不会增加新的资源消耗。
本实施例提供一种Kubernetes环境下多集群网络联邦通信建立装置,如图11所示,该装置包括至少以下几个模块:对象编辑模块1110和通信建立模块1120。
对象编辑模块1110,用于通过若干个协程,编辑至少两个集群的联邦资源对象。
通信建立模块1120,用于基于联邦资源对象,建立网络联邦的通信连接。
相关细节参考上述方法和系统实施例。
需要说明的是:上述实施例中提供的Kubernetes环境下多集群网络联邦通信建立装置在进行Kubernetes环境下多集群网络联邦通信连接建立时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将Kubernetes环境下多集群网络联邦通信建立装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的Kubernetes环境下多集群网络联邦通信建立装置与Kubernetes环境下多集群网络联邦通信建立方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本实施例提供一种电子设备,如图12所示。该电子设备至少包括处理器1201和存储器1202。
处理器1201可以包括一个或至少一个处理核心,比如:4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或至少一个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或至少一个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1201所执行以实现本申请中方法实施例提供的Kubernetes环境下多集群网络联邦通信建立方法。
在一些实施例中,电子设备还可选包括有:外围设备接口和至少一个外围设备。处理器1201、存储器1202和外围设备接口之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口相连。示意性地,外围设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,计算机可读存储介质中存储有程序,程序由处理器加载并执行以实现上述方法实施例的Kubernetes环境下多集群网络联邦通信建立方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
显然,上述所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,可以做出其它不同形式的变化或变动,都应当属于本申请保护的范围。

Claims (15)

1.一种Kubernetes环境下多集群网络联邦通信建立方法,其特征在于,应用于网络联邦中本地集群中的任一节点,所述网络联邦包括至少两个集群,所述至少两个集群包括所述本地集群和远端集群,所述方法包括:
通过若干个协程,编辑所述至少两个集群的联邦资源对象;
基于所述联邦资源对象,建立所述网络联邦的通信连接。
2.根据权利要求1所述的方法,其特征在于,所述网络联邦包括异构网络联邦和同构网络联邦;
相应地,所述若干个协程包括所述异构网络联邦对应的异构协程,和所述同构网络联邦对应的同构协程。
3.根据权利要求2所述的方法,其特征在于,所述网络联邦为异构网络联邦;所述联邦资源对象包括所述本地集群的基本信息和所述远端集群的基本信息;
所述本地集群的基本信息包括所述本地集群的IP列表和所述本地集群暴露的端口信息;
所述远端集群的基本信息包括所述远端集群的IP列表和所述远端集群暴露的端口信息。
4.根据权利要求3所述的方法,其特征在于,所述异构协程包括第一异构协程、第二异构协程、第三异构协程和第四异构协程;
所述第一异构协程用于同步所述网络联邦缓存,初始化所述异构网络联邦;
所述第二异构协程用于监听所述联邦资源对象的创建事件;
所述第三异构协程用于监听所述联邦资源对象的更新事件;
所述第四异构协程用于监听所述联邦资源对象的删除事件。
5.根据权利要求4所述的方法,其特征在于,在所述第二异构协程监听到所述联邦资源对象的创建事件的情况下,所述方法还包括:
判断当前节点是否为主节点;
在所述当前节点为所述主节点的情况下,更新所述远端集群的基本信息;
初始化所述异构网络联邦。
6.根据权利要求4所述的方法,其特征在于,在所述第三异构协程监听到所述联邦资源对象的更新事件的情况下,所述方法还包括:
判断当前节点是否为主节点;
在所述当前节点为所述主节点的情况下,更新所述远端集群的基本信息;
初始化所述异构网络联邦。
7.根据权利要求4所述的方法,其特征在于,在所述第四异构协程监听到所述联邦资源对象的删除事件的情况下,所述方法还包括:
清理当前节点的Iptables规则;
关闭所述异构网络联邦中的IPSec连接通道。
8.根据权利要求4至6任一所述的方法,其特征在于,所述初始化所述异构网络联邦,包括:
确定所述异构网络联邦是否存在;
在所述异构网络联邦存在的情况下,确定所述当前节点是否为主节点;
在所述当前节点为主节点的情况下,确定所述远端集群的可用转发网关;
确认所述当前节点的Iptables规则为可用;
确定所述至少两个集群的联邦资源是否正常;
在所述至少两个集群的联邦资源正常的情况下,初始化所述本地集群中节点的IPSec连接;
确定所述本地集群的可用转发网关。
9.根据权利要求2所述的方法,其特征在于,所述网络联邦为同构网络联邦;所述联邦资源包括所述远端集群的基本信息;
所述远端集群的基本信息包括所述远端集群的IP列表和所述远端集群暴露的端口信息。
10.根据权利要求9所述的方法,其特征在于,所述同构协程包括第一同构协程、第二同构协程、第三同构协程和第四同构协程;
所述第一同构协程用于监听所述联邦资源对象的创建事件;
所述第二同构协程用于监听所述联邦资源对象的更新事件;
所述第三同构协程用于监听所述联邦资源对象的删除事件;
所述第四同构协程用于定期获取所述远端集群的基本信息,以对已获取的基本信息进行更新。
11.根据权利要求10所述的方法,其特征在于,在所述第一同构协程监听到所述联邦资源对象的创建事件的情况下,所述方法还包括:
创建所述联邦资源对象;
判断当前节点是否为主节点;
在所述当前节点为主节点的情况下,基于所述联邦资源对象获取所述远端集群的基本信息,以对已获取的基本信息进行更新。
12.根据权利要求10所述的方法,其特征在于,在所述第二同构协程监听到所述联邦资源对象的更新事件的情况下,所述方法还包括:
判断所述同构网络联邦的容器网络是否变化;
在所述容器网络发生变化的情况下,更新缓存中的所述容器网络;
重置所述同构网络联邦的流表;
判断所述至少两个集群中的节点是否发生变化;
在所述至少两个集群中的节点发生变化的情况下,更新缓存中的节点列表;
判断所述至少两个集群的IP列表是否发生变化;
在所述至少两个集群的IP列表发生变化的情况下,删除所述IP列表中发生变化的IP地址的流表。
13.根据权利要求10所述的方法,其特征在于,在所述第三同构协程监听到所述联邦资源对象的删除事件的情况下,所述方法还包括:
删除所述联邦资源对象;
重置所述同构网络联邦的流表。
14.一种电子设备,其特征在于,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至13任一所述的Kubernetes环境下多集群网络联邦通信建立方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至13任一所述的Kubernetes环境下多集群网络联邦通信建立方法。
CN202211088235.1A 2022-09-07 2022-09-07 Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质 Active CN115189995B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211088235.1A CN115189995B (zh) 2022-09-07 2022-09-07 Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211088235.1A CN115189995B (zh) 2022-09-07 2022-09-07 Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115189995A true CN115189995A (zh) 2022-10-14
CN115189995B CN115189995B (zh) 2022-11-29

Family

ID=83524022

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211088235.1A Active CN115189995B (zh) 2022-09-07 2022-09-07 Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115189995B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110535831A (zh) * 2019-07-30 2019-12-03 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
WO2020062131A1 (zh) * 2018-09-29 2020-04-02 北京连云决科技有限公司 一种基于区块链技术的容器云管理系统
CN112214330A (zh) * 2020-11-04 2021-01-12 腾讯科技(深圳)有限公司 集群中主节点的部署方法、装置及计算机可读存储介质
CN113407310A (zh) * 2021-07-09 2021-09-17 科东(广州)软件科技有限公司 一种容器管理方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020062131A1 (zh) * 2018-09-29 2020-04-02 北京连云决科技有限公司 一种基于区块链技术的容器云管理系统
CN110535831A (zh) * 2019-07-30 2019-12-03 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
WO2021017279A1 (zh) * 2019-07-30 2021-02-04 平安科技(深圳)有限公司 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN112214330A (zh) * 2020-11-04 2021-01-12 腾讯科技(深圳)有限公司 集群中主节点的部署方法、装置及计算机可读存储介质
CN113407310A (zh) * 2021-07-09 2021-09-17 科东(广州)软件科技有限公司 一种容器管理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115189995B (zh) 2022-11-29

Similar Documents

Publication Publication Date Title
US10797970B2 (en) Interactive hierarchical network chord diagram for application dependency mapping
US20220014435A1 (en) Extending center cluster membership to additional compute resources
US11646941B2 (en) Multi-cluster configuration controller for software defined networks
Sarmiento et al. Decentralized SDN control plane for a distributed cloud-edge infrastructure: A survey
EP3611619A1 (en) Multi-cloud virtual computing environment provisioning using a high-level topology description
CN107924383B (zh) 用于网络功能虚拟化资源管理的系统和方法
US10671139B2 (en) Operable server system when standby power of PSU fails
CN107896191B (zh) 一种基于容器的虚拟安全组件跨云系统及方法
CN113572831B (zh) Kubernetes集群间的通信方法、计算机设备及介质
KR20140066781A (ko) 범용 흐름을 변환하는 섀시 제어기
CN112039682A (zh) 软件定义数据中心在运营商网络中的运用及实践的方法
US10379890B1 (en) Synchronized cache of an operational state of distributed software system
US20230231827A1 (en) Per-namespace ip address management method for container networks
CN117280665A (zh) 将基于云的虚拟私有网络扩展到基于无线电的网络
US10681177B2 (en) Self-driving content distribution
CN115189995B (zh) Kubernetes环境下多集群网络联邦通信建立方法、设备及存储介质
JP2024501005A (ja) コンテナクラスタのための管理方法および装置
JP6591045B2 (ja) ネットワークサービスを移行するための方法及びネットワークサービス装置
WO2019072033A1 (zh) 一种网络方法和系统、及终端
US11907253B2 (en) Secure cluster pairing for business continuity and disaster recovery
WO2023133797A1 (en) Per-namespace ip address management method for container networks
CN108886493B (zh) 一种具有可插拔流管理协议的基于拓扑结构的虚拟交换模型
US10469374B2 (en) Multiple provider framework for virtual switch data planes and data plane migration
WO2022028092A1 (zh) 一种vnf实例化的方法和装置
WO2020037632A1 (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