CN111858257A - 一种实现获取容器集群资源使用数据的系统及方法 - Google Patents

一种实现获取容器集群资源使用数据的系统及方法 Download PDF

Info

Publication number
CN111858257A
CN111858257A CN202010736436.2A CN202010736436A CN111858257A CN 111858257 A CN111858257 A CN 111858257A CN 202010736436 A CN202010736436 A CN 202010736436A CN 111858257 A CN111858257 A CN 111858257A
Authority
CN
China
Prior art keywords
container
server
monitoring index
data
index data
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
Application number
CN202010736436.2A
Other languages
English (en)
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202010736436.2A priority Critical patent/CN111858257A/zh
Publication of CN111858257A publication Critical patent/CN111858257A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种实现获取容器集群资源使用数据的系统及方法,属于容器集群资源管理技术领域,包括容器集群管理工具,完成监控节点和监控容器组的功能;容器集群Api服务器,完成API服务器、API聚合服务器、API组的初始化;监控指标服务器,包括节点指标和容器组指标的注册、存储、查询、获取功能,支持定时调用容器管理服务器获取监控指标数据,支持通过容器组API服务器查询到监控指标数据的功能;容器管理服务器,支持注册指标处理程序、获取节点和容器组的CPU/内存指标数据的功能。使用本发明方法应用于浪潮云,提升了容器自动伸缩能力,满足了业务应用在大并发和小并发情况下正常使用的场景,提升了业务应用的高可用。

Description

