CN111629059B - 一种集群通信方法、系统、设备及计算机可读存储介质 - Google Patents
一种集群通信方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111629059B CN111629059B CN202010463076.3A CN202010463076A CN111629059B CN 111629059 B CN111629059 B CN 111629059B CN 202010463076 A CN202010463076 A CN 202010463076A CN 111629059 B CN111629059 B CN 111629059B
- Authority
- CN
- China
- Prior art keywords
- target
- cluster
- long connection
- management platform
- token
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 74
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 35
- 101150071927 AANAT gene Proteins 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 52
- 238000010586 diagram Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
- H04L41/0253—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
-
- 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/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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/28—Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0884—Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
-
- 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
-
- 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/56—Provisioning of proxy services
-
- 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
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种集群通信方法、系统、设备及计算机可读存储介质,应用于目标k8s集群对应的代理端,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;基于目标长连接接收k8s管理平台发送的目标信息;传输目标信息至目标k8s集群。本申请中,代理端主动建立与k8s管理平台间的目标长连接,并且基于目标长连接接收k8s管理平台发送的目标信息,之后代理端将目标信息传输给目标k8s集群,使得k8s管理平台无需对目标k8s集群进行ip寻址,从而无需为目标k8s集群分配ip地址,可以减轻k8s管理平台的ip消耗。本申请提供的一种集群通信系统、设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及集群管理技术领域,更具体地说,涉及一种集群通信方法、系统、设备及计算机可读存储介质。
背景技术
Kubernetes(k8s)是一种容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
在k8s集群提供的云数据中心里,一般都有一个统一的k8s管理平台,通过该k8s管理平台为各个租户提供k8s集群的部署和运维管理服务,这个k8s管理平台通常是连接在管理网中,跟管理员的终端可以通信,而数据中心里的k8s集群往往运行在租户的虚拟机内,连接到租户的租户网络中,这样k8s管理平台和租户的k8s集群之间是不能直接通信的。现有的解决方案是为租户的k8s集群所在的虚拟机分配浮动ip,即在管理网上分配一个ip地址,通过配置路由器的dnat(目的地址转换)规则路由到租户k8s集群的master节点上。
然而,现有的解决方案中,需要为每个master节点分配一个k8s管理平台的ip地址,会消耗k8s管理平台的ip资源,使得k8s管理平台出现ip资源不足的现象。
综上所述,如何降低k8s管理平台的ip资源消耗量是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种集群通信方法,其能在一定程度上解决如何降低k8s管理平台的ip资源消耗量的技术问题。本申请还提供了一种集群通信系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种集群通信方法,应用于目标k8s集群对应的代理端,包括:
基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
基于所述目标长连接接收所述k8s管理平台发送的目标信息;
传输所述目标信息至所述目标k8s集群。
优选的,所述基于所述目标k8s集群的身份信息建立与k8s管理平台间的目标长连接,包括:
获取与所述目标k8s集群的身份信息对应的令牌,所述令牌包括基于所述目标k8s集群的身份信息在所述k8s管理平台注册完成后生成的令牌;
获取所述k8s管理平台中与所述目标k8s集群对应的管理平台地址;
基于websocket协议向所述管理平台地址发送携带所述令牌的长连接请求,以使所述k8s管理平台基于所述令牌判断是否建立所述目标长连接;
判断是否接收到表征长连接建立成功的信息,若是,则完成所述目标长连接的建立。
优选的,所述基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接之后,还包括:
判断所述目标长连接是否断开;
若所述目标长连接断开,则重新基于所述目标k8s集群的身份信息主动建立与所述k8s管理平台间的所述目标长连接。
优选的,所述代理端与所述目标k8s集群处于同一网络中。
优选的,所述基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接,包括:
通过路由器的snat规则,基于所述目标k8s集群的身份信息主动建立与所述k8s管理平台间的所述目标长连接。
一种集群通信方法,应用于k8s管理平台,包括:
获取待发送至目标k8s集群的目标信息;
基于建立的目标长连接发送所述目标信息至所述目标k8s集群对应的代理端,以使所述代理端发送所述目标信息至目标k8s集群;
其中,所述目标长连接为所述代理端主动与所述k8s管理平台建立的长连接。
优选的,所述基于建立的目标长连接发送所述目标信息至所述目标k8s集群对应的代理端之前,还包括:
接收携带所述目标k8s集群的身份信息的注册请求;
基于所述注册请求完成所述目标k8s集群的注册,并生成与所述目标k8s集群的身份信息对应的令牌;
为所述目标k8s集群配置管理平台地址;
通过所述管理平台地址接收所述代理端基于websocket协议发送的携带所述令牌的长连接请求;
判断所述长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立所述目标长连接,并生成表征长连接建立成功的信息;
发送所述表征长连接建立成功的信息至所述代理端,以使所述代理端完成所述目标长连接的建立。
一种集群通信系统,应用于目标k8s集群对应的代理端,包括:
第一建立模块,用于基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
第一接收模块,用于基于所述目标长连接接收所述k8s管理平台发送的目标信息;
第一传输模块,用于传输所述目标信息至所述目标k8s集群。
一种集群通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述集群通信方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述集群通信方法的步骤。
本申请提供的一种集群通信方法,应用于目标k8s集群对应的代理端,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;基于目标长连接接收k8s管理平台发送的目标信息;传输目标信息至目标k8s集群。本申请中,代理端主动建立与k8s管理平台间的目标长连接,并且基于目标长连接接收k8s管理平台发送的目标信息,之后代理端将目标信息传输给目标k8s集群,使得k8s管理平台无需对目标k8s集群进行ip寻址,从而无需为目标k8s集群分配ip地址,可以减轻k8s管理平台的ip消耗。本申请提供的一种集群通信系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种集群通信方法的第一流程图;
图2为代理端建立目标长连接的示意图;
图3为应用本申请实施例提供的集群通信方法的系统图;
图4为本申请实施例提供的一种集群通信方法的第二流程图;
图5为本申请实施例提供的一种集群通信系统的第一结构示意图;
图6为本申请实施例提供的一种集群通信设备的结构示意图;
图7为本申请实施例提供的一种集群通信设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Kubernetes(k8s)是一种容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
在k8s集群提供的云数据中心里,一般都有一个统一的k8s管理平台,通过该k8s管理平台为各个租户提供k8s集群的部署和运维管理服务,这个k8s管理平台通常是连接在管理网中,跟管理员的终端可以通信,而数据中心里的k8s集群往往运行在租户的虚拟机内,连接到租户的租户网络中,这样k8s管理平台和租户的k8s集群之间是不能直接通信的。现有的解决方案是为租户的k8s集群所在的虚拟机分配浮动ip,即在管理网上分配一个ip地址,通过配置路由器的dnat(目的地址转换)规则路由到租户k8s集群的master节点上。然而,现有的解决方案中,需要为每个master节点分配一个k8s管理平台的ip地址,租户的k8s集群同样需要占用管理网上的ip资源,而管理网通常是作为控制平面,对内连接各种云服务,对外连接用户终端,ip数量非常有限,因此当租户的k8s集群数量较多时,会大量消耗管理网络的ip资源,最终使云数据中心内可管理的k8s集群数量受到限制,也即会消耗k8s管理平台的ip资源,使得k8s管理平台出现ip资源不足的现象。而本申请提供的集群通信方法可以降低k8s管理平台的ip资源消耗量。
请参阅图1,图1为本申请实施例提供的一种集群通信方法的第一流程图。
本申请实施例提供的一种集群通信方法,应用于目标k8s集群对应的代理端,可以包括以下步骤:
步骤S101:基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
实际应用中,代理端可以先基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;长连接指在一个连接上可以连续发送多个数据包。由于是基于目标k8s集群的身份信息建立的目标长连接,所以k8s管理平台可以基于目标k8s集群的身份信息来识别出该目标长连接,进而可以通过该目标长连接与目标k8s集群进行通信。应当指出,目标k8s集群指的是k8s管理平台管理的k8s集群;目标k8s集群的身份信息可以包括集群名称、版本、所述用户等信息。
步骤S102:基于目标长连接接收k8s管理平台发送的目标信息。
步骤S103:传输目标信息至目标k8s集群。
实际应用中,代理端在建立目标长连接之后,便可以基于目标长连接接收k8s管理平台发送的目标信息,并传输目标信息至目标k8s集群。
本申请提供的一种集群通信方法,应用于目标k8s集群对应的代理端,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;基于目标长连接接收k8s管理平台发送的目标信息;传输目标信息至目标k8s集群。本申请中,代理端主动建立与k8s管理平台间的目标长连接,并且基于目标长连接接收k8s管理平台发送的目标信息,之后代理端将目标信息传输给目标k8s集群,使得k8s管理平台无需对目标k8s集群进行ip寻址,从而无需为目标k8s集群分配ip地址,可以减轻k8s管理平台的ip消耗。
请参阅图2,图2为代理端建立目标长连接的示意图。
本申请实施例提供的一种集群通信方法中,代理端基于目标k8s集群的身份信息建立与k8s管理平台间的目标长连接的步骤,可以具体为:
步骤S201:获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌。
实际应用中,代理端可以先获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌,也即该令牌表征目标k8s集群在k8s管理平台上的注册信息。
具体应用场景中,令牌的生成过程可以如下:发送携带目标k8s集群的身份信息的注册请求至k8s管理平台;相应的,k8s管理平台基于注册请求完成目标k8s集群的注册,并生成与目标k8s集群的身份信息对应的令牌。
步骤S202:获取k8s管理平台中与目标k8s集群对应的管理平台地址。
实际应用中,在获取令牌之后,便可以获取k8s管理平台中与目标k8s集群对应的管理平台地址,该管理平台地址也即使得代理端能够访问k8s管理平台的地址,其类型可以为管理网ip+端口号等。
步骤S203:基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接。
实际应用中,在获取管理平台地址之后,代理端便可以基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接。具体应用场景中,k8s管理平台接收到该长连接请求后,可以先判断长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立目标长连接,并生成表征长连接建立成功的信息;发送表征长连接建立成功的信息至代理端,以使代理端完成目标长连接的建立。
应当指出,webSocket是一种在单个TCP连接上进行全双工通信的协议,webSocket可以使得客户端和服务器之间的数据交换变得更加简单,可以允许服务端主动向客户端推送数据,在本申请中,代理端便相当于客户端,k8s管理平台便相当于服务端。
步骤S204:判断是否接收到表征长连接建立成功的信息,若是,则执行步骤S205:完成目标长连接的建立。
实际应用中,代理端发送长连接请求后,便可以判断是否接收到表征长连接建立成功的信息,若接收到表征长连接建立成功的信息,则可以完成目标长连接的建立。
本申请实施例提供的一种集群通信方法中,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接之后,还可以判断目标长连接是否断开;若目标长连接断开,则重新基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接,以保证目标长连接的稳定性。
本申请实施例提供的一种集群通信方法中,为了便于代理端与目标k8s集群间的通信,代理端与目标k8s集群可以处于同一网络中。
本申请实施例提供的一种集群通信方法中,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接的步骤,可以具体为:通过路由器的snat(源地址转换)规则,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。也即代理端可以通过路由器与k8s管理平台通信,此时,k8s管理平台只需为路由器分配一个ip,便可以与目标k8s集群进行通信,且无论目标k8s集群中有多少个master节点,k8s管理平台均可以通过该路由器与每个master节点通信。
本申请实施例提供的一种集群通信方法中,代理端可以部署在目标k8s集群之外,也可以部署在目标k8s集群内;当代理端部署在目标k8s集群内时,可以在目标k8s集群内部运行一个depolyment和这个deployment使用的serviceaccount,并设置serviceaccount为cluster admin权限,以保证代理端可以通过这个serviceaccount操作目标k8s集群全部的k8s接口,并且可以将该代理端中的deployment作为websocket的客户端,主动向k8s管理平台侧的服务端建立websocket长连接。
请参阅图3,图3为应用本申请实施例提供的集群通信方法的系统图;在图3中,包括租户1的k8s集群、租户2的k8s集群、租户3的k8s集群,k8s集群统一管理平台;租户1的k8s集群通过代理、路由器1与k8s集群统一管理平台连接,租户2的k8s集群通过代理、路由器2与k8s集群统一管理平台连接,租户3的k8s集群通过代理、路由器3与k8s集群统一管理平台连接,由图3可以看出,每个租户的k8s集群只需消耗k8s集群统一管理平台的一个ip便可以与k8s集群统一管理平台通信;现假设一个数据中心中租户网络的数量为x,每个租户网络中的k8s集群数量为y,每个k8s集群的master节点数为m,需要消耗的管理网ip总数为sum,则按照本申请提供的集群通信方法,所消耗的管理网ip总数sum=x,而按照现有方案所消耗的管理网ip总数sum=m*y*x,由此可见,本申请提供的集群通信方法可以有效降低k8s管理平台的ip资源消耗。
请参阅图4,图4为本申请实施例提供的一种集群通信方法的第二流程图。
本申请实施例提供的一种集群通信方法,应用于k8s管理平台,可以包括以下步骤:
步骤S301:获取待发送至目标k8s集群的目标信息。
步骤S302:基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端,以使代理端发送目标信息至目标k8s集群;其中,目标长连接为代理端主动与k8s管理平台建立的长连接。
实际应用中,基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端之前,还可以:
接收携带目标k8s集群的身份信息的注册请求;
基于注册请求完成目标k8s集群的注册,并生成与目标k8s集群的身份信息对应的令牌;
为目标k8s集群配置管理平台地址;
通过管理平台地址接收代理端基于websocket协议发送的携带令牌的长连接请求;
判断长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立目标长连接,并生成表征长连接建立成功的信息;
发送表征长连接建立成功的信息至代理端,以使代理端完成目标长连接的建立。
请参阅图5,图5为本申请实施例提供的一种集群通信系统的第一结构示意图。
本申请实施例提供的一种集群通信系统,应用于目标k8s集群对应的代理端,可以包括:
第一建立模块101,用于基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
第一接收模块102,用于基于目标长连接接收k8s管理平台发送的目标信息;
第一传输模块103,用于传输目标信息至目标k8s集群。
本申请实施例提供的一种集群通信系统,应用于目标k8s集群对应的代理端,第一建立模块可以包括:
第一获取单元,用于获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌;
第二获取单元,用于获取k8s管理平台中与目标k8s集群对应的管理平台地址;
第一发送单元,用于基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接;
第一判断单元,用于判断是否接收到表征长连接建立成功的信息,若是,则完成目标长连接的建立。
本申请实施例提供的一种集群通信系统,应用于目标k8s集群对应的代理端,还可以包括:
第一判断模块,用于第一建立模块基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接之后,判断目标长连接是否断开;若目标长连接断开,则重新基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种集群通信系统,应用于目标k8s集群对应的代理端,代理端可以与目标k8s集群处于同一网络中。
本申请实施例提供的一种集群通信系统,应用于目标k8s集群对应的代理端,第一建立模块可以包括:
第一建立单元,用于通过路由器的snat规则,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种集群通信系统,应用于k8s管理平台,可以包括:
第一获取模块,用于获取待发送至目标k8s集群的目标信息;
第一发送模块,用于基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端,以使代理端发送目标信息至目标k8s集群;
其中,目标长连接为代理端主动与k8s管理平台建立的长连接。
本申请实施例提供的一种集群通信系统,应用于k8s管理平台,还可以包括:
第一接收模块,用于第一发送模块基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端之前,接收携带目标k8s集群的身份信息的注册请求;
第一注册模块,用于基于注册请求完成目标k8s集群的注册,并生成与目标k8s集群的身份信息对应的令牌;
第一配置模块,用于为目标k8s集群配置管理平台地址;
第二接收模块,用于通过管理平台地址接收代理端基于websocket协议发送的携带令牌的长连接请求;
第二判断模块,用于判断长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立目标长连接,并生成表征长连接建立成功的信息;
第二发送模块,用于发送表征长连接建立成功的信息至代理端,以使代理端完成目标长连接的建立。
本申请还提供了一种集群通信设备及计算机可读存储介质,其均具有本申请实施例提供的一种集群通信方法具有的对应效果。请参阅图6,图6为本申请实施例提供的一种集群通信设备的结构示意图。
本申请实施例提供的一种集群通信设备,应用于目标k8s集群对应的代理端,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
基于目标长连接接收k8s管理平台发送的目标信息;
传输目标信息至目标k8s集群。
本申请实施例提供的一种集群通信设备,应用于目标k8s集群对应的代理端,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌;获取k8s管理平台中与目标k8s集群对应的管理平台地址;基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接;判断是否接收到表征长连接建立成功的信息,若是,则完成目标长连接的建立。
本申请实施例提供的一种集群通信设备,应用于目标k8s集群对应的代理端,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:判断目标长连接是否断开;若目标长连接断开,则重新基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种集群通信设备,应用于目标k8s集群对应的代理端,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:代理端与目标k8s集群处于同一网络中。
本申请实施例提供的一种集群通信设备,应用于目标k8s集群对应的代理端,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过路由器的snat规则,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种集群通信设备,应用于k8s管理平台,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
获取待发送至目标k8s集群的目标信息;
基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端,以使代理端发送目标信息至目标k8s集群;
其中,目标长连接为代理端主动与k8s管理平台建立的长连接。
本申请实施例提供的一种集群通信设备,应用于k8s管理平台,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端之前,接收携带目标k8s集群的身份信息的注册请求;基于注册请求完成目标k8s集群的注册,并生成与目标k8s集群的身份信息对应的令牌;为目标k8s集群配置管理平台地址;通过管理平台地址接收代理端基于websocket协议发送的携带令牌的长连接请求;判断长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立目标长连接,并生成表征长连接建立成功的信息;发送表征长连接建立成功的信息至代理端,以使代理端完成目标长连接的建立。
请参阅图7,本申请实施例提供的另一种集群通信设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现集群通信设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,应用于目标k8s集群对应的代理端,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
基于目标长连接接收k8s管理平台发送的目标信息;
传输目标信息至目标k8s集群。
本申请实施例提供的一种计算机可读存储介质,应用于目标k8s集群对应的代理端,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌;获取k8s管理平台中与目标k8s集群对应的管理平台地址;基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接;判断是否接收到表征长连接建立成功的信息,若是,则完成目标长连接的建立。
本申请实施例提供的一种计算机可读存储介质,应用于目标k8s集群对应的代理端,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接之后,判断目标长连接是否断开;若目标长连接断开,则重新基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种计算机可读存储介质,应用于目标k8s集群对应的代理端,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:代理端与目标k8s集群处于同一网络中。
本申请实施例提供的一种计算机可读存储介质,应用于目标k8s集群对应的代理端,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过路由器的snat规则,基于目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接。
本申请实施例提供的一种计算机可读存储介质,应用于k8s管理平台,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
获取待发送至目标k8s集群的目标信息;
基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端,以使代理端发送目标信息至目标k8s集群;
其中,目标长连接为代理端主动与k8s管理平台建立的长连接。
本申请实施例提供的一种计算机可读存储介质,应用于k8s管理平台,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于建立的目标长连接发送目标信息至目标k8s集群对应的代理端之前,接收携带目标k8s集群的身份信息的注册请求;基于注册请求完成目标k8s集群的注册,并生成与目标k8s集群的身份信息对应的令牌;为目标k8s集群配置管理平台地址;通过管理平台地址接收代理端基于websocket协议发送的携带令牌的长连接请求;判断长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立目标长连接,并生成表征长连接建立成功的信息;发送表征长连接建立成功的信息至代理端,以使代理端完成目标长连接的建立。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的集群通信系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的集群通信方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种集群通信方法,其特征在于,应用于目标k8s集群对应的代理端,包括:
基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
基于所述目标长连接接收所述k8s管理平台发送的目标信息;
传输所述目标信息至所述目标k8s集群;
其中,所述基于所述目标k8s集群的身份信息建立与k8s管理平台间的目标长连接,包括:
获取与所述目标k8s集群的身份信息对应的令牌,所述令牌包括基于所述目标k8s集群的身份信息在所述k8s管理平台注册完成后生成的令牌;
获取所述k8s管理平台中与所述目标k8s集群对应的管理平台地址;
基于websocket协议向所述管理平台地址发送携带所述令牌的长连接请求,以使所述k8s管理平台基于所述令牌判断是否建立所述目标长连接;
判断是否接收到表征长连接建立成功的信息,若是,则完成所述目标长连接的建立。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接之后,还包括:
判断所述目标长连接是否断开;
若所述目标长连接断开,则重新基于所述目标k8s集群的身份信息主动建立与所述k8s管理平台间的所述目标长连接。
3.根据权利要求1所述的方法,其特征在于,所述代理端与所述目标k8s集群处于同一网络中。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接,包括:
通过路由器的snat规则,基于所述目标k8s集群的身份信息主动建立与所述k8s管理平台间的所述目标长连接。
5.一种集群通信方法,其特征在于,应用于k8s管理平台,包括:
获取待发送至目标k8s集群的目标信息;
接收携带所述目标k8s集群的身份信息的注册请求;
基于所述注册请求完成所述目标k8s集群的注册,并生成与所述目标k8s集群的身份信息对应的令牌;
为所述目标k8s集群配置管理平台地址;
通过所述管理平台地址接收所述代理端基于websocket协议发送的携带所述令牌的长连接请求;
判断所述长连接请求中的令牌是否与自身生成的令牌一致,若是,则建立所述目标长连接,并生成表征长连接建立成功的信息;
发送所述表征长连接建立成功的信息至所述代理端,以使所述代理端完成所述目标长连接的建立;
基于建立的目标长连接发送所述目标信息至所述目标k8s集群对应的代理端,以使所述代理端发送所述目标信息至目标k8s集群;
其中,所述目标长连接为所述代理端主动与所述k8s管理平台建立的长连接。
6.一种集群通信系统,其特征在于,应用于目标k8s集群对应的代理端,包括:
第一建立模块,用于基于所述目标k8s集群的身份信息主动建立与k8s管理平台间的目标长连接;
第一接收模块,用于基于所述目标长连接接收所述k8s管理平台发送的目标信息;
第一传输模块,用于传输所述目标信息至所述目标k8s集群;
其中,第一建立模块包括:
第一获取单元,用于获取与目标k8s集群的身份信息对应的令牌,令牌包括基于目标k8s集群的身份信息在k8s管理平台注册完成后生成的令牌;
第二获取单元,用于获取k8s管理平台中与目标k8s集群对应的管理平台地址;
第一发送单元,用于基于websocket协议向管理平台地址发送携带令牌的长连接请求,以使k8s管理平台基于令牌判断是否建立目标长连接;
第一判断单元,用于判断是否接收到表征长连接建立成功的信息,若是,则完成目标长连接的建立。
7.一种集群通信设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述集群通信方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述集群通信方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463076.3A CN111629059B (zh) | 2020-05-27 | 2020-05-27 | 一种集群通信方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010463076.3A CN111629059B (zh) | 2020-05-27 | 2020-05-27 | 一种集群通信方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111629059A CN111629059A (zh) | 2020-09-04 |
CN111629059B true CN111629059B (zh) | 2022-12-16 |
Family
ID=72272144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010463076.3A Active CN111629059B (zh) | 2020-05-27 | 2020-05-27 | 一种集群通信方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111629059B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187532A (zh) * | 2020-09-18 | 2021-01-05 | 北京浪潮数据技术有限公司 | 一种节点管控方法及系统 |
CN114760292B (zh) * | 2020-12-25 | 2023-07-21 | 广东飞企互联科技股份有限公司 | 一种面向服务发现与注册的方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917442A (zh) * | 2005-08-19 | 2007-02-21 | 中国长城计算机深圳股份有限公司 | 基于嵌入式telnet服务器的集群式网络设备管理方法 |
CN107483495A (zh) * | 2017-09-21 | 2017-12-15 | 浪潮软件股份有限公司 | 一种大数据集群主机管理方法、管理系统及服务端 |
CN107948203A (zh) * | 2017-12-29 | 2018-04-20 | 平安科技(深圳)有限公司 | 一种容器登录方法、应用服务器、系统及存储介质 |
CN109462511A (zh) * | 2018-12-11 | 2019-03-12 | 中科曙光国际信息产业有限公司 | 网络的建立方法及装置 |
CN109962953A (zh) * | 2017-12-25 | 2019-07-02 | 深圳市优必选科技有限公司 | 客户端通信建立方法及装置 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN110752947A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种k8s集群部署方法及装置,一种部署平台 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10079693B2 (en) * | 2015-12-28 | 2018-09-18 | Netapp, Inc. | Storage cluster management proxy |
-
2020
- 2020-05-27 CN CN202010463076.3A patent/CN111629059B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1917442A (zh) * | 2005-08-19 | 2007-02-21 | 中国长城计算机深圳股份有限公司 | 基于嵌入式telnet服务器的集群式网络设备管理方法 |
CN107483495A (zh) * | 2017-09-21 | 2017-12-15 | 浪潮软件股份有限公司 | 一种大数据集群主机管理方法、管理系统及服务端 |
CN109962953A (zh) * | 2017-12-25 | 2019-07-02 | 深圳市优必选科技有限公司 | 客户端通信建立方法及装置 |
CN107948203A (zh) * | 2017-12-29 | 2018-04-20 | 平安科技(深圳)有限公司 | 一种容器登录方法、应用服务器、系统及存储介质 |
CN109462511A (zh) * | 2018-12-11 | 2019-03-12 | 中科曙光国际信息产业有限公司 | 网络的建立方法及装置 |
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN110752947A (zh) * | 2019-10-18 | 2020-02-04 | 北京浪潮数据技术有限公司 | 一种k8s集群部署方法及装置,一种部署平台 |
CN111083193A (zh) * | 2019-11-11 | 2020-04-28 | 厦门网宿有限公司 | 长连接消息发送方法、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111629059A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3684010B1 (en) | Network slice management method, and device for same | |
CN111224821B (zh) | 安全服务部署系统、方法及装置 | |
US12063594B2 (en) | Method, device, and system for deploying network slice | |
CN113225214B (zh) | 协同管理边缘cdn节点的方法、装置及计算机可读介质 | |
CN111880902A (zh) | 一种pod创建方法、装置、设备及可读存储介质 | |
CN102025630A (zh) | 负载均衡方法及负载均衡系统 | |
EP3787232A1 (en) | Network configuration method, device, and system | |
CN103428306B (zh) | 网元设备上线方法、设备及系统 | |
CN103312605A (zh) | 一种网关设备身份设置的方法及管理网关设备 | |
CN114422350B (zh) | 一种公共云容器实例创建方法 | |
CN102447624A (zh) | 在服务器集群上实现负载均衡的方法、节点服务器及集群 | |
CN111629059B (zh) | 一种集群通信方法、系统、设备及计算机可读存储介质 | |
CN111182022A (zh) | 数据发送方法和装置、存储介质及电子装置 | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
CN112203261B (zh) | 充电桩的管理方法、管理装置、电子设备及可读存储介质 | |
CN103327130A (zh) | Mac地址复用的方法、终端及系统 | |
CN114629741A (zh) | 车辆总线通信网络的数据交换方法、装置及系统 | |
CN106375210A (zh) | 实现vrrp下行负载均衡的方法和路由设备 | |
CN115426334B (zh) | 网络地址生成方法、装置、路由设备及存储介质 | |
CN114827781B (zh) | 网络协同方法、装置、设备及存储介质 | |
CN117082033A (zh) | 存储设备与主机网络连接建立方法、装置、设备及介质 | |
CN116455817A (zh) | 一种软件定义云网融合架构及路由实现方法 | |
CN113055195B (zh) | 基于sdon的多域控制器集群和sdon系统 | |
CN103701943B (zh) | Mac地址的控制方法及装置 | |
CN102377835B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231120 Address after: Room 2301, No. 395 Linjiang Avenue, Tianhe District, Guangzhou City, Guangdong Province, 510655 (Location: Self made Unit 01) Patentee after: Guangdong Inspur Intelligent Computing Technology Co.,Ltd. Patentee after: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Patentee before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. |