CN115604146B - 持续获取K8s集群状况的方法及*** - Google Patents
持续获取K8s集群状况的方法及*** Download PDFInfo
- Publication number
- CN115604146B CN115604146B CN202211518199.8A CN202211518199A CN115604146B CN 115604146 B CN115604146 B CN 115604146B CN 202211518199 A CN202211518199 A CN 202211518199A CN 115604146 B CN115604146 B CN 115604146B
- Authority
- CN
- China
- Prior art keywords
- cluster
- program
- cluster information
- request
- agent program
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3096—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents wherein the means or processing minimize the use of computing system or of computing system component resources, e.g. non-intrusive monitoring which minimizes the probe effect: sniffing, intercepting, indirectly deriving the monitored data from other directly available data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种持续获取K8s集群状况的方法及***,属于通信技术领域。该方法包括:master程序接收获取K8s集群信息的请求,在缓存处未查找到K8s集群信息时查找agent程序地址;agent程序接收连接请求并与master程序建立连接;agent程序接收上报指令后建立新线程和计时周期,线程每隔一个请求周期请求K8s集群信息并由agent程序上报给master程序直到计时周期结束;master程序将由agent程序上报的具有数据时效的K8s集群信息缓存;计时周期结束后agent程序关闭线程和连接。本发明在保证实时获取K8s集群信息的情况下,减少K8s集群下行带宽的传输压力。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种持续获取K8s集群状况的方法及***。
背景技术
K8s作为一款容器编排管理工具,目前已被广为使用于管理调控各自的容器集群。而K8s也有属于自身的K8s api。可以通过K8s api的接口获取到K8s集群信息,例如节点信息、容器信息、网络信息等。
由于K8s的广泛应用,各个公司也许会建有多个K8s集群。若要管理好多个K8s集群,除了分别到各个集群查看管理集群外,还有一种是基于K8s api,建立一个管控平台。通过分别请求各个集群的api,获取集群内部信息,达到统一管理。管控平台基本都是通过持续http轮询请求K8s api,已达到实时获取K8s集群信息,如图1所示。
在web需要展示某个K8s集群信息时,也会持续轮询请求管控平台以获取最新的该K8s集群信息,而管控平台在接收到请求后,也会请求到对应的K8s集群的K8s api以获取信息。因此,web持续请求管控平台相当于持续请求K8s api。一来一回,也是会有网络延迟。
发明内容
本发明实施例的目的是提供一种持续获取K8s集群状况的方法及***,解决了现有的持续获取K8s集群信息对K8s集群下行带宽带来传输压力的技术问题。
为了实现上述目的,本发明实施例提供了一种持续获取K8s集群状况的方法,该方法包括:
master程序接收客户端发送的获取K8s集群信息的请求,在缓存处查找K8s集群信息,在未查找到对应的K8s集群信息时,则根据集群名和/或集群IP地址找到该K8s集群所对应的agent程序地址;
agent程序接收master程序发送的连接请求,与master程序建立连接;
agent程序接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,线程每隔一个请求周期会自动请求对应的agent程序发送K8s集群信息,并由agent程序上报给master程序,直到计时周期结束;请求周期的时长小于计时周期的时长;
master程序将由agent程序上报的K8s集群信息进行缓存并设置K8s集群信息的数据时效的时长,使其大于请求周期的时长;
计时周期结束后,agent程序关闭线程和连接。
另一方面,本发明还提供了一种持续获取K8s集群状况的***,包括:
客户端,具有web功能,用于发送获取K8s集群信息的请求;
master程序,具有缓存功能,用于接收客户端发送的获取K8s集群信息的请求,在缓存处查找K8s集群信息,在未查找到对应的K8s集群信息时,则根据集群名和/或集群IP地址找到该集群所对应的agent程序地址;
至少一个K8s集群,每个K8s集群植入一个agent程序,用于接收master程序发送的连接请求,并与master程序建立连接;
agent程序还用于接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,线程每隔一个请求周期会自动请求agent程序重新发送K8s集群信息,并由agent程序上报给master程序,直到计时周期结束;请求周期的时长小于计时周期的时长;
master程序还用于将由agent程序上报的K8s集群信息进行缓存并设置K8s集群信息的数据时效的时长,使其大于请求周期的时长;
agent程序还用于在计时周期结束后,关闭线程和连接。
本发明具有以下的有益效果:通过websocket实现在保证实时获取各个K8s集群信息的情况下,减少对K8s集群的请求,进而减少K8s集群的下行带宽,由于***有缓存数据机制,在客户端请求***获取信息时,只需要到缓存处拿到最新缓存数据,能让***本身对K8s集群信息获取的响应更加的迅速。
附图说明
图1表示现有的K8s集群信息获取***的结构框架图;
图2表示本发明实施例提供的持续获取K8s集群状况的方法的步骤流程图一;
图3表示本发明实施例提供的持续获取K8s集群状况的方法的步骤流程图二;
图4表示本发明实施例提供的持续获取K8s集群状况的***的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合具体实施方式并参照附图,对本发明实施例进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避混淆本发明的概念。
WebSocket是一种在单个TCP连接上进行全双工通信的协议。能在两端之间建立持久性连接,并进行双向数据传输。
K8s集群,全称kubernetes,是一款强大的容器编排器,用于管理多个服务器内容器的编排与生命周期管理。容器相当于一个拥有***的虚拟机,可以在容器内运行相应的程序。
redis是一个高性能的key-value数据库,由于redis的高性能以及丰富的数据类型受到广大开发者的青睐,多用于缓存数据。
本发明实施例分为master程序以及agent程序两部分,master程序主要功能是收集各个K8s集群信息以及与客户端进行数据交互,展示数据。agent程序是植入到各个K8s集群中运行,负责与master程序建立websocket连接后通过请求K8s api收集K8s集群信息,持续将收集到的K8s集群信息发往master程序。master程序会将接收到的K8s集群信息缓存到redis,缓存数据只会保存10秒钟。agent程序持续发送,master程序会不断刷新redis内对应的数据,保证数据的新鲜度。
数据库中会提前存入各个K8s集群对应的IP地址和/或集群名,在缓存处未查找到K8s集群信息时,就会去数据库中根据集群名和/或集群IP地址寻找该K8s集群对应的agent程序地址。
本发明实施例中的K8s集群信息包括:节点信息、容器信息和/或网络信息。
具体地,节点信息是指:该K8s集群包含的各个节点服务器的状态、cpu大小、内存大小、以及占用cpu、内存多少等;
容器信息是指:该K8s集群编排出的容器的状态、分布在哪个节点、分配的cpu内存大小以及存储大小等;
网络信息是指:占用了节点服务器的哪些端口以及这些端口分别映射到容器内的哪个端口。
实施例一
图2-3表示本发明实施例提供的持续获取K8s集群状况的方法的步骤流程图,参照图2、3,本发明实施例提供一种持续获取K8s集群状况的方法,该方法包括:
步骤S110,master程序接收客户端发送的获取K8s集群信息的请求,在缓存处查找该K8s集群信息,在未查找到该K8s集群信息时,则在数据库中根据集群名和/或集群IP地址找到该K8s集群所对应的agent程序地址;
具体地,客户端首先发送获取某个K8s集群信息的请求,master程序接收到客户端的获取请求后,master程序先在缓存处redis查找对应的K8s集群信息,如果在缓存处查找到K8s集群信息时,就会将查找结果返回给客户端。如果master程序在缓存处没查找到该K8s集群信息,就会在数据库中根据集群名和/或集群IP地址找到该K8s集群所对应的agent程序地址。
步骤S120,agent程序接收master程序发送的连接请求,并与master程序建立连接;
master程序会在数据库中根据集群名和/或集群IP地址找到对应K8s集群的agent程序地址,当查找到agent程序地址时,master程序会发送请求建立websockt连接,agent程序接收master程序发送的连接请求,并与master程序建立websocket连接。
步骤S130,agent程序接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,线程每隔一个请求周期会自动请求agent程序重新发送K8s集群信息,并由agent程序上报给master程序,直到计时周期结束;其中,该请求周期的时长小于该计时周期的时长;一个请求周期是指线程两次向agent程序发送获取K8s集群信息请求时间的间隔。
具体地,websocket连接成功后,master程序会发送上报指令给agent程序,agent程序在接收到上报指令后,会新建一个线程,并生成一个计时器,计时器会在一个计时周期(例如,30分钟)内倒数。为了保证数据新鲜度,在30分钟内,该线程会每隔一个请求周期(例如,5秒钟)请求自属K8s集群的api以重新获取K8s集群信息,并将获取到的K8s集群信息通过websocket连接发送到master程序。
步骤S140,master程序将由agent程序上报的K8s集群信息进行缓存并设置该K8s集群信息的数据时效的时长,使其大于该请求周期的时长。
为了保证数据能够在线程请求前保持有效,本发明设置数据时效的时长要大于请求周期的时长。如果数据时效的时长小于请求周期的时长,那么在线程还没请求K8s集群信息前该K8s集群信息就失效了。数据时效从K8s集群信息存入缓存的存储时间起算。
具体地,master程序将由agent程序上报的K8s集群信息缓存到redis并设置数据时效(例如,10秒钟)。agent程序持续上报,master程序会持续刷新数据以及数据时效。
步骤S150,计时周期结束后,agent程序关闭线程和连接,回到等待master程序连接的状态。
为了释放资源达到master程序需要时才持续上报数据的效果,30分钟计时周期结束后,agent程序会关闭websocket连接并关闭线程。然后再次等待master程序的请求,因为agent程序在30分钟内持续发送K8s集群信息到master程序,master程序能持续更新redis中对应的数据,在客户端请求master程序以获取K8s集群信息,master程序只需要到redis里拿最新的K8s集群信息即可,不需要再到各个K8s集群拿数据,节省网络数据交互带来的延迟。
待agent程序不再上报K8s集群信息后,redis也会由于不再刷新数据时效,在缓存处的缓存数据会在10秒后自动删除。若客户端再次请求,master程序从redis中获取不到想要的信息,就会再次与agent程序建立websocket连接要求再次上报K8s集群信息。
本发明的持续获取K8s集群状况的方法,通过websocket实现在保证实时获取各个K8s集群信息的情况下,减少对K8s集群的请求,进而减少K8s集群的下行带宽的传输压力,由于***有缓存数据机制,在客户端请求***获取信息时,只需要到redis拿到最新缓存数据,能让***本身对K8s集群信息获取的响应更加的迅速,提高了客户端与服务端之间的通讯效率。
本发明的持续获取K8s集群状况的***分为master程序以及agent程序两部分,master程序主要功能是收集各个K8s集群信息以及与客户端进行数据交互,展示数据。agent程序是植入到各个K8s集群中运行,负责与master程序建立websocket连接后通过请求K8s集群的 api收集K8s集群信息,持续将收集到的K8s集群信息发往master程序。master程序会将接收到的信息缓存到redis,但是缓存数据只会保存10秒钟。但agent程序持续发送,master程序会不断刷新redis内对应的数据,保证数据的新鲜度。
实施例二
图4表示本发明实施例提供的一种持续获取K8s集群状况的***的结构框图,参照图4,本发明实施例提供一种持续获取K8s集群状况的***,该持续获取K8s集群状况的***可用于实现上述的持续获取K8s集群状况的方法,该***包括:
客户端,具有web功能,用于发送获取K8s集群信息的请求;
master程序具有缓存功能,用于接收客户端发送的获取K8s集群信息的请求,在缓存处查找该K8s集群信息,如果在缓存处查找到K8s集群信息时,就会将查找结果返回给客户端。如果master程序在缓存处没查找到该K8s集群信息,就会在数据库中根据集群名和/或集群IP地址找到该集群所对应的agent程序地址;
至少一个K8s集群,每个K8s集群植入一个agent程序,具有api端口,用于接收master程序发送的连接请求,并与master程序建立连接;
agent程序还用于接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,线程每隔一个请求周期会自动请求agent程序重新发送K8s集群信息,并由agent程序上报给master程序,直到计时周期结束;该请求周期的时长小于该计时周期的时长;
master程序还用于将agent程序上报的K8s集群信息进行缓存并设置该K8s集群信息的数据时效的时长,使其大于该请求周期的时长;
agent程序还用于在计时周期结束后,关闭线程和连接。
具体地,如图4所示,本发明实施例提供的一种持续获取K8s集群状况的***包括K8s集群1、K8s集群2及K8s集群3,在三个集群中植入agent程序。
客户端首先发送获取K8s集群信息的请求,master程序接收到客户端请求获取某个K8s集群信息,master程序先在缓存处redis查找对应的K8s集群信息,如果在缓存处查找到K8s集群信息时,就会将查找结果返回给客户端。如果master程序在缓存处没查找到该K8s集群信息,就会在数据库中根据集群名和/或集群IP地址找到该K8s集群所对应的agent程序地址。
master程序会在数据库中根据集群名和/或集群IP地址找到对应K8s集群的agent程序地址,当查找到agent程序地址时,master程序会发送请求建立websockt连接,agent程序接收master程序发送的连接请求,并与master程序建立websocket连接。
websocket连接成功后,master程序会发送上报指令给agent程序,agent程序在接收到上报指令后,会新建一个线程,并生成一个计时器,计时器会在一个计时周期(例如,30分钟)内倒数。为了保证数据新鲜度,在30分钟内,该线程会每隔一个请求周期(例如,5秒钟)请求自属K8s集群的api以重新获取K8s集群信息,并将获取到的K8s集群信息通过websocket连接发送到master程序。
master程序接收到由agent程序上报的K8s集群信息会缓存到redis并设置数据时效的时长(例如,10秒钟),agent程序持续上报,master程序会持续刷新数据以及数据时效。
为了释放资源达到master程序需要时才持续上报数据的效果,30分钟计时周期结束后,agent程序会关闭websocket连接并关闭线程。然后再次等待master程序的请求,因为agent程序在30分钟内持续发送K8s集群信息到master程序,master程序能持续更新redis中对应的数据,在客户端请求master程序以获取K8s集群信息,master程序只需要到redis里拿最新的K8s集群信息即可,不需要再到各个K8s集群拿数据,节省网络数据交互带来的延迟。
待agent程序不再上报K8s集群信息后,在缓存处的缓存数据会在10秒(数据时效的时长为10秒)后自动删除。若客户端再次请求,master程序从redis中获取不到想要的信息,就会再次与agent程序建立websocket连接要求上报。
本发明的持续获取K8s集群状况的***分为master程序以及agent程序两部分,master程序主要功能是收集各个K8s集群信息以及与客户端进行数据交互,展示数据。agent程序是植入到各个K8s集群中运行,负责与master程序建立websocket连接后通过请求K8s api收集K8s集群信息,持续将收集到的K8s集群信息发往master程序。master程序会将接收到的K8s集群信息缓存到redis,设置缓存数据的数据时效的时长(例如,10秒钟)。agent程序持续发送,master程序会不断刷新redis内对应的数据,保证数据的新鲜度。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
Claims (8)
1.一种持续获取K8s集群状况的方法,其特征在于,所述方法包括:
master程序接收客户端发送的获取K8s集群信息的请求,在缓存处查找K8s集群信息,在未查找到对应的K8s集群信息时,则根据集群名和/或集群IP地址找到该K8s集群所对应的agent程序地址;
agent程序接收master程序发送的连接请求,与master程序建立连接;
agent程序接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,所述线程每隔一个请求周期会自动请求对应的agent程序发送K8s集群信息,并由agent程序上报给master程序直到计时周期结束,所述请求周期的时长小于所述计时周期的时长;
master程序将由agent程序上报的所述K8s集群信息进行缓存并设置所述K8s集群信息的数据时效的时长,使其大于所述请求周期的时长;
计时周期结束后,agent程序关闭所述线程和所述连接。
2.根据权利要求1所述的方法,其特征在于,还包括:
master程序在缓存处查找到对应的K8s集群信息时,将查找结果返回给客户端。
3.根据权利要求1所述的方法,其特征在于,当agent程序关闭所述线程和所述连接后,在缓存处的所述K8s集群信息在所述数据时效结束后删除。
4.根据权利要求1所述的方法,其特征在于,所述连接为websocket连接,具体为:master程序发送websocket连接请求,agent程序接收所述连接请求,并与master程序建立websocket连接。
5.一种持续获取K8s集群状况的***,其特征在于,所述***包括:
客户端,具有web功能,用于发送获取K8s集群信息的请求;
master程序,具有缓存功能,用于接收客户端发送的获取K8s集群信息的请求,在缓存处查找K8s集群信息,在未查找到对应的K8s集群信息时,则根据集群名和/或集群IP地址找到该集群所对应的agent程序地址;
至少一个K8s集群,每个K8s集群植入一个agent程序,用于接收master程序发送的连接请求,并与master程序建立连接;
所述agent程序还用于接收master程序发送的上报指令后,建立新线程和计时周期并开始计时,所述线程每隔一个请求周期会自动请求agent程序重新发送K8s集群信息,并由agent程序上报给master程序,直到计时周期结束;所述请求周期的时长小于所述计时周期的时长;
所述master程序还用于将由agent程序上报的所述K8s集群信息进行缓存并设置所述K8s集群信息的数据时效的时长,使其大于所述请求周期的时长;
所述agent程序还用于在计时周期结束后,关闭所述线程和所述连接。
6.根据权利要求5所述的***,其特征在于,
master程序在缓存处查找到对应的K8s集群信息时,将查找结果返回给客户端。
7.根据权利要求5所述的***,其特征在于,当agent程序关闭所述线程和所述连接后,在缓存处的所述K8s集群信息在数据时效结束后自动删除。
8.根据权利要求5所述的***,其特征在于,所述连接为websocket连接,master程序发送websocket连接请求,agent程序接收所述连接请求并与master程序建立websocket连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211518199.8A CN115604146B (zh) | 2022-11-30 | 2022-11-30 | 持续获取K8s集群状况的方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211518199.8A CN115604146B (zh) | 2022-11-30 | 2022-11-30 | 持续获取K8s集群状况的方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115604146A CN115604146A (zh) | 2023-01-13 |
CN115604146B true CN115604146B (zh) | 2023-05-23 |
Family
ID=84852824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211518199.8A Active CN115604146B (zh) | 2022-11-30 | 2022-11-30 | 持续获取K8s集群状况的方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115604146B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014052928A (ja) * | 2012-09-10 | 2014-03-20 | Nippon Telegr & Teleph Corp <Ntt> | データキャッシュシステム |
CN111125261A (zh) * | 2020-03-31 | 2020-05-08 | 四川新网银行股份有限公司 | 基于分布式缓存的数据传输方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539681B (zh) * | 2014-12-23 | 2018-04-13 | 北京超图软件股份有限公司 | 分布式gis加速***和gis服务的处理方法 |
CN107870924A (zh) * | 2016-09-26 | 2018-04-03 | 华为技术有限公司 | 查询数据的方法和数据查询*** |
CN113364727B (zh) * | 2020-03-05 | 2023-04-18 | 北京金山云网络技术有限公司 | 容器集群***、容器控制台和服务器 |
CN111597087A (zh) * | 2020-05-15 | 2020-08-28 | 山东汇贸电子口岸有限公司 | 一种制作云监控指标的方法 |
CN112100004A (zh) * | 2020-08-12 | 2020-12-18 | 福建天泉教育科技有限公司 | Redis集群节点的管理方法、存储介质 |
CN113032126B (zh) * | 2021-04-07 | 2022-09-20 | 北京理工大学 | 一种高并发云工作流调度引擎跨集群通信***及方法 |
-
2022
- 2022-11-30 CN CN202211518199.8A patent/CN115604146B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014052928A (ja) * | 2012-09-10 | 2014-03-20 | Nippon Telegr & Teleph Corp <Ntt> | データキャッシュシステム |
CN111125261A (zh) * | 2020-03-31 | 2020-05-08 | 四川新网银行股份有限公司 | 基于分布式缓存的数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115604146A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106796547B (zh) | 用于代理缓存智能对象淘汰的方法和*** | |
CN102984286B (zh) | 一种dns服务器的缓存更新方法、装置及*** | |
EP2563062B1 (en) | Long connection management apparatus and link resource management method for long connection communication | |
CN105357296A (zh) | 一种Docker云平台下弹性缓存*** | |
CN102289508B (zh) | 分布式缓存阵列及其数据查询方法 | |
CN108429777B (zh) | 一种基于缓存的数据更新方法及服务器 | |
CN106021468A (zh) | 分布式缓存和本地缓存的更新方法和*** | |
CN103281394A (zh) | 文件获取方法、节点服务器和*** | |
US11032394B1 (en) | Caching techniques | |
CN111221469B (zh) | 同步缓存数据的方法、装置和*** | |
TW201513623A (zh) | 一種發送業務請求訊息的方法及裝置 | |
WO2015062228A1 (zh) | 一种访问共享内存的方法和装置 | |
US10057368B1 (en) | Method and system for incremental cache lookup and insertion | |
CN105653198A (zh) | 数据处理方法及装置 | |
CN113031874B (zh) | 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质 | |
CN106559241A (zh) | 应用日志的收集、发送方法、装置、***及日志服务器 | |
CN106777085A (zh) | 一种数据处理方法、装置及数据查询*** | |
CN113630366A (zh) | 一种物联网设备接入方法及*** | |
CN113703917B (zh) | 一种多集群资源数据处理***与方法、非暂态存储介质 | |
CN115604146B (zh) | 持续获取K8s集群状况的方法及*** | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
WO2014049539A2 (en) | Request-agnostic caching for a data resource collection | |
CN111224811A (zh) | 一种snmp请求监听***、方法、装置及计算机可读存储介质 | |
CN111625427B (zh) | 用于配置中心客户端连接健康状况的实时监控***和方法 | |
WO2017092356A1 (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 |