一种实现获取容器集群资源使用数据的系统及方法
技术领域
本发明涉及容器集群资源管理技术领域,具体地说是一种实现获取容器集群资源使用数据的系统及方法。
背景技术
容器技术是比较流行的提供微服务的PaaS(注:PaaS:平台即服务)技术,而Kubernetes(容器编排管理组件)是近期最流行的容器编排管理技术,基于 Kubernetes提供容器云平台是各大云厂商的首选,容器云平台需要支持容器伸缩功能,保证业务在大并发场景下可以自动增加容器个数或容器的计算资源,提升业务处理能力;在业务并发减少时,自动减少容器个数或容器计算资源,防止资源的浪费。容器的自动伸缩是容器云平台必须满足的能力,能够有效保证业务的正常使用,可以支持类似于双十一的业务压力,也能保证平时的业务诉求。
要想支持容器的自动伸缩,需要实时获取容器集群节点和容器的资源使用数据,通过资源实际使用数据与容器伸缩阈值进行比较,若达到阈值,则触发容器伸缩动作,但是如何获取容器集群资源使用数据是一个问题。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种实现获取容器集群资源使用数据的方法,通过把这个方法应用于浪潮云,提升了容器自动伸缩能力,满足了业务应用在大并发和小并发下自动伸缩的场景,提升了业务应用的高可用。
本发明解决其技术问题所采用的技术方案是:
Kubernetes是一个全新的基于容器技术的分布式架构领先方案,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列功能,提高了大规模容器集群管理的便捷性和高可用性。
本发明阐述了一种实现获取容器集群资源使用数据的系统及方法,基于这个方法,可以实时获取容器集群的节点和容器的CPU、内存、网络等使用数据,结合容器伸缩阈值,自动触发容器的伸缩动作,满足业务大并发和小并发的场景,保证业务的高可用。
1、本发明提供一种实现获取容器集群资源使用数据的系统,包括:
容器集群管理工具,完成监控节点和监控容器组的功能;
容器集群Api服务器,完成API服务器、API聚合服务器、API组的初始化;
监控指标服务器,包括节点指标和容器组指标的注册、存储、查询、获取等功能,支持定时调用容器管理服务器获取监控指标数据,支持通过容器组API 服务器查询到监控指标数据的功能;
容器管理服务器,支持注册指标处理程序、获取节点和容器组的CPU/内存等指标数据的功能。
方案优选地,所述容器集群管理工具为Kubectl,通过Top命令显示节点和容器组的CPU和内存使用数据,有TopNode和TopPod两个方法;
其中top:查看资源使用数据的命令;
其中TopNode:查看节点资源;
其中TopPod:查看容器组资源。
方案优选地,所述容器集群Api服务器为Kube-ApiServer,Apiserver创建KubeApiServer和AggregatorServer,提供安装ApiGroup的方法。
方案优选地,所述监控指标服务器为Metrics-Server,具体如下:
a)Metrics-Server完成Kubernetes集群的节点和容器组资源的监控指标数据采集和查询功能;
b)Metrics-Server调用Apiserver的安装ApiGroup的方法,提供 NodeMetrics和PodMetrics资源的注册,支持通过ApiServer调用到 NodeMetricsStorage和PodMetricsStorage的查询方法;
c)etrics-Server通过SummaryProvider对象定时通过GetSummary方法调用Kubelet,获取节点和容器组监控指标数据,并通过SinkProvider存放到内存中,供NodeMetricsStorage和PodMetricsStorage使用。
方案优选地,所述容器管理服务器为Kubelet,Kubelet通过 CreateHandlers注册SummaryProvider对象,并通过10250端口监听这个服务,当Metrics-Server调用Kubelet时,通过GetCPUAndMemoryStats方法调用 CadvisorStatsProvider和ImageFsInfoProvider,这两个对象调用Cadvisor 完成CPU和内存监控指标数据的采集。
方案优选地,定义Kubernetes的监控指标数据为Metrics,包括指标客户端对象、节点指标、节点指标集合、容器组指标、容器组指标集合、容器指标;
Metrics被容器集群管理工具、容器集群Api服务器、监控指标服务器、容器管理服务器使用。
2、本发明另提供一种实现获取容器集群资源使用数据的方法,该方法基于上述的系统,定时调用容器管理服务器获取监控指标数据,支持通过容器组 API服务器查询到监控指标数据。
方案优选地,工作流程为:
a)通过kubectl top命令调用ApiServer,获取节点和容器组的监控指标数据;
b)ApiServer收到请求后,调用Metrics-Server,获取节点和容器组的监控指标数据;
c)Metrics-Server定时调用Kubelet获取每个节点的CPU、内存、容器等监控指标数据,获取数据后放到内存中,刷新周期为30秒;
d)Kubelet收到Metrics-Server的请求后,通过Cadvisor获取CPU、内存、容器等监控指标数据。
本发明的一种实现获取容器集群资源使用数据的系统级方法,与现有技术相比所产生的有益效果是:
通过使用本发明,可以实现获取容器集群资源使用数据的方法,通过把这个方法应用于浪潮云,提升了容器自动伸缩能力,满足了业务应用在大并发和小并发情况下正常使用的场景,提升了业务应用的高可用。
附图说明
为了更清楚地描述本发明一种实现获取容器集群资源使用数据的系统及方法的工作原理,下面将附上简图作进一步说明。
附图1是本发明实现获取容器集群资源使用数据的系统的功能架构图;
附图2是本发明实现获取容器集群资源使用数据的系统的系统架构图;
附图3是本发明实现获取容器集群资源使用数据的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如附图1、2所示,本发明的一种实现获取容器集群资源使用数据的系统,包括:
容器集群管理工具,完成监控节点和监控容器组的功能;
容器集群Api服务器,完成API服务器、API聚合服务器、API组的初始化;
监控指标服务器,包括节点指标和容器组指标的注册、存储、查询、获取等功能,支持定时调用容器管理服务器获取监控指标数据,支持通过容器组API 服务器查询到监控指标数据的功能;
容器管理服务器,支持注册指标处理程序、获取节点和容器组的CPU/内存等指标数据的功能。
上述容器集群管理工具为Kubectl,通过Top命令显示节点和容器组的CPU 和内存使用数据,有TopNode和TopPod两个方法。
上述容器集群Api服务器为Kube-ApiServer,Apiserver创建 KubeApiServer和AggregatorServer,提供安装ApiGroup的方法。
上述监控指标服务器为Metrics-Server,具体如下:
a)Metrics-Server完成Kubernetes集群的节点和容器组资源的监控指标数据采集和查询功能;
b)Metrics-Server调用Apiserver的安装ApiGroup的方法,提供 NodeMetrics和PodMetrics资源的注册,支持通过ApiServer调用到 NodeMetricsStorage和PodMetricsStorage的查询方法;
c)etrics-Server通过SummaryProvider对象定时通过GetSummary方法调用Kubelet,获取节点和容器组监控指标数据,并通过SinkProvider存放到内存中,供NodeMetricsStorage和PodMetricsStorage使用。
上述容器管理服务器为Kubelet,Kubelet通过CreateHandlers注册SummaryProvider对象,并通过10250端口监听这个服务,当Metrics-Server 调用Kubelet时,通过GetCPUAndMemoryStats方法调用 CadvisorStatsProvider和ImageFsInfoProvider,这两个对象调用Cadvisor 完成CPU和内存监控指标数据的采集。
上述定义Kubernetes的监控指标数据为Metrics,包括指标客户端对象、节点指标、节点指标集合、容器组指标、容器组指标集合、容器指标;
Metrics被容器集群管理工具、容器集群Api服务器、监控指标服务器、容器管理服务器使用。
注:
kubectl:容器集群管理工具
top:查看资源使用数据的命令
TopNode:查看节点资源
TopPod:查看容器组资源
Metrics:监控指标
Kube-ApiServer:容器集群API服务器
KubeApiServer:容器集群API服务
AggregatorServer:聚合API服务
ApiGroup:API组
Metrics-Server:监控指标服务器
NodeMetrics:节点监控指标
PodMetrics:容器组监控指标
NodeMetricsStorage:节点监控指标存储
PodMetricsStorage:容器组监控指标存储
SummaryProvider:获取监控指标数据提供器
SinkProvider:存储监控指标数据提供器
Kubelet:容器管理器
CreateHandlers:创建服务处理器
CadvisorStatsProvider:监控指标统计提供器
ImageFsInfoProvider:镜像文件信息指标统计提供器
Cadvisor:监控指标采集器
实施例二
结合附图3,实施例二提供一种实现获取容器集群资源使用数据的方法,该方法基于实施例一的系统,定时调用容器管理服务器获取监控指标数据,支持通过容器组API服务器查询到监控指标数据。
工作流程为:
a)通过kubectl top命令调用ApiServer,获取节点和容器组的监控指标数据;
b)ApiServer收到请求后,调用Metrics-Server,获取节点和容器组的监控指标数据;
c)Metrics-Server定时调用Kubelet获取每个节点的CPU、内存、容器等监控指标数据,获取数据后放到内存中,刷新周期为30秒;
d)Kubelet收到Metrics-Server的请求后,通过Cadvisor获取CPU、内存、容器等监控指标数据。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (8)

