CN113312174A - 一种信息查询方法、装置、电子设备及容器管理系统 - Google Patents
一种信息查询方法、装置、电子设备及容器管理系统 Download PDFInfo
- Publication number
- CN113312174A CN113312174A CN202110378280.XA CN202110378280A CN113312174A CN 113312174 A CN113312174 A CN 113312174A CN 202110378280 A CN202110378280 A CN 202110378280A CN 113312174 A CN113312174 A CN 113312174A
- Authority
- CN
- China
- Prior art keywords
- container
- information
- storage space
- space information
- determining
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000012545 processing Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Abstract
本申请公开了一种信息查询方法、装置、电子设备及容器管理系统,所述方法包括:获取容器母机节点中的至少一个容器的容器信息;基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。本申请实施例提供的信息查询方法,在节省服务器资源的同时,明确了容器与对应的存储空间信息的对应关系。
Description
技术领域
本申请涉及网络服务技术领域,尤其涉及一种信息查询方法、装置、电子设备及容器管理系统。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。金融科技领域下,需要监控主机上的进程存活情况,保障业务进程的稳定运行以及提供可视化的数据展示。一种可选方式是,在被监控主机上部署Zabbix-代理(Agent),Zabbix-Agent负责收集本地数据,并将收集的数据发送至Zabbix-服务器(server)端或Zabbix-中继(proxy)端。
在(Kubernetes,K8S)环境下,每个容器节点中会有10-20个Pod,Pod中所有的进程在主机中都是可见的,每一个Pod都是一个独立的实例。目前,可以在每个Pod上需要部署一个zabbix-Agent,容器母机节点上也部署zabbix-Agent,如此会导致一台容器母机节点上有1+N个zabbix客户端(N为容器母机上的pod个数);如此,造成了服务器存储空间、存储io使用率、中央处理器(Central Processing Unit,CPU)等资源的极大浪费。
为了避免上述问题,也可以只在容器母机节点上部署一个zabbix-Agent,但是由于对于容器节点来说所有的进程都是平等的,因此,无法区分采集到的进程信息所属的容器的Pod。
申请内容
为解决上述技术问题,本申请实施例提供了一种信息查询方法、装置、电子设备及容器管理系统,能够明确采集到的进程信息所属的容器的Pod。
本申请实施例提供的一种信息查询方法,包括:获取容器母机节点中的至少一个容器的容器信息;
基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;
基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
本申请一可选实施方式中,所述基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表,包括:
基于所述容器信息中的镜像标签,确定所述至少一个容器中的业务容器;
获取所述业务容器中的目标业务容器对应的实例信息列表。
本申请一可选实施方式中,所述获取所述业务容器中的目标业务容器对应的实例信息列表,包括:
在所述业务容器中确定满足预设条件的目标业务容器;
基于所述容器信息中所述目标业务容器对应的第一存储空间信息,获取所述目标业务容器对应的第一实例信息列表;
对所述第一实例信息列表进行格式化处理,得到所述目标业务容器对应的实例信息列表。
本申请一可选实施方式中,所述基于所述实例信息列表确定待查询的容器所挂载的存储空间信息,包括:
确定待查询的第一容器对应的第一容器信息;
在所述实例信息列表中匹配所述第一容器信息对应的第一实例信息;
确定所述第一实例信息所挂载的第一存储空间信息。
本申请一可选实施方式中,所述确定所述第一实例信息所挂载的第一存储空间信息之后,所述方法还包括:
若所述第一存储空间信息中的空间使用率大于或等于第一阈值,则格式化输出所述第一存储空间信息;
或者,格式化输出所述第一存储空间信息。
本申请一可选实施方式中,所述格式化输出所述第一存储空间信息之前,所述方法还包括:
从所述第一存储空间信息中选择目标存储空间信息;
格式化输出所述目标存储空间信息。
本申请一可选实施方式中,所述获取容器母机节点中的至少一个容器的容器信息之前,所述方法还包括:
接收每个容器的存储空间信息,所述存储空间信息至少包括下述中的一种或多种:
存储空间目录、容器的挂载点和空间使用率。
本申请实施例提供一种信息查询装置,所述装置包括:
第一获取单元,用于获取容器母机节点中的至少一个容器的容器信息;
第二获取单元,用于基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;
确定单元,用于基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
本申请实施例还提供一种存储介质,所述存储介质上存储有可执行指令,该可执行指令被处理器执行时实现上述的方法步骤。
本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现上述的方法步骤。
本申请实施例还提供一种容器管理系统,包括:管理服务器和多个容器母机节点,所述容器母机节点包括上文所述的电子设备,所述管理服务器包括接口服务器;
所述容器管理系统,用于通过所述接口服务器接收每个容器母机节点上报的存储空间信息;
所述容器管理系统,用于基于接收到的每个容器母机节点的存储空间信息,确定容器管理策略,并按照容器管理策略,调整每个容器母机节点的存储空间信息。
本申请实施例提供的信息查询方法包括:获取容器母机节点中的至少一个容器的容器信息;基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。本申请实施例提供的信息查询方法,无需在容器节点上部署Zabbix-Agent,通过获取业务容器对应的实例信息列表,能够根据容器的标识信息获取该容器对应的存储空间信息,在节省服务器资源的同时,明确了容器与对应的存储空间信息的对应关系。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附附图,作详细说明如下。
附图说明
图1为本申请实施例提供的信息查询方法的一种可选处理流程示意图;
图2为本申请实施例提供的基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表的处理流程示意图;
图3为本申请实施例提供的获取所述业务容器中的目标业务容器对应的实例信息列表的处理流程示意图;
图4为本申请实施例提供的基于所述实例信息列表确定待查询的容器所挂载的存储空间信息的处理流程示意图;
图5为本申请实施例提供的容器集群的网络架构示意图;
图6为本申请实施例提供的Zabbix的架构示意图;
图7为本申请实施例提供的信息查询方法的基本处理流程示意图;
图8为本申请实施例提供的信息查询装置的结构组成示意图;
图9为本申请实施例的电子设备的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本申请实施例的特点和技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。
本申请实施例中,相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面对本申请实施例所涉及的一种信息查询方法进行详细介绍,本申请实施例所提供的信息查询方法的执行主体可以为任何具有数据处理能力的装置或设备或服务器,本申请实施例中不作限定。
下面结合图1所示的信息查询方法一种可选处理流程示意图对本申请实施例所提供的信息查询方法进行详细说明,本申请实施例所提供的信息查询方法至少可以包括以下几个步骤:
步骤S101,获取容器母机节点中的至少一个容器的容器信息。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent获取容器母机节点中的至少一个容器的容器信息。
在具体实施时,可以通过程序自动化定时调用docker.sock协议获取当前容器母机节点中所有容器的容器信息,所述容器信息可以包括下述中的至少一项:容器标识(IDentifier,ID)、Pod对应的集群唯一ID、Pod对应的Pod名称(PodName);其中,Pod包括至少两个容器,Pod可以是一组容器的集合。
在一些实施例中,可以按照第一时间周期获取所述容器母机节点中的至少一个容器的容器信息,即每间隔第一时间周期执行一次获取所述容器母机节点中的至少一个容器的容器信息的操作。其中,所述第一时间周期可根据实际需要灵活设置,如设置获取所述容器母机节点中的至少一个容器的容器信息的第一时间周期是15秒。在具体实施时,部署在容器母机节点上的Zabbix-Agent判断当前时刻距离最近一次获取容器信息的时刻的时间间隔是否大于或等于第一时间周期,若判断结果为是,则部署在容器母机节点上的Zabbix-Agent向至少一个容器发送请求信息,所述请求信息用于获取容器信息;部署在容器母机节点上的Zabbix-Agent接收至少一个容器基于所述请求信息所发送的容器信息。部署在容器母机节点上的Zabbix-Agent接收的容器数据可以包括Pod对应的集群唯一ID,Pod对应的集群唯一ID表示容器的ID,容器的ID在集群中具有唯一性。
本申请实施例中,通过按第一时间周期获取容器信息,无需人为参与便能够提高容器信息的采集效率,提高对容器信息的监控效率。
步骤S102,基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表的处理流程示意图,可以如图2所示,至少包括:
步骤S102a,基于所述容器信息中的镜像标签,确定所述至少一个容器中的业务容器。
在一些实施例中,一个Pod至少包括两个容器,分别是业务容器和初始化容器;其中,镜像标签为“Image":webank/umg-mts@...”的容器是业务容器,镜像标签为“Image":"k8s.gcr.io/pause…”的容器为初始化容器。对于业务容器,需要采集业务容器的存储空间信息,对于初始化容器,则不需要采集初始化容器的存储空间信息。
步骤S102b,获取所述业务容器中的目标业务容器对应的实例信息列表。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent获取所述业务容器中的目标业务容器对应的实例信息列表的处理流程示意图,可以如图3所示,至少包括以下步骤:
步骤S102b1,在所述业务容器中确定满足预设条件的目标业务容器。
在一些实施例中,可以将所述的业务容器确定为目标业务容器,即不对预设条件进行任何限定。也可以根据实际需要设定预设条件,如:选择第一子系统对应的业务容器;在具体实施时,可以确定镜像标签中的“Image":webank/umg-mts@...umg-mts”的业务容器为目标业务容器,其中,镜像标签为“Image":webank/umg-mts@...umg-mts”的业务容器是第一子系统对应的目标业务容器。通过对目标业务容器进行筛选,能够减少不必要的容器信息采集和上报,降低系统的资源使用,提高容器信息采集和上报的效率。
步骤S102b2,基于所述容器信息中所述目标业务容器对应的第一存储空间信息,获取所述目标业务容器对应的第一实例信息。
在步骤S101中已经获取了容器信息,因此,可以在步骤S101已经获取的容器信息中查找该目标业务容器对应的容器信息,获得所述目标业务容器对应的第一存储空间信息。每个业务容器均具有对应的存储空间信息,目标业务容器对应的存储空间信息为第一存储空间信息。在所述容器信息中,匹配所述目标业务容器对应的实例信息列表。其中,所述实例信息列表中包括的各个实例信息与存储空间信息具有对应关系,即根据实例信息列表能够确定各个实施例信息对应的存储空间信息。所述存储空间信息可以包括下述中的至少一项:存储空间目录、挂载点和存储空间使用率等信息。
步骤S103,基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent基于所述实例信息列表确定待查询的容器所挂载的存储空间信息的处理流程示意图,可以如图4所示,至少包括以下步骤:
步骤S103a,确定待查询的容器对应的第一容器信息。
在一些实施例中,待查询的容器具有表征该待查询的容器的唯一的容器ID,部署在容器母机节点上的Zabbix-Agent根据容器ID能够确定待查询的容器对应的第一容器信息。
步骤S103b,在所述实例信息列表中匹配所述第一容器信息对应的第一实例信息。
在一些实施例中,所述实例信息列表中包括多个实例信息,每个实例信息可以用于记载Pod的进程信息,在所述实例信息列表中匹配与所述第一容器信息对应的第一实例信息。
步骤S103c,确定所述第一实例信息所挂载的第一存储空间信息。
在一些实施例中,所述实例信息列表中的各个实例信息均对应不同的Pod,且每个Pod挂载在不同的主机,部署在容器母机节点上的Zabbix-Agent根据第一实例信息能够确定第一实例信息对应的Pod所挂载的第一存储空间信息。
在一些实施例中,所述第一存储空间信息可以包括存储目录信息、Pod所挂载的主机、第一存储空间的使用率等信息。
在一些实施例中,可以通过执行docker协议,基于Pod ID确定目标业务容器所挂在载的第一存储空间信息,如存储目录信息。
在一些实施例中,在确定第一存储空间信息之后,可以对第一存储空间信息进行格式化存储,如,按照存储空间的使用率的升序或降序对进行存储。如此,使得在后续获取部分存储空间信息(如获取使用率大于第一阈值的存储空间信息)时,能够从格式化存储的存储空间信息中快速地获取所需的存储空间信息。
在一些实施例中,在执行步骤S103之后,所述方法还可以包括:
步骤S104,若所述第一存储空间信息的空间使用率大于或等于第一阈值,则格式化输出所述第一存储空间信息;或者,格式化输出所述第一存储空间信息。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent可以对所确定的第一存储空间直接进行格式化输出;或者,确定所述第一存储空间信息的空间使用率,若所述第一存储空间信息的空间使用率大于或等于第一阈值,则格式化输出所述第一存储空间信息;若所述第一存储空间信息的空间使用率小于第一阈值,则不输出所述第一存储空间信息。通过格式化存储第一存储空间信息,能够为本申请基于第一阈值对第一存储空间信息进行格式化输出提供基础。通过设置用于格式化存储空间输出的第一阈值,能够减少非关键指标数据的生成和传递,降低监控系统采集的压力,减少无效数据的存储积压,大幅度降低监控系统的使用成本。举例来说,若第一阈值为80%,则只需要上报磁盘使用率超过80%的目录指标。
可以理解为,本申请实施例中,可以对空间使用率大于或等于第一阈值的第一存储空间信息进行格式化输出;也可以无论第一存储空间信息的使用率为多少,均对第一存储空间信息进行格式化输出。因此,本申请实施例提供的信息查询方法,可以灵活地配置用于格式化输出的存储空间信息所包括的详细信息,对输出的存储空间信息进行筛选,实现所需信息的精准输出,降低传输负载,节省网络资源。
在一些实施例中,在对第一存储空间信息进行格式化输出之前,可以从第一存储空间信息选择目标存储空间信息;格式化输出所述目标存储空间信息。举例来说,所述第一存储空间信息包括存储目录信息、Pod所挂载的主机标识和第一存储空间的使用率等信息,本申请实施例中可以选择格式化输出第一存储空间信息中的存储目录信息和Pod所挂载的主机标识,将第一存储空间信息中的存储目录信息和Pod所挂载的主机标识作为目标存储空间信息,格式化输出所述目标存储空间信息。
在一些实施例中,可以将格式化存储的实例信息列表作为输入,通过python批量调用shell的方式执行grep/awk等命令获取待监控和上报的存储空间信息,并进行格式化输出。本申请实施例中,可以灵活地配置待监控的存储空间信息。
在一些实施例中,格式化输出第一存储空间信息可以是向管理服务器上报第一存储空间信息。
在一些实施例中,所述第一存储空间信息至少包括下述中的一种或多种:存储空间目录、容器的挂载点和空间使用率。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent可以通过超文本传输协议(HyperText Transfer Protocol,http)向管理服务器上报每个容器的存储空间信息,用于管理服务器对容器的存储空间信息进行监控和管理。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent向管理服务器上报每个容器的存储空间信息的格式可以如下所示:
http://${access_server}:${access_port}/userAuthKey=test&${接口参数}=${参数值}。
其中,部署在容器母机节点上的Zabbix-Agent向管理服务器上报每个容器的存储空间信息所使用的接口参数说明如下表1所示:
表1,接口参数说明
在一些实施例中,管理服务器接收到每个容器的存储空间信息之后,可以将接收到的存储空间信息存储至时序数据库;所述时序数据库可以是influxdb。之后,可以利用可视化工具如gragana连接时序数据库,以显示容器的存储空间的使用率曲线以及不同时间长度的监控曲线。
在一些实施例中,还可以通过控制组(Control Groups,cgroups)查询容器的存储信息;也可以通过分析工具对cgroups获取的容器的存储信息进行分析,所述分析工具可以是system-cgls结构。
本申请实施例提供的信息查询方法,只需在容器母机节点上部署Zabbix-Agent,在Pod上无需部署Zabbix-Agent,通过获取Pod对应的业务容器的实例信息列表,建立Pod的实例信息与该业务容器所挂载的存储空间信息的对应关系,即将容器节点存储空间或共享存储空间中不同的文件路径与具体的Pod建立关联关系,便能够实现对所有Pod存储空间信息的监控。
其中,Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,能够监控主机上的进程存活情况,保障业务进程稳定运行,并提供可视化的数据展示。Zabbix的架构示意图,如图6所示,Zabbix-Agent部署在被监控主机上,负责收集本地数据并发往Zabbix-server端或Zabbix-proxy端;Zabbix-Web-GUI提供配置监控内容入口,并且将配置下发给到Zabbix-Agent。在对磁盘空间监控过程中,Zabbix-Agent定时将当前主机上的磁盘空间信息上报到Zabbix-server,Zabbix-server收到之后将数据存入数据库,以供Zabbix-We-GUI在前端绘制和展示。
基于Zabbix架构,本申请实施例提供的信息查询方法的基本处理流程示意图,可以如图7所示:部署在容器母机节点上的Zabbix-Agent调用docker.sock协议获取容器信息,Zabbix-Agent从Pod对应的容器中筛选出业务容器,建立业务容器与存储空间信息的对应关系(即实例信息列表),根据该对应关系获取与待查询的容器对应的第一存储空间信息,Zabbix-Agent将容器存储空间信息上报至容器管理服务器。
本申请实施例提供的信息查询方法,无需在容器节点上部署Zabbix-Agent,通过部署在容器母机节点上的Zabbix-Agent从至少一个容器中筛选出业务容器以及获取业务容器对应的实例信息列表,通过预先建立业务容器与实例信息列表中存储空间信息的对应关系,能够根据容器的标识信息获取该容器对应的存储空间信息,在节省服务器资源的同时,明确了容器与对应的存储空间信息的对应关系。
需要说明的是,本申请实施例中所涉及的信息查询装置可以通过云计算技术获取足够的计算能力和存储空间,进而执行本申请实施例所提供的信息查询方法。本申请实施例中所涉及的信息查询装置可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云存储、云通信以及大数据等基础云计算服务的云服务器;也可以是智能手机、平板电脑、笔记本电脑、台式计算机等具备计算能力的设备;当然,信息生成装置的形态并不限定于上述。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为实现本申请实施例提供的上述信息查询方法,本申请实施例还提供一种信息查询装置,图8为本申请实施例提供的信息查询装置400的结构组成示意图,所述信息查询装置400包括:
第一获取单元401,用于获取容器母机节点中的至少一个容器的容器信息;
第二获取单元402,用于基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;
确定单元403,用于基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
在一些可选实施例中,所述第二获取单元402,用于基于所述容器信息中的镜像标签,确定所述至少一个容器中的业务容器;
获取所述业务容器中的目标业务容器对应的实例信息列表。
在一些可选实施例中,所述第二获取单元402,用于在所述业务容器中确定满足预设条件的目标业务容器;
基于所述容器信息中所述目标业务容器对应的第一存储空间信息,获取所述目标业务容器对应的实例信息列表。
在一些可选实施例中,所述确定单元403,用于确定待查询的容器对应的第一容器信息;
在所述实例信息列表中匹配所述第一容器信息对应的第一实例信息;
确定所述第一实例信息所挂载的第一存储空间信息。
在一些可选实施例中,所述信息查询装置400还包括:
输出单元,用于若所述第一存储空间信息的空间使用率大于或等于第一阈值,则格式化输出所述第一存储空间信息;
或者,格式化输出所述第一存储空间信息。
在一些可选实施例中,所述输出单元,还用于从所述第一存储空间信息中选择目标存储空间信息;格式化输出所述目标存储空间信息。
在一些可选实施例中,所述输出单元,还用于向容器管理服务器上报每个容器的存储空间信息,所述存储空间信息至少包括下述中的一种或多种:
存储空间目录、容器的挂载点和空间使用率。
本申请实施例上述的信息查询装置如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
相应地,本申请实施例还提供一种计算机程序产品,其中存储有计算机可执行指令,该计算机可执行指令被执行时能够实现本申请实施例的上述信息查询方法。
相应地,本申请实施例还提供一种存储介质,所述存储介质上存储有可执行指令,该可执行指令被处理器执行本申请实施例的上述信息查询方法实现的步骤。
为实现本申请实施例提供的上述信息查询方法,本申请实施例还提供一种电子设备,图9为本申请实施例的电子设备的结构组成示意图,如图9所示,电子设备70可以包括一个或多个(图中仅示出一个)处理器702(处理器702可以包括但不限于微处理器(MCU,MicroController Unit)或可编程逻辑器件(FPGA,Field Programmable Gate Array)等的处理装置)、用于存储数据的存储器704、以及用于通信功能的传输装置706。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子设备的结构造成限定。例如,电子设备70还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
存储器704可用于存储应用软件的软件程序以及模块,如本申请实施例中的方法对应的程序指令/模块,处理器702通过运行存储在存储器704内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器704可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器704可进一步包括相对于处理器702远程设置的存储器,这些远程存储器可以通过网络连接至电子设备70。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置706用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备70的通信供应商提供的无线网络。在一个实例中,传输装置706包括一个网络适配器(NIC,Network Interface Controller),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置706可以为射频(RF,Radio Frequency)模块,其用于通过无线方式与互联网进行通讯。
本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
进一步的,基于上述的信息查询方法,本发明还提出一种容器管理系统。
容器管理系统包括:管理服务器和多个容器母机节点,所述容器母机节点包括上文所述的电子设备(也即信息查询装置),所述管理服务器包括接口服务器;
所述管理服务器,用于通过所述接口服务器接收每个容器母机节点上报的存储空间信息;
所述管理服务器,用于基于接收到的每个容器母机节点的存储空间信息,确定容器管理策略,并按照容器管理策略,调整每个容器母机节点的存储空间信息。
在本实施例中,容器管理系统,包括管理服务器和至少两种不同种类的容器母机节点,管理服务器(Master)包括控制管理器(kube-controller-manager)和接口服务器(kube-apiserver),容器管理系统内置的控制管理器输出控制指令,并通过接口服务器与每个容器母机节点进行交互。
在一些实施例中,部署在容器母机节点上的Zabbix-Agent可以基于图5所示的容器集群的网络架构确定待查询的容器所挂载的存储空间信息。本申请实施例仅需在容器母机节点(Node)上部署Zabbix-Agent,无需在Pod上部署Zabbix-Agent,所有的Pod共享Node上的资源。
在本发明的架构中,Master与多个容器母机节点进行交互,具体的,Master的控制管理器输出控制指令,并通过接口服务器管理各个Node节点,从而实现与各个Node节点的交互,其中,Node节点可以是同一种类的Node节点,也可以是不同种类的Node节点,可选包括两种Node节点。
本发明实施例中,以两种不同种类的Node节点进行阐述,所述容器管理系统中的管理服务器,基于接收到的每个容器母机节点中包括的容器的存储空间信息,确定容器管理策略,并按照容器管理策略,调整每个容器母机节点中包括的容器的存储空间信息的具体过程如下:
1)在第一种Node节点中,内置有CSI Controller,该CSI Controller的本质是POD,其主要功能是提供存储服务视角对存储资源和存储卷进行管理和操作。在这个POD有两个子容器,这两个子容器通过本地Socket(Unix Domain Socket,UDS),并结合远程调用协议进行通信。两个子容器具体为CSI-Driver存储驱动子容器和Sidecar子容器,其中,Sidecar子容器通过Socket调用CSI(Container Storage Interface)-Driver存储驱动子容器的CSI接口,以控制CSI-Driver子容器执行具体的存储卷操作,从而实现存储空间信息的调整。
即,通过上述过程,管理服务器在接收到每个容器母机节点的存储空间信息,确定容器管理策略,若当前的管理策略是对第一种Node节点执行存储卷,则本发明中Master的控制管理器输出存储请求,通过其自身的接口服务器向第一种Node节点发送存储请求,该Node节点上位于CSI Controller容器内部的Sidecar子容器基于接收到的存储请求,通过Socket调用CSI-Driver存储驱动子容器的CSI接口,控制CSI-Driver子容器执行存储卷的操作,从而实现存储空间信息的调整。
此外,第一种Node节点中的Sidecar子容器内又包含external-attacher和external-provisioner两个组件;其中,external-attacher组件,用于监控VolumeAttachment资源对象的变更,触发针对第一种Node节点的挂载存储资源和卸载存储资源操作。external-provisioner组件,用于监控PersistentVolumeClaim资源对象的变更,触发针对第一种Node节点的创建Volume卷和删除Volume卷操作,从而实现存储空间信息的调整。
即,通过上述过程,管理服务器若确定当前的管理策略是对第一种Node节点执行存储资源处理或Volume卷处理,则本发明中Master的控制管理器输出存储资源处理请求或Volume卷处理请求,通过其自身的接口服务器向第一种Node节点发送存储资源处理请求或Volume卷处理请求,该Node节点上位于CSI Controller容器内部的Sidecar子容器若接收到存储资源处理请求,则通过external-attacher组件监控VolumeAttachment资源对象的变更,触发针对第一种Node节点的挂载存储资源和卸载存储资源操作;或若接收到Volume卷处理请求,则通过external-provisioner组件监控PersistentVolumeClaim资源对象的变更,触发针对第一种Node节点的创建Volume卷操作和删除Volume卷操作,从而实现存储空间信息的调整。
2)第二种Node节点是CSI Node,CSI Node本质也是Pod。CSI Node节点的主要功能是对容器母机节点上的Volume卷进行管理和操作,在每个CSI Node上运行一个Pod,在这个Pod中部署两个子容器:
与Master上的控制管理器kube-controller-manager通信的辅助sidecar子容器和CSI Driver存储驱动子容器,具体的,控制管理器通过其接口服务器与第二种Node节点的sidecar子容器和CSI-Driver存储驱动子容器通过kubelet进行交互,该sidecar子容器包含节点驱动注册(node-driver-registrar)组件,node-driver-registrar组件的主要功能是将存储驱动注册到kubelet中。此外,node-driver-registrar组件与kubelet通过容器母机节点的另一个hostPath目录下的unix socket进行通信,从而实现存储空间信息的调整。
即,通过上述过程,管理服务器若确定当前的管理策略是对第二种Node节点执行注册操作或主机路径目录访问操作,则本申请中Master的控制管理器通过其自身接口服务器向第二种Node节点CSI Node节点发送注册请求或主机路径目录访问请求,该CSI Node上位于CSI Controller容器内部的sidecar子容器若接收到注册请求,则基于其节点驱动注册组件存储驱动注册到kubelet中;若接收到主机路径目录访问请求,则node-driver-registrar组件与另一个hostPath目录下的unix socket进行通信,从而实现存储空间信息的调整。
此外,CSI-Driver存储驱动子容器的功能是接受kubelet的调用,实现一系列与Node相关的CSI接口,包括NodePublishVolume接口(用于将Volume挂载到容器内的目标路径)、NodeUnpublishVolume接口(用于将容器中卸载Volume)等。此外,CSI Driver子容器与kubelet通过容器母机节点的另一个hostPath目录下的unix socket进行通信,同时需要将kubelet的工作目录(如默认是/var/lib/kubelet)挂载至CSI-Driver子容器,用于为Pod进行Volume的管理操作,从而实现存储空间信息的调整。
即,通过上述过程,管理服务器若确定当前的管理策略是对第二种Node节点执行挂载操作或主机路径目录访问操作,第二种Node节点CSI Node的CSI-Driver存储驱动容器,接收Master的控制管理器通过其自身接口服务器发送的接口调用请求,在接收到接口调用请求,确定接口调用请求的类型,若该类型为挂载请求,则将Volume挂载到容器内的目标路径中;若该接口调用请求的类型为主机路径目录访问请求,则CSI-Driver子容器与kubelet通过容器母机节点的另一个hostPath目录下的unix socket进行通信,同时需要将kubelet的工作目录(如默认是/var/lib/kubelet)挂载至CSI-Driver容器,用于为Pod执行Volume的管理操作,从而实现存储空间信息的调整。
应理解,传统方式下,每个容器母机节点相互独立,资源相互不影响,但是在集群环境下,会导致每个容器母机节点的资源利用不均衡。为了解决上述问题,本发明实施例中,管理服务器通过与上述两种不同类型的容器母机节点进行交互,实现了对各种类型的节点的资源管控,由该管理服务器,实现了对各种不同种类的容器母机节点的资源快速、统一管控,在计算机集群的环境下,每个节点都能根据实际的情况,实现存储空间信息的调整,做到调度释放或使用自身的资源,实现了计算机集群下的资源动态调度、提高了集群资源环境利用的准确性。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种信息查询方法,其特征在于,所述方法包括:
获取容器母机节点中的至少一个容器的容器信息;
基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;
基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
2.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表,包括:
基于所述容器信息中的镜像标签,确定所述至少一个容器中的业务容器;
获取所述业务容器中的目标业务容器对应的实例信息列表。
3.根据权利要求2所述的方法,其特征在于,所述获取所述业务容器中的目标业务容器对应的实例信息列表,包括:
在所述业务容器中确定满足预设条件的目标业务容器;
基于所述容器信息中所述目标业务容器对应的第一存储空间信息,获取所述目标业务容器对应的实例信息列表。
4.根据权利要求1所述的方法,其特征在于,所述基于所述实例信息列表确定待查询的容器所挂载的存储空间信息,包括:
确定待查询的容器对应的第一容器信息;
在所述实例信息列表中匹配所述第一容器信息对应的第一实例信息;
确定所述第一实例信息所挂载的第一存储空间信息。
5.根据权利要求4所述的方法,其特征在于,所述确定所述第一实例信息所挂载的第一存储空间信息之后,所述方法还包括:
若所述第一存储空间信息的空间使用率大于或等于第一阈值,则格式化输出所述第一存储空间信息;
或者,格式化输出所述第一存储空间信息。
6.根据权利要求5所述的方法,其特征在于,所述格式化输出所述第一存储空间信息之前,所述方法还包括:
从所述第一存储空间信息中选择目标存储空间信息;
格式化输出所述目标存储空间信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述基于所述实例信息列表确定待查询的容器所挂载的存储空间信息之后,所述方法还包括:
向容器管理服务器上报每个容器的存储空间信息,所述存储空间信息至少包括下述中的一种或多种:
存储空间目录、容器的挂载点和空间使用率。
8.一种信息查询装置,其特征在于,所述装置包括:
第一获取单元,用于获取容器母机节点中的至少一个容器的容器信息;
第二获取单元,用于基于所述至少一个容器的容器信息获取业务容器对应的实例信息列表;
确定单元,用于基于所述实例信息列表确定待查询的容器所挂载的存储空间信息。
9.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时可实现权利要求1至7任一项所述的方法步骤。
10.一种容器管理系统,其特征在于,包括:管理服务器和多个容器母机节点,所述容器母机节点包括权9所述的电子设备,所述管理服务器包括接口服务器;
所述容器管理系统,用于通过所述接口服务器接收每个容器母机节点上报的存储空间信息;
所述容器管理系统,用于基于接收到的每个容器母机节点的存储空间信息,确定容器管理策略,并按照容器管理策略,调整每个容器母机节点的存储空间信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110378280.XA CN113312174A (zh) | 2021-04-08 | 2021-04-08 | 一种信息查询方法、装置、电子设备及容器管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110378280.XA CN113312174A (zh) | 2021-04-08 | 2021-04-08 | 一种信息查询方法、装置、电子设备及容器管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113312174A true CN113312174A (zh) | 2021-08-27 |
Family
ID=77371980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110378280.XA Pending CN113312174A (zh) | 2021-04-08 | 2021-04-08 | 一种信息查询方法、装置、电子设备及容器管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312174A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185300A1 (zh) * | 2022-04-01 | 2023-10-05 | 华为技术有限公司 | 容器存储管理方法及装置 |
-
2021
- 2021-04-08 CN CN202110378280.XA patent/CN113312174A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185300A1 (zh) * | 2022-04-01 | 2023-10-05 | 华为技术有限公司 | 容器存储管理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11374826B2 (en) | Systems and methods for enhanced monitoring of a distributed computing system | |
CN109245931B (zh) | 基于kubernetes的容器云平台的日志管理和监控报警的实现方法 | |
CN101605056B (zh) | 一种j2ee服务器监控装置及采用该装置的监控方法 | |
CN108512719B (zh) | 一种基于开源云平台的一体化资源监控系统 | |
US5958009A (en) | System and method for efficiently monitoring quality of service in a distributed processing environment | |
US10984013B1 (en) | Tokenized event collector | |
WO2016045403A1 (zh) | 运行环境的配置方法及装置、系统 | |
US11829381B2 (en) | Data source metric visualizations | |
US10944655B2 (en) | Data verification based upgrades in time series system | |
CN102156729A (zh) | 监控多个数据库服务器的系统和方法 | |
WO2023246347A1 (zh) | 数字孪生处理方法及数字孪生系统 | |
CN107992392A (zh) | 一种用于云渲染系统的自动监控修复系统和方法 | |
CA2807759C (en) | Application monitoring | |
CN108540341A (zh) | 资源监控方法及装置 | |
CN114328124A (zh) | 用于业务监控的方法以及装置、存储介质、电子装置 | |
CN113312174A (zh) | 一种信息查询方法、装置、电子设备及容器管理系统 | |
US9384466B2 (en) | Systems and methods for extending any service to existing systems by using an adaptive common interface | |
CN113824801B (zh) | 一种智能融合终端统一接入管理组件系统 | |
CN116170275A (zh) | 一种云网络运维管理方法和装置 | |
CN112685486B (zh) | 数据库集群的数据管理方法、装置、电子设备及存储介质 | |
CN107347024A (zh) | 一种存储操作日志的方法和装置 | |
CN113515425A (zh) | 数据动态上报的方法和装置 | |
CN111813621A (zh) | 基于Flume数据中台的数据处理方法、装置、设备及介质 | |
US20230409568A1 (en) | Monitoring metadata synchronization and aggregation | |
CN112615912B (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 |