CN115604146B - 持续获取K8s集群状况的方法及系统 - Google Patents

持续获取K8s集群状况的方法及系统 Download PDF

Info

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
Application number
CN202211518199.8A
Other languages
English (en)
Other versions
CN115604146A (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.)
Guangdong Eflycloud Computing Co Ltd
Original Assignee
Guangdong Eflycloud Computing 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 Guangdong Eflycloud Computing Co Ltd filed Critical Guangdong Eflycloud Computing Co Ltd
Priority to CN202211518199.8A priority Critical patent/CN115604146B/zh
Publication of CN115604146A publication Critical patent/CN115604146A/zh
Application granted granted Critical
Publication of CN115604146B publication Critical patent/CN115604146B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3096Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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也有属于自身的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连接。
CN202211518199.8A 2022-11-30 2022-11-30 持续获取K8s集群状况的方法及系统 Active CN115604146B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 北京理工大学 一种高并发云工作流调度引擎跨集群通信系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
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) 数据处理方法及装置
CN110134896A (zh) 一种代理服务器的监控过程及智能缓存方法
CN113031874B (zh) 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质
CN103618732B (zh) 一种PaaS与Erlang App应用引擎架构执行流程
CN106559241A (zh) 应用日志的收集、发送方法、装置、系统及日志服务器
CN106777085A (zh) 一种数据处理方法、装置及数据查询系统
CN113703917B (zh) 一种多集群资源数据处理系统与方法、非暂态存储介质
CN115604146B (zh) 持续获取K8s集群状况的方法及系统
CN109063140A (zh) 一种数据查询方法、中转服务器及计算机可读存储介质
CN109769005A (zh) 一种网络请求的数据缓存方法及数据缓存系统
EP2901658A2 (en) Request-agnostic caching for a data resource collection
CN111224811A (zh) 一种snmp请求监听系统、方法、装置及计算机可读存储介质
CN105025042B (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