1.一种实现获取容器集群资源使用数据的系统,其特征在于,包括:
容器集群管理工具,完成监控节点和监控容器组的功能;
容器集群Api服务器,完成API服务器、API聚合服务器、API组的初始化;
监控指标服务器,包括节点指标和容器组指标的注册、存储、查询、获取功能,支持定时调用容器管理服务器获取监控指标数据,支持通过容器组API服务器查询到监控指标数据的功能;
容器管理服务器,支持注册指标处理程序、获取节点和容器组的CPU/内存指标数据的功能。
2.根据权利要求1所述的一种实现获取容器集群资源使用数据的系统,其特征在于,所述容器集群管理工具为Kubectl,通过Top命令显示节点和容器组的CPU和内存使用数据,有TopNode和TopPod两个方法;
其中top:查看资源使用数据的命令;
其中TopNode:查看节点资源;
其中TopPod:查看容器组资源。
3.根据权利要求1或2所述的一种实现获取容器集群资源使用数据的系统,其特征在于,所述容器集群Api服务器为Kube-ApiServer,Apiserver创建KubeApiServer和AggregatorServer,提供安装ApiGroup的方法。
4.根据权利要求1或2所述的一种实现获取容器集群资源使用数据的系统,其特征在于,所述监控指标服务器为Metrics-Server,具体如下:
a)Metrics-Server完成Kubernetes集群的节点和容器组资源的监控指标数据采集和查询功能;
b)Metrics-Server调用Apiserver的安装ApiGroup的方法,提供NodeMetrics和PodMetrics资源的注册,支持通过ApiServer调用到NodeMetricsStorage和PodMetricsStorage的查询方法;
c)etrics-Server通过SummaryProvider对象定时通过GetSummary方法调用Kubelet,获取节点和容器组监控指标数据,并通过SinkProvider存放到内存中,供NodeMetricsStorage和PodMetricsStorage使用。
5.根据权利要求1所述的一种实现获取容器集群资源使用数据的系统,其特征在于,所述容器管理服务器为Kubelet,Kubelet通过CreateHandlers注册SummaryProvider对象,并通过10250端口监听这个服务,当Metrics-Server调用Kubelet时,通过GetCPUAndMemoryStats方法调用CadvisorStatsProvider和ImageFsInfoProvider,这两个对象调用Cadvisor完成CPU和内存监控指标数据的采集。
6.根据权利要求1所述的一种实现获取容器集群资源使用数据的系统,其特征在于,定义Kubernetes的监控指标数据为Metrics,包括指标客户端对象、节点指标、节点指标集合、容器组指标、容器组指标集合、容器指标;
Metrics被容器集群管理工具、容器集群Api服务器、监控指标服务器、容器管理服务器使用。
7.一种实现获取容器集群资源使用数据的方法,其特征在于,该方法基于权利要求1所述的系统,定时调用容器管理服务器获取监控指标数据,支持通过容器组API服务器查询到监控指标数据。
8.根据权利要求7所述的一种实现获取容器集群资源使用数据的方法,其特征在于,工作流程为:
a)通过kubectl top命令调用ApiServer,获取节点和容器组的监控指标数据;
b)ApiServer收到请求后,调用Metrics-Server,获取节点和容器组的监控指标数据;
c)Metrics-Server定时调用Kubelet获取每个节点的CPU、内存、容器监控指标数据,获取数据后放到内存中,刷新周期为30秒;
d)Kubelet收到Metrics-Server的请求后,通过Cadvisor获取CPU、内存、容器监控指标数据。
CN202010736436.2A 2020-07-28 2020-07-28 一种实现获取容器集群资源使用数据的系统及方法 Pending CN111858257A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010736436.2A CN111858257A (zh) 2020-07-28 2020-07-28 一种实现获取容器集群资源使用数据的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010736436.2A CN111858257A (zh) 2020-07-28 2020-07-28 一种实现获取容器集群资源使用数据的系统及方法

