CN113572831A - Kubernetes集群间的通信方法、计算机设备及介质 - Google Patents
Kubernetes集群间的通信方法、计算机设备及介质 Download PDFInfo
- Publication number
- CN113572831A CN113572831A CN202110825216.1A CN202110825216A CN113572831A CN 113572831 A CN113572831 A CN 113572831A CN 202110825216 A CN202110825216 A CN 202110825216A CN 113572831 A CN113572831 A CN 113572831A
- Authority
- CN
- China
- Prior art keywords
- target
- node
- cluster
- kubernets
- target node
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000001360 synchronised effect Effects 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 5
- 230000037430 deletion Effects 0.000 claims description 5
- RJKFOVLPORLFTN-LEKSSAKUSA-N Progesterone Chemical compound C1CC2=CC(=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H](C(=O)C)[C@@]1(C)CC2 RJKFOVLPORLFTN-LEKSSAKUSA-N 0.000 claims description 2
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000008531 maintenance mechanism Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种Kubernetes集群间的通信方法、计算机设备及介质,应用于主Kubernetes集群中,其中,方法包括:响应于目标从Kubernetes集群的目标节点的增加指令,将目标节点的属性信息同步到主Kubernetes集群的存储区域中;根据目标节点的属性信息,以及主Kubernetes集群的至少一个参考节点的属性信息,分别建立目标节点与各参考节点之间的通信通道;响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将待同步数据从目标参考节点同步至目标节点。本发明实施例的方案,解决了现有技术中当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低的问题,实现了Kubernetes集群之间的点对点通信。
Description
技术领域
本发明实施例涉及云计算技术领域,尤其涉及一种Kubernetes集群间的通信方法、计算机设备及介质。
背景技术
Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,提供了应用部署、规划、更新以及维护机制。
现阶段,通常会部署多个Kubernetes集群来承载不同的业务,或者集群之间做业务的灾备,这样不同Kubernetes集群的业务之间需要进行互相访问;现有技术的方法,两个Kubernetes集群之间的业务通信都是把流量集中转发到网关节点,再由网关节点和其他集群进行通信,从而实现Kubernetes集群之间的通信。
现有技术的方法无法实现Kubernetes集群之间的点对点通信,并且当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低。
发明内容
本发明实施例提供一种Kubernetes集群间的通信方法、计算机设备及介质,以实现Kubernetes集群之间的点对点通信。
第一方面,本发明实施例提供了一种Kubernetes集群间的通信方法,应用于主Kubernetes集群中,所述方法包括:
响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
第二方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,其特征在于,当所述指令执行时使得所述处理器执行以下操作:
响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
第三方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明实施例中任一实施例所述的Kubernetes集群间的通信方法。
本发明实施例通过响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点,解决了现有技术中当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低的问题,实现了Kubernetes集群之间的点对点通信。
附图说明
图1是本发明实施例一中的一种Kubernetes集群间的通信方法的流程图;
图2是本发明实施例二中的一种Kubernetes集群间的通信方法的流程图;
图3是本发明实施例三中的一种Kubernetes集群间的通信方法的流程图;
图4是本发明实施例四中的一种Kubernetes集群间的通信方法的流程图;
图5是本发明实施例五中的一种Kubernetes集群间的通信装置的结构示意图;
图6是本发明实施例六中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“Kubernetes”是一个开源的,用于管理云平台中多个主机上的容器化的应用,提供了应用部署、规划、更新以及维护的一种机制,目标是让部署容器化的应用简单并且高效。
本文使用的术语“etcd”是一个分布式键值对存储系统,内部采用raft协议作为一致性算法,用于可靠、快速地保存关键数据,并提供访问。
本文使用的术语“CRD(Custom Resource Definition,用户自定义资源)”是对Kubernetes API的扩展,可以让用户简单的存储和获取结构化数据。
本文使用的术语“Kubernetes-api”是社区标准组件,Kubernetes集群对象访问入口,可以通过访问该api操作集群内部的各个资源,包括Kubernetes标准对象,例如service,endpoint,node等,也可以操作Kubernetes自定义对象,即CRD资源。
本文使用的术语“keepalived”是linux下的一个轻量级的高可用解决方案,通过VRRP协议实现高可用功能,能够保证当个别节点宕机时,整个网络可以不间断地运行。
本文使用的术语“Pod”是Kubernetes集群创建或部署的最小/最简单的基本单位,一个Pod代表集群上正在运行的一个进程。
本文使用的术语“service”是一个Pod的逻辑分组,一种可以访问它们的策略,用户访问service后会负载均衡到对应的Pod中。
本文使用的术语“endpoint”对应service中匹配到的Pod的IP地址和端口号集合,每个service都对应一个同名的endpoint对象,访问service时会最终负载均衡到endpoint对象的内容。
本文使用的术语“NodePort”是通过每个节点上的IP和静态端口(NodePort)暴露服务;通过请求<NodeIP>:<NodePort>,可以从集群的外部访问一个NodePort服务。
本文使用的术语“Ingress”是实现集群内服务的对外入口,可以配置为提供服务外部访问的URL,负载均衡,SSL,提供基于名称的虚拟主机等。
为了便于理解,将本发明实施例的主要发明构思进行简述。
现有技术中,两个Kubernetes集群之间的业务通信都是把流量集中转发到网关节点,再由网关节点和其他集群进行通信,从而实现Kubernetes集群之间的通信。
现有技术的方法无法实现Kubernetes集群之间的点对点通信,并且当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低。
发明人针对现有技术中的当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低的问题,考虑是否可以直接实现Kubernetes集群之间的节点与节点之间的通信,无需依赖网关节点来实现Kubernetes集群之间的通信。
基于上述思考,发明人创造性的提出,通过响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。这样做的好处是,主Kubernetes集群通过将其他从Kubernetes集群增加的节点的属性信息同步至存储区域,以便后续建立主Kubernetes集群的节点与其他从Kubernetes集群的节点之间的通信通道,从而实现了多个Kubernetes集群之间的点对点通信,不会由于一个节点的失效,而影响Kubernetes集群间的通信情况。
实施例一
图1是本发明实施例一中的一种Kubernetes集群间的通信方法的流程图,本实施例可适用于在Kubernetes集群间进行通信的情况,该方法可以由Kubernetes集群间的通信装置来执行,该装置可以通过软件和/或硬件的方式实现,并集成在计算机设备中。具体的,参考图1,该方法具体包括如下步骤:
步骤110、响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中。
需要说明的是,本实施例中涉及到的Kubernetes集群间的通信方法,可以应用于主Kubernetes集群中;其中,主Kubernetes集群可以为任一Kubernetes集群,其余Kubernetes集群在本实施例中被命名为从Kubernetes集群;示例性的,若系统中共包含三个Kubernetes集群,分别为Kubernetes集群A、Kubernetes集群B以及Kubernetes集群C,当Kubernetes集群A为主Kubernetes集群时,那么,Kubernetes集群B和Kubernetes集群C未从Kubernetes集群。
其中,目标从Kubernetes集群可以为任一从Kubernetes集群,本实施例中对其不加以限定。目标节点可以为目标从Kubernetes集群中的任一节点,例如,新增的计算机设备、移动终端或者计算机设备等,本实施例中对其不加以限定。
在本实施例的一个可选实现方式中,当主Kubernetes集群监测到目标从Kubernetes集群中增加目标节点时,可以将新增的目标节点的属性信息复制至主Kubernetes集群的存储区域中;其中,主Kubernetes集群的存储区域可以为etcd存储系统(其是一个分布式键值对存储系统,内部采用raft协议作为一致性算法,用于可靠、快速地保存关键数据,并提供访问),也可以为CRD(即用户自定义资源,是对Kubernetes API的扩展,可以让用户简单的存储和获取结构化数据),本实施例中对其不加以限定。
在本实施例的一个具体例子中,部署在主Kubernetes集群的主节点中的vector-controller(集群数据控制器)可以实时对其他从Kubernetes集群的存储区域进行监控,当在存储区域中监控到有新的节点的属性信息的添加时,即可以确定目标从Kubernetes集群中有目标节点的增加,进一步的,可以将存储在目标从Kubernetes集群的存储区域的目标节点的属性信息同步至主Kubernetes集群的存储区域中。
其中,目标节点的属性信息可以包括下述至少一项:节点的IP地址(InternetProtocol,互联网协议地址)、节点的网段信息CIDR、节点隧道设备的MAC地址(MediaAccess Control Address,物理地址),以及节点隧道设备的IP地址等,本实施例中对其不加以限定。
步骤120、根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道。
其中,主Kubernetes集群的至少一个参考节点可以为主Kubernetes集群的一个或者多个从节点,本实施例中对其不加以限定。
在本实施例的一个可选实现方式中,在主Kubernetes集群将目标节点的属性信息同步到主Kubernetes集群的存储区域中之后,可以进一步的根据新增的目标节点的属性信息,以及主Kubernetes集群的至少一个参考节点的属性信息,分别建立目标节点与各参考节点之间的通信通道。
示例性的,在主Kubernetes集群将目标节点的属性信息同步到主Kubernetes集群的存储区域中之后,主Kubernetes集群中的目标参考节点可以根据存储区域中的目标节点的属性信息,以及目标参考节点的属性信息,建立目标参考节点与目标节点之间的通信通道,为后续目标参考节点与目标节点的数据传输提供依据。其中,目标参考节点可以为任一参考节点,本实施例中对其不加以限定。
在本实施例的一个具体例子中,部署在主Kubernetes集群的各从节点的vector-agent(节点配置代理)可以实时对主Kubernetes集群的存储区域进行监控,当在存储区域中监控到有新的节点的属性信息的添加时,即可根据目标节点的属性信息以及当前节点(任一参考节点)的属性信息,建立当前节点与目标节点的通信通道,从而为当前节点与目标节点的数据传输提供依据。
步骤130、响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
其中,目标参考节点为主Kubernetes集群中的与目标参考节点建立通信通道的任一参考节点,本实施例中对其不加以限定。
在本实施例的一个可选实现方式中,在分别建立目标节点与各参考节点之间的通信通道之后,如果接收到目标参考节点中的待同步数据的同步指令,则可以通过目标参考节点与目标节点之间的通信通道将待同步数据从目标参考节点同步至目标节点,即实现了主Kubernetes集群与目标从Kubernetes集群之间的数据传输。
本实施例的方案,通过响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点,解决了现有技术中当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低的问题,实现了Kubernetes集群之间的点对点通信。
实施例二
图2是本发明实施例二中的一种Kubernetes集群间的通信方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图2所示,Kubernetes集群间的通信方法可以包括如下步骤:
步骤210、建立所述主Kubernetes集群与各从Kubernetes集群的访问连接,以使所述主Kubernetes集群对各从Kubernetes集群存储在存储区域中的资源信息进行监控。
在本实施例的一个可选实现方式,主Kubernetes集群在响应于目标从Kubernetes集群的目标节点的增加指令之前,还可以建立主Kubernetes集群与各从Kubernetes集群的访问连接,进而使所述主Kubernetes集群可以对各从Kubernetes集群存储在存储区域中的资源信息进行监控。
在本实施例的一个可选实现方式中,建立所述主Kubernetes集群与各从Kubernetes集群的访问连接可以包括:在Kubernetes集群中选定几个节点启动keepalived服务(例如,可以在主Kubernetes集群选定3个或者5个等从节点,本实施例中对其不加以限定),通过配置keepalived生成一个虚拟IP地址,该虚拟IP地址可以在选定的节点之间进行漂移,这样确保了生成的虚拟IP地址的高可用性。
进一步的,每个Kubernetes集群的etcd集群使用NodePort的方式对外暴露服务,因为生成的虚拟IP地址也在节点上,外部就可以通过虚拟IP地址和NodePort设置的端口号来访问该etcd,集群间(主Kubernetes集群与各从Kubernetes集群之间)访问对方的etcd可以通过直接使用对应的虚拟IP地址和对应的端口号建立连接。
需要说明的是,在本实施例中,为了建立主Kubernetes集群与各从Kubernetes集群的访问连接,需要将所有集群的etcd的认证信息写入到各个Kubernetes集群主节点的指定目录,vector-controller的定义模板通过挂载host的该目录到Pod内部后,vector-controller进程就可以使用相应的认证信息和其他Kubernetes集群的etcd进行认证。
在本实施例的一个可选实现方式中,建立所述主Kubernetes集群与各从Kubernetes集群的访问连接还可以包括:在Kubernetes集群中的主节点启动keepalived服务,通过配置keepalived生成一个虚拟IP地址,该虚拟IP地址可以在多个主节点之间进行漂移,确保了该虚拟IP地址的高可用性。多个主节点通过固定的端口号对外暴露Kubernetes-api服务,因为虚拟IP地址也在主节点上,外部就可以通过虚拟IP地址和设置的端口号来访问该集群的Kubernetes-api服务。可以理解的是,每个Kubernetes集群(包括主Kubernetes集群以及各从Kubernetes集群)可以注册相同的CRD资源,这些CRD资源可以用来保存多集群通信需要的信息。
需要说明的是,在本实施例中,为了建立主Kubernetes集群与各从Kubernetes集群的访问连接,需要将所有集群的Kubernetes-api的认证信息写入到各Kubernetes集群主节点的指定目录,vector-controller的deployment模板通过挂载host的该目录到Pod内部后,vector-controller进程就可以使用相应的认证信息和其他集群的Kubernetes-api进行认证,进而监听其他集群的CRD资源的变化。
步骤220、当所述主Kubernetes集群通过所述访问连接监测到目标从Kubernetes集群中增加目标节点时,通过所述访问连接将存储在目标从Kubernetes集群的存储区域中的所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中。
其中,所述目标节点的属性信息可以包括下述至少一项:节点的互联网协议地址IP、节点的网段信息、节点隧道设备的物理地址MAC,以及节点隧道设备的IP地址等,本实施例中对其不加以限定。
在本实施例的一个可选实现方式中,在建立所述主Kubernetes集群与各从Kubernetes集群的访问连接之后,即主Kubernetes集群可以对各从Kubernetes集群存储在存储区域中的资源信息进行监控之后,如果主Kubernetes集群监控到目标从Kubernetes集群中有新的目标节点增加时,则可以通过主Kubernetes集群与目标从Kubernetes集群之间的访问连接将新增的目标节点的属性信息同步到主Kubernetes的存储区域中,从而为后续建立主Kubernetes集群中的从节点与目标节点的通信通道提供依据。
步骤230、根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道。
在本实施例的一个可选实现方式中,根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道,可以包括下述一项或多项:根据目标节点的IP地址,以及各所述参考节点的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道;根据目标节点的网段信息,以及各所述参考节点的网段信息,分别建立所述目标节点与各所述参考节点之间的通信通道;根据目标节点的节点隧道设备的MAC地址,以及各所述参考节点的节点隧道设备的MAC地址,分别建立所述目标节点与各所述参考节点之间的通信通道;根据目标节点的节点隧道设备的IP地址,以及各所述参考节点的节点隧道设备的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道。
步骤240、响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
本实施例的方案,主Kubernetes集群在响应于目标从Kubernetes集群的目标节点的增加指令之前,还包括:建立所述主Kubernetes集群与各从Kubernetes集群的访问连接,实现了所述主Kubernetes集群对各从Kubernetes集群存储在存储区域中的资源信息进行监控,为后续建立主Kubernetes集群与从Kubernetes集群中的各节点的通信通道提供依据,有助于实现Kubernetes集群间的数据传输。
在上述技术方案的基础上,Kubernetes集群间的通信方法还可以包括:响应于目标从Kubernetes集群的目标节点的删除指令,将所述目标节点的属性信息从所述主Kubernetes集群的存储区域中删除;解除所述目标节点与各所述参考节点之间的通信通道。
在具体实现中,如果主Kubernetes集群监测到目标从Kubernetes集群中对目标节点进行了删除处理,则可以将目标节点的属性信息在存储区域中进行删除处理;进一步的可以解除目标节点与从Kubernetes集群中的各参考节点之间的通信通道。
这样设置的好处在于,可以及时地对失效的通信通道进行处理,节省了存储空间,并且不会出现将数据发送至失效节点的现象,提升了Kubernetes集群间的通信效率。
实施例三
图3是本发明实施例三中的一种Kubernetes集群间的通信方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图3所示,Kubernetes集群间的通信方法可以包括如下步骤:
步骤310、建立所述主Kubernetes集群与各从Kubernetes集群的访问连接。
步骤320、响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中。
步骤330、根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道。
步骤340、获取至少一个共享服务,并将各所述共享服务的参数信息同步至存储区域中;响应于目标从Kubernetes集群的目标共享服务的增加指令,确定所述存储区域中是否存储有与所述目标共享服务的参数信息相同的参考共享服务;若是,则不对所述目标共享服务进行处理;否则,在所述主Kubernetes集群中创建所述目标共享服务。
其中,共享服务的参数信息可以包括共享服务的名称,或者其他信息,本实施例中对其不加以限定。
在本实施例的一个可选实现方式中,在分别建立所述目标节点与各所述参考节点之间的通信通道之后,即在保证主Kubernetes集群与各从Kubernetes集群可以点对点通信的情况下,可以进一步的获取集群中的共享服务,并将共享服务的参数信息同步至存储区域中;如果接收到目标从Kubernetes集群中有新的目标共享服务的增加,则可以确定存储区域中是否存储有与新增的目标共享服务的参数信息相同的参考共享服务;若存在,则不对目标共享服务进行处理;若不存在,则在主Kubernetes集群中创建目标共享服务。
在本实施例的一个可选实现方式中,主Kubernetes集群的vector-controller启动时可以根据过滤条件(vector.alpha.io/shared-service:"true")获取当前集群的所有共享服务(shared service)信息,并将这些信息更新到存储区域中;其中,具体内容可以为service对应的endpoint列表信息。
进一步的,vector-controller根据过滤条件(vector.alpha.io/shared-service:"true")监听当前集群的共享服务事件,当有新的共享服务增加时将该服务的信息写入当前集群的存储区域中。同时,当有共享服务从该集群删除时,将该服务的信息从当前集群的存储区域中删除。同时也监听endpoint事件,当有和共享服务同名的endpoint发生变化时,也更新存储区域的信息。
进一步的,vector-controller监听其他集群的存储区域的信息,当其他集群有新的共享服务增加时,先检测当前集群是否有同名的共享服务:
当没有同名的共享服务时,在当前集群创建同名的共享服务,但不包含podSelector,标记为vector.alpha.io/scope:<cluster-name>,同时也创建同名的endpoint,内容为其他集群的存储区域中存储的内容;因为该共享服务不包含podSelector,当endpoint和共享服务名字相同时,会直接触发kube-proxy根据endpoint的内容下发相应的负载均衡策略,达到了负载均衡到其他集群Pod的效果。
当有同名的共享服务时,如果该共享服务包含vector.alpha.io/scope:<cluster-name>,则直接更新同名的endpoint信息,更新内容为其他集群的存储区域的内容,进而触发kube-proxy根据最新endpoint的内容重新下发新的IPVS策略,达到了自动同步其他集群的负载均衡对象的效果。
当有同名的共享服务时,如果该共享服务不包含vector.alpha.io/scope:<cluster-name>,记录下waring日志,之后不进行处理,即共享服务不支持在其他集群中有相同名称的服务。
本实施例的方案,还可以获取至少一个共享服务,并将各所述共享服务的参数信息同步至存储区域中;响应于目标从Kubernetes集群的目标共享服务的增加指令,确定所述存储区域中是否存储有与所述目标共享服务的参数信息相同的参考共享服务;若是,则不对所述目标共享服务进行处理;否则,在所述主Kubernetes集群中创建所述目标共享服务,针对集群间的共享服务,可以智能的实现服务发现,即集群需要被共享的服务可以通过智能的控制方式让其他集群能够正常识别到当前集群的服务,无论在哪个集群访问该服务,请求都会被转发到服务所属集群的业务Pod中,可以返回同样的结果。
实施例四
图4是本发明实施例四中的一种Kubernetes集群间的通信方法的流程图,本实施例是对上述各技术方案的进一步细化,本实施例中的技术方案可以与上述一个或者多个实施例中的各个可选方案结合。如图4所示,Kubernetes集群间的通信方法可以包括如下步骤:
步骤410、建立所述主Kubernetes集群与各从Kubernetes集群的访问连接。
步骤420、响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中。
步骤430、根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道。
步骤440、响应于所述主Kubernetes集群中的目标高可用服务的访问指令,确定所述主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;若是,则将所述目标高可用服务转发至所述目标应用进行处理;否则,在各从Kubernetes集群中检测与所述目标高可用服务对应的目标应用,并将所述目标高可用服务转发至所述目标应用进行处理。
其中,本实施例中涉及到的目标应用即为Kubernetes集群中的任一Pod,Pod是Kubernetes创建或部署的最小或者最简单的基本单位,一个Pod代表Kubernetes集群上正在运行的一个进程。
在本实施例的一个可选实现方式中,在分别建立所述目标节点与各所述参考节点之间的通信通道之后,即在保证主Kubernetes集群与各从Kubernetes集群可以点对点通信的情况下,如果接收到对主Kubernetes集群中的目标高可用服务的访问指令,则可以进一步确定主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;如果主Kubernetes集群中有与目标高可用服务对应的目标应用,则可以将目标高可用服务转发至目标应用进行处理;如果主Kubernetes集群中没有与目标高可用服务对应的目标应用,则可以在其他从Kubernetes集群中检测与目标高可用服务对应的目标应用,并将目标高可用服务转发至目标从Kubernetes集群的目标应用进行处理。
在本实施例的一个可选实现方式中,vector-controller启动时根据过滤条件vector.alpha.io/ha-service:"true"获取当前集群的所有高可用服务(ha service)的信息,并持续监听高可用服务的资源变化。
进一步的,针对每个高可用服务在当前集群创建对应的mirror-service,其中,该mirror-service包含相同的label,namespace,podSelector,port信息,名字为原有service加上”-mirror”后缀,并额外标记为mirror-service:"true";如果监听到与mirror-service同名的endpoint事件,则将监听到的内容更新到存储区域中。
进一步的,更新当前高可用服务的内容,将podSelector删除,并删除同名的endpoint和endpointslice对象,创建和该高可用服务同名的endpoint,endpoint的内容根据ha的模式来设定。
如果高可用服务中没有vector.alpha.io/ha-mode这种label,或者标记为vector.alpha.io/ha-mode:"ab",则先检查当前集群的存储区域中的内容是否有endpoint列表存在;如果存在,则将endpoint的内容更新为当前集群存储区域的内容;如果不存在,则获取其他集群的存储区域的内容,并更新endpoint。
如果高可用服务标记为vector.alpha.io/ha-mode:"aa",则获取所有集群的存储区域的内容,并更新endpoint。
本实施例的方案,还可以响应于主Kubernetes集群中的目标高可用服务的访问指令,确定所述主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;若是,则将所述目标高可用服务转发至所述目标应用进行处理;否则,在各从Kubernetes集群中检测与所述目标高可用服务对应的目标应用,并将所述目标高可用服务转发至所述目标应用进行处理,针对高可用服务,可以实现跨集群进行负载均衡,使各业务具备了多个集群间的高可用冗余功能,并且能根据业务对延时的要求来选择使用主备或者多活的高可用模式。
现有技术的方案,为了把Kubernetes集群内部的服务进行包括供外部或者其他集群访问,通常采用如下两种方式:一种是基于隧道技术的overlay虚拟网络,例如flannel,antrea等,在虚拟网络中可以使用的隧道技术也有多种,比如vxlan隧道,ipsec隧道等,Pod访问其他节点的Pod时,源Pod的报文通过源物理节点和目的物理节点之间的隧道到达目的Pod;另一种是基于物理网卡的underlay网络,例如MacVlan,SRIOV等,Pod访问其他节点的Pod时,源Pod的报文直接从源物理节点网卡发送到目的物理节点网卡中。
Kubernetes Pod对外暴露通信一般通过两种方式,第一种是NodePort,NodePort是把内部服务通过四层的方式对外暴露,使用的时候NodePort针对内部服务设置一个指定的端口号,外部通过访问Kubernetes集群的某个节点的物理IP和该端口号来访问该内部服务,访问的过程中NodePort会自动把请求转发到内部的业务Pod中;第二种是Ingress,Ingress是把内部七层服务通过http/https的方式对外暴露,使用的时候Ingress针对内部七层服务设置一个指定的URL,外部通过访问任何一个Ingress节点的物理IP和该URL来访问该内部七层服务,Ingress内部会通过Nginx代理的方式将请求转发到内部的业务Pod中,同时在最近的版本中,Ingress也可以通过一定的配置实现四层负载均衡,可以使用Ingress节点的物理IP和指定的Port来访问对应的服务。
现有技术中的社区原生的跨集群通信的这两种方式都是集中式的,即通过某个节点将内部服务暴露出去,这种情况存在单点故障问题,被访问的节点发生故障不可用时,会严重影响业务的通信能力,并且这两种方式也存在单点性能瓶颈,多个高负载的应用集中通过某个节点对外通信的时候,会有带宽的争抢,会导致多个大规模集群间互相通信的时候无法保障业务间的正常通信;同时通过以上两种方式进行集群间的通信时,因为存在一层转发,会导致源IP地址发生变化,目的Pod内部无法获取真实的源IP地址,最终导致部分应用无法正常工作。,并且部分跨集群的应用有点对点的通信需求,而社区原生方式中Pod的IP无法直接对外暴露,所以不能很好的满足这种需求,需要用户花费一定的成本来改造这种应用以适应社区原生的对外暴露方式。
本发明实施例所提出的Kubernetes集群间的通信方法,是一个全分布式的跨集群网络通信方式,通过这种方式能够让集群间的Pod可以直接点对点通信,不经过中间固定节点的转发,提高跨集群的业务通信性能,并在此基础上能够根据一定的设置让集群间的域名互相识别(服务发现),进而让集群间的应用可以直接互相访问,让跨集群的应用通信方式和集群内部应用通信方式完全一致,既能彻底解决单点故障和单节点性能瓶颈这两个问题,又能不改变用户对集群应用的使用习惯。同时本发明实施例可以使每一个应用做到集群范围的高可用,针对不同的应用可以做到主备或者多活的高可用模式,大大提高了应用的容灾能力。
实施例五
图5是本发明实施例五中的一种Kubernetes集群间的通信装置的结构示意图,该装置可以执行上述各实施例中涉及到的Kubernetes集群间的通信方法。参照图5,该装置包括:属性信息同步模块510、通信通道建立模块520以及数据同步模块530。
属性信息同步模块510,用于响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
通信通道建立模块520,用于根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
数据同步模块530,用于响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
本实施例的方案,通过属性信息同步模块响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;通过通信通道建立模块根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;通过数据同步模块响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点,解决了现有技术中当网关节点失效或者故障时,会导致两个Kubernetes集群之间无法正常通信,通信效率较低的问题,实现了Kubernetes集群之间的点对点通信。
在本实施例的一个可选实现方式中,Kubernetes集群间的通信装置,还包括:访问连接建立模块,用于
建立所述主Kubernetes集群与各从Kubernetes集群的访问连接,以使所述主Kubernetes集群对各从Kubernetes集群存储在存储区域中的资源信息进行监控。
在本实施例的一个可选实现方式中,属性信息同步模块510,具体用于
当所述主Kubernetes集群通过所述访问连接监测到目标从Kubernetes集群中增加目标节点时,通过所述访问连接将存储在目标从Kubernetes集群的存储区域中的所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
其中,所述目标节点的属性信息包括下述至少一项:节点的互联网协议地址IP、节点的网段信息、节点隧道设备的物理地址MAC,以及节点隧道设备的IP地址。
在本实施例的一个可选实现方式中,通信通道建立模块520,具体用于
根据目标节点的IP地址,以及各所述参考节点的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的网段信息,以及各所述参考节点的网段信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的MAC地址,以及各所述参考节点的节点隧道设备的MAC地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的IP地址,以及各所述参考节点的节点隧道设备的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道。
在本实施例的一个可选实现方式中,Kubernetes集群间的通信装置,还包括:通信通道删除模块,用于
响应于目标从Kubernetes集群的目标节点的删除指令,将所述目标节点的属性信息从所述主Kubernetes集群的存储区域中删除;
解除所述目标节点与各所述参考节点之间的通信通道。
在本实施例的一个可选实现方式中,Kubernetes集群间的通信装置,还包括:共享服务处理模块,用于
获取至少一个共享服务,并将各所述共享服务的参数信息同步至存储区域中;
响应于目标从Kubernetes集群的目标共享服务的增加指令,确定所述存储区域中是否存储有与所述目标共享服务的参数信息相同的参考共享服务;
若是,则不对所述目标共享服务进行处理;
否则,在所述主Kubernetes集群中创建所述目标共享服务。
在本实施例的一个可选实现方式中,Kubernetes集群间的通信装置,还包括:高可用服务处理模块,用于
响应于所述主Kubernetes集群中的目标高可用服务的访问指令,确定所述主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;
若是,则将所述目标高可用服务转发至所述目标应用进行处理;
否则,在各从Kubernetes集群中检测与所述目标高可用服务对应的目标应用,并将所述目标高可用服务转发至所述目标应用进行处理。
本发明实施例所提供的Kubernetes集群间的通信装置可执行本发明任意实施例所提供的Kubernetes集群间的通信方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6为本发明实施例六提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括处理器60、存储器61、输入装置62和输出装置63;计算机设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;计算机设备中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的Kubernetes集群间的通信方法对应的程序指令/模块(例如,Kubernetes集群间的通信装置中的属性信息同步模块510、通信通道建立模块520以及数据同步模块530)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的Kubernetes集群间的通信方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
实施例七
本发明实施例七还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种Kubernetes集群间的通信方法,该方法包括:
响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的Kubernetes集群间的通信方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述Kubernetes集群间的通信装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种Kubernetes集群间的通信方法,应用于主Kubernetes集群中,其特征在于,所述方法包括:
响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
2.根据权利要求1所述的方法,其特征在于,在响应于目标从Kubernetes集群的目标节点的增加指令之前,还包括:
建立所述主Kubernetes集群与各从Kubernetes集群的访问连接,以使所述主Kubernetes集群对各从Kubernetes集群存储在存储区域中的资源信息进行监控。
3.根据权利要求2所述的方法,其特征在于,所述响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中,包括:
当所述主Kubernetes集群通过所述访问连接监测到目标从Kubernetes集群中增加目标节点时,通过所述访问连接将存储在目标从Kubernetes集群的存储区域中的所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
其中,所述目标节点的属性信息包括下述至少一项:节点的互联网协议地址IP、节点的网段信息CIDR、节点隧道设备的物理地址MAC,以及节点隧道设备的IP地址。
4.根据权利要求3所述的方法,其特征在于,所述根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道,包括下述一项:
根据目标节点的IP地址,以及各所述参考节点的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的网段信息,以及各所述参考节点的网段信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的MAC地址,以及各所述参考节点的节点隧道设备的MAC地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的IP地址,以及各所述参考节点的节点隧道设备的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于目标从Kubernetes集群的目标节点的删除指令,将所述目标节点的属性信息从所述主Kubernetes集群的存储区域中删除;
解除所述目标节点与各所述参考节点之间的通信通道。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取至少一个共享服务,并将各所述共享服务的参数信息同步至存储区域中;
响应于目标从Kubernetes集群的目标共享服务的增加指令,确定所述存储区域中是否存储有与所述目标共享服务的参数信息相同的参考共享服务;
若是,则不对所述目标共享服务进行处理;
否则,在所述主Kubernetes集群中创建所述目标共享服务。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述主Kubernetes集群中的目标高可用服务的访问指令,确定所述主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;
若是,则将所述目标高可用服务转发至所述目标应用进行处理;
否则,在各从Kubernetes集群中检测与所述目标高可用服务对应的目标应用,并将所述目标高可用服务转发至所述目标应用进行处理。
8.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储指令,其特征在于,当所述指令执行时使得所述处理器执行以下操作:
响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
响应于目标参考节点中的待同步数据的同步指令,通过目标通信通道将所述待同步数据从所述目标参考节点同步至所述目标节点。
9.根据权利要求8所述的计算机设备,其特征在于,所述处理器还被设置为执行以下操作:
建立所述主Kubernetes集群与各从Kubernetes集群的访问连接,以使所述主Kubernetes集群对各从Kubernetes集群存储在存储区域中的资源信息进行监控。
10.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式响应于目标从Kubernetes集群的目标节点的增加指令,将所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中:
当所述主Kubernetes集群通过所述访问连接监测到目标从Kubernetes集群中增加目标节点时,通过所述访问连接将存储在目标从Kubernetes集群的存储区域中的所述目标节点的属性信息同步到所述主Kubernetes集群的存储区域中;
其中,所述目标节点的属性信息包括下述至少一项:节点的互联网协议地址IP、节点的网段信息、节点隧道设备的物理地址MAC,以及节点隧道设备的IP地址。
11.根据权利要求10所述的计算机设备,其特征在于,所述处理器是设置为通过以下一种方式根据所述目标节点的属性信息,以及所述主Kubernetes集群的至少一个参考节点的属性信息,分别建立所述目标节点与各所述参考节点之间的通信通道:
根据目标节点的IP地址,以及各所述参考节点的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的网段信息,以及各所述参考节点的网段信息,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的MAC地址,以及各所述参考节点的节点隧道设备的MAC地址,分别建立所述目标节点与各所述参考节点之间的通信通道;
根据目标节点的节点隧道设备的IP地址,以及各所述参考节点的节点隧道设备的IP地址,分别建立所述目标节点与各所述参考节点之间的通信通道。
12.根据权利要求8所述的计算机设备,其特征在于,所述处理器还被设置为执行以下操作:
响应于目标从Kubernetes集群的目标节点的删除指令,将所述目标节点的属性信息从所述主Kubernetes集群的存储区域中删除;
解除所述目标节点与各所述参考节点之间的通信通道。
13.根据权利要求8所述的计算机设备,其特征在于,所述处理器还被设置为执行以下操作:
获取至少一个共享服务,并将各所述共享服务的参数信息同步至存储区域中;
响应于目标从Kubernetes集群的目标共享服务的增加指令,确定所述存储区域中是否存储有与所述目标共享服务的参数信息相同的参考共享服务;
若是,则不对所述目标共享服务进行处理;
否则,在所述主Kubernetes集群中创建所述目标共享服务。
14.根据权利要求8所述的计算机设备,其特征在于,所述处理器还被设置为执行以下操作:
响应于所述主Kubernetes集群中的目标高可用服务的访问指令,确定所述主Kubernetes集群中是否有与所述目标高可用服务对应的目标应用;
若是,则将所述目标高可用服务转发至所述目标应用进行处理;
否则,在各从Kubernetes集群中检测与所述目标高可用服务对应的目标应用,并将所述目标高可用服务转发至所述目标应用进行处理。
15.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的Kubernetes集群间的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110825216.1A CN113572831B (zh) | 2021-07-21 | 2021-07-21 | Kubernetes集群间的通信方法、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110825216.1A CN113572831B (zh) | 2021-07-21 | 2021-07-21 | Kubernetes集群间的通信方法、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572831A true CN113572831A (zh) | 2021-10-29 |
CN113572831B CN113572831B (zh) | 2024-03-15 |
Family
ID=78165950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110825216.1A Active CN113572831B (zh) | 2021-07-21 | 2021-07-21 | Kubernetes集群间的通信方法、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572831B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827017A (zh) * | 2022-03-31 | 2022-07-29 | 北京声智科技有限公司 | Kafka集群的通信方法、装置、电子设备和存储介质 |
CN114938394A (zh) * | 2022-04-13 | 2022-08-23 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN115086330A (zh) * | 2022-06-14 | 2022-09-20 | 亚信科技(中国)有限公司 | 跨集群负载均衡系统 |
CN115150410A (zh) * | 2022-07-19 | 2022-10-04 | 京东科技信息技术有限公司 | 多集群访问方法和系统 |
CN115473766A (zh) * | 2022-08-22 | 2022-12-13 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
CN115878378A (zh) * | 2022-11-23 | 2023-03-31 | 北京凌云雀科技有限公司 | 基于云原生的两地三中心数据库容灾系统部署方法及装置 |
CN116614348A (zh) * | 2023-07-19 | 2023-08-18 | 联想凌拓科技有限公司 | 用于远程复制服务的系统及其操作方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765203A (zh) * | 2019-09-29 | 2020-02-07 | 烽火通信科技股份有限公司 | 一种容器MySQL主从同步及性能采集实现方法及系统 |
CN110808857A (zh) * | 2019-10-31 | 2020-02-18 | 深圳前海环融联易信息科技服务有限公司 | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 |
CN111885123A (zh) * | 2020-07-06 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种跨K8s目标服务访问通道的构建方法及装置 |
CN112003728A (zh) * | 2020-07-24 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种基于Kubernetes集群的应用主备实现方法及装置 |
CN112214330A (zh) * | 2020-11-04 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 集群中主节点的部署方法、装置及计算机可读存储介质 |
CN112434008A (zh) * | 2020-11-18 | 2021-03-02 | 星环信息科技(上海)股份有限公司 | 分布式数据库升级方法、设备及介质 |
WO2021051880A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN112751913A (zh) * | 2020-12-22 | 2021-05-04 | 联奕科技股份有限公司 | 一种跨Kubernetes集群的网络通信方法及系统 |
CN112866408A (zh) * | 2021-02-09 | 2021-05-28 | 山东英信计算机技术有限公司 | 一种集群中业务切换方法、装置、设备及存储介质 |
CN113031874A (zh) * | 2021-03-26 | 2021-06-25 | 网易(杭州)网络有限公司 | 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质 |
-
2021
- 2021-07-21 CN CN202110825216.1A patent/CN113572831B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021051880A1 (zh) * | 2019-09-18 | 2021-03-25 | 平安科技(深圳)有限公司 | 资源数据获取的方法、装置、计算机设备和存储介质 |
CN110765203A (zh) * | 2019-09-29 | 2020-02-07 | 烽火通信科技股份有限公司 | 一种容器MySQL主从同步及性能采集实现方法及系统 |
CN110808857A (zh) * | 2019-10-31 | 2020-02-18 | 深圳前海环融联易信息科技服务有限公司 | 实现Kubernetes集群的网络互通方法、装置、设备以及存储介质 |
CN111885123A (zh) * | 2020-07-06 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种跨K8s目标服务访问通道的构建方法及装置 |
CN112003728A (zh) * | 2020-07-24 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种基于Kubernetes集群的应用主备实现方法及装置 |
CN112214330A (zh) * | 2020-11-04 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 集群中主节点的部署方法、装置及计算机可读存储介质 |
CN112434008A (zh) * | 2020-11-18 | 2021-03-02 | 星环信息科技(上海)股份有限公司 | 分布式数据库升级方法、设备及介质 |
CN112751913A (zh) * | 2020-12-22 | 2021-05-04 | 联奕科技股份有限公司 | 一种跨Kubernetes集群的网络通信方法及系统 |
CN112866408A (zh) * | 2021-02-09 | 2021-05-28 | 山东英信计算机技术有限公司 | 一种集群中业务切换方法、装置、设备及存储介质 |
CN113031874A (zh) * | 2021-03-26 | 2021-06-25 | 网易(杭州)网络有限公司 | 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114827017B (zh) * | 2022-03-31 | 2024-01-30 | 北京声智科技有限公司 | Kafka集群的通信方法、装置、电子设备和存储介质 |
CN114827017A (zh) * | 2022-03-31 | 2022-07-29 | 北京声智科技有限公司 | Kafka集群的通信方法、装置、电子设备和存储介质 |
CN114938394A (zh) * | 2022-04-13 | 2022-08-23 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN114938394B (zh) * | 2022-04-13 | 2024-05-17 | 京东科技信息技术有限公司 | 跨集群网络控制方法、装置、设备及存储介质 |
CN115086330A (zh) * | 2022-06-14 | 2022-09-20 | 亚信科技(中国)有限公司 | 跨集群负载均衡系统 |
CN115086330B (zh) * | 2022-06-14 | 2024-03-01 | 亚信科技(中国)有限公司 | 跨集群负载均衡系统 |
CN115150410A (zh) * | 2022-07-19 | 2022-10-04 | 京东科技信息技术有限公司 | 多集群访问方法和系统 |
CN115150410B (zh) * | 2022-07-19 | 2024-06-18 | 京东科技信息技术有限公司 | 多集群访问方法和系统 |
CN115473766B (zh) * | 2022-08-22 | 2024-01-26 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
CN115473766A (zh) * | 2022-08-22 | 2022-12-13 | 苏州思萃工业互联网技术研究所有限公司 | 一种基于分布式网关的vip实现方法和系统 |
CN115878378B (zh) * | 2022-11-23 | 2023-09-05 | 北京凌云雀科技有限公司 | 基于云原生的两地三中心数据库容灾系统部署方法及装置 |
CN115878378A (zh) * | 2022-11-23 | 2023-03-31 | 北京凌云雀科技有限公司 | 基于云原生的两地三中心数据库容灾系统部署方法及装置 |
CN116614348A (zh) * | 2023-07-19 | 2023-08-18 | 联想凌拓科技有限公司 | 用于远程复制服务的系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113572831B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113572831B (zh) | Kubernetes集群间的通信方法、计算机设备及介质 | |
CN107947961B (zh) | 基于SDN的Kubernetes网络管理系统与方法 | |
JP6498230B2 (ja) | フレキシブルなhdd/ssdストレージサポートのシステムおよび方法 | |
WO2017162173A1 (zh) | 云服务器集群建立连接的方法和装置 | |
CN110290174B (zh) | 一种主主集群的控制方法以及控制节点 | |
CN106549875B (zh) | 一种会话管理方法、装置及负载均衡器 | |
US9992058B2 (en) | Redundant storage solution | |
CN114500169B (zh) | 建立vxlan隧道的方法、报文转发的方法及装置 | |
US11403319B2 (en) | High-availability network device database synchronization | |
EP3788772B1 (en) | On-node dhcp implementation for virtual machines | |
WO2017114363A1 (zh) | 报文处理方法、bng及bng集群系统 | |
CN109462511B (zh) | 网络的建立方法及装置 | |
US11824765B2 (en) | Fast redirect of traffic when pods fail | |
CN110932876B (zh) | 一种通信系统、方法及装置 | |
CN115086312A (zh) | 实现kubernetes服务跨集群通信的方法及系统 | |
CN115225634B (zh) | 虚拟网络下的数据转发方法、装置及计算机程序产品 | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
CN112491984A (zh) | 基于虚拟网桥的容器编排引擎集群管理系统 | |
CN114157668B (zh) | 多租户跨集群的组网方法、通信系统和可读存储介质 | |
EP4278580B1 (en) | Fabric availability and synchronization | |
CN112655185B (zh) | 软件定义网络中的服务分配的设备、方法和存储介质 | |
CN113904973B (zh) | 路由更新方法、介质、装置和计算设备 | |
CN115185637A (zh) | PaaS组件管理端和虚拟机代理的通信方法及装置 | |
CN107145408A (zh) | 一种实现主备集群部署的方法及系统 | |
CN114422280B (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 |