Publications (1)

Publication Number Publication Date
CN111858257A true CN111858257A (zh) 2020-10-30

Family

ID=72948688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010736436.2A Pending CN111858257A (zh) 2020-07-28 2020-07-28 一种实现获取容器集群资源使用数据的系统及方法

Country Status (1)

Country Link
CN (1) CN111858257A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711517A (zh) * 2020-12-28 2021-04-27 珠海格力电器股份有限公司 一种服务器性能监控方法、装置、存储介质及终端
CN112732532A (zh) * 2021-01-15 2021-04-30 上海浪潮云计算服务有限公司 一种管理集群组件及集中管理容器服务控制组件的方法
CN113254209A (zh) * 2021-05-28 2021-08-13 北京奇艺世纪科技有限公司 一种容量管理方法、装置、电子设备及可读存储介质
CN113806097A (zh) * 2021-09-29 2021-12-17 杭州网易云音乐科技有限公司 一种数据处理方法、装置、电子设备以及存储介质
CN114048021A (zh) * 2021-09-30 2022-02-15 河北嘉朗科技有限公司 物联网多层多规则混合算力自动分配技术
CN114153518A (zh) * 2021-10-25 2022-03-08 国网江苏省电力有限公司信息通信分公司 一种云原生MySQL集群自主扩容缩容的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711517A (zh) * 2020-12-28 2021-04-27 珠海格力电器股份有限公司 一种服务器性能监控方法、装置、存储介质及终端
CN112732532A (zh) * 2021-01-15 2021-04-30 上海浪潮云计算服务有限公司 一种管理集群组件及集中管理容器服务控制组件的方法
CN113254209A (zh) * 2021-05-28 2021-08-13 北京奇艺世纪科技有限公司 一种容量管理方法、装置、电子设备及可读存储介质
CN113254209B (zh) * 2021-05-28 2023-08-29 北京奇艺世纪科技有限公司 一种容量管理方法、装置、电子设备及可读存储介质
CN113806097A (zh) * 2021-09-29 2021-12-17 杭州网易云音乐科技有限公司 一种数据处理方法、装置、电子设备以及存储介质
CN114048021A (zh) * 2021-09-30 2022-02-15 河北嘉朗科技有限公司 物联网多层多规则混合算力自动分配技术
CN114153518A (zh) * 2021-10-25 2022-03-08 国网江苏省电力有限公司信息通信分公司 一种云原生MySQL集群自主扩容缩容的方法

Similar Documents

Publication Publication Date Title
CN111858257A (zh) 一种实现获取容器集群资源使用数据的系统及方法
US11146502B2 (en) Method and apparatus for allocating resource
CN110308983B (zh) 资源负载均衡方法及系统、服务节点和客户端
CN108920153B (zh) 一种基于负载预测的Docker容器动态调度方法
CN104486445A (zh) 一种基于云平台的分布式可扩展资源监控系统及方法
CN104243537A (zh) 一种云计算环境下的自动伸缩方法和系统
CN103440290A (zh) 大数据加载系统和方法
CN101799797A (zh) 分布式存储系统中用户磁盘配额的动态分配方法
CN110647392A (zh) 一种基于容器集群的智能弹性伸缩方法
CN103067486B (zh) 基于PaaS平台的大数据处理方法
CN105430030A (zh) 基于osgi技术的可平行扩展的应用服务器
CN109062697A (zh) 一种提供空间分析服务的方法和装置
CN112925607A (zh) 一种系统扩缩容方法及装置、电子设备
CN114598586A (zh) 一种多云场景算力网格化方法及系统
CN107943423A (zh) 云系统中存储资源的管理方法和计算机可读存储介质
CN113037851B (zh) 一种基于存储实现的针对云手机系统超分的方法
CN213876703U (zh) 一种资源池管理系统
CN110232136A (zh) 一种基于云计算的大数据处理系统
CN116136792A (zh) 一种数据库的计算资源扩缩方法、装置、设备及存储介质
US10785102B2 (en) Modifying distributed application based on cloud diagnostic data
CN109150599A (zh) 一种基于云架构的运维监控系统
CN109286532B (zh) 云计算系统中告警信息的管理方法和装置
CN111367660A (zh) 一种集团共享资源的共享方法和系统
US10893015B2 (en) Priority topic messaging
CN114745275A (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