资源状态监控方法、装置及电子设备制造方法及图纸

技术编号:27310264 阅读:32 留言:0更新日期:2021-02-10 09:32
本申请公开了一种资源状态监控方法,应用于Kubernetes集群的资源状态监控服务器,包括:接收应用程序发送的、对所述Kubernetes集群中的资源对象的状态进行监控的数据请求,其中,所述数据请求中包括所述应用程序对所述资源对象的期望状态;响应于所述数据请求,对所述资源对象的状态进行监控;在所述资源对象的状态变更为所述期望状态的情况下,向所述应用程序发送所述资源对象的状态已变更为所述期望状态的通知消息。该方法可以向应用程序提供可靠的资源状态,并且还可以降低集群的运行压力,提升集群性能。提升集群性能。提升集群性能。

【技术实现步骤摘要】
资源状态监控方法、装置及电子设备


[0001]本公开涉及云计算
,更具体地,涉及一种资源状态监控方法、装置、设备及介质。

技术介绍

[0002]Kubernetes,简称K8S,是一种基于容器的集群管理平台,Kubernetes集群一般包括主节点(Master),以及分别与主节点通信连接的多个计算节点(Node),其中,主节点一般用于管理和控制多个计算节点,计算节点作为工作负载节点,其包含直接部署在节点中的原应用程序和多个容器组(Pod),每个容器组中封装有一个或多个用于承载应用程序的容器(Container),Pod是Kubernetes的基本操作单元,是最小的可创建、调试和管理的部署单元。
[0003]目前,在应用程序需要获取Kubernetes集群中资源的状态时,一般是通过集群的接口服务器,即apiserver获取该资源的状态;同时,集群内部的各节点中的资源对象之间也需要通过接口服务器进行通信,因此,在Kubernetes集群中,接口服务器通常面临巨大的运行压力,其中,apiserver为Kubernetes集群的一个系统组件,其提供了Kubernetes集群中各类资源对象的增加、删除、修改、查询以及监控服务的http rest接口,是Kubernetes集群的数据总线和数据中心。
[0004]然而,目前在应用程序需要获取Kubernetes集群中资源的某一特定状态时,通常是采用轮询接口服务器的方法来获取该特定状态,这样通常会对接口服务器带来极大负担,可能导致接口服务器对集群中的其它对象的数据请求的响应延迟,进而间接影响集群性能。

技术实现思路

[0005]本公开实施例的一个目的是提供一种用于资源状态监控的新技术方案。
[0006]根据本公开的第一方面,提供了一种资源状态监控方法,应用于Kubernetes集群的资源状态监控服务器,该方法包括:
[0007]接收应用程序发送的、对所述Kubernetes集群中的资源对象的状态进行监控的数据请求,其中,所述数据请求中包括所述应用程序对所述资源对象的期望状态;
[0008]响应于所述数据请求,对所述资源对象的状态进行监控;
[0009]在所述资源对象的状态变更为所述期望状态的情况下,向所述应用程序发送所述资源对象的状态已变更为所述期望状态的通知消息。
[0010]可选地,所述响应于所述数据请求,对所述资源对象的状态进行监控,包括:
[0011]响应于所述数据请求,生成记录所述资源对象的状态变化的状态对象,其中,所述状态对象包括所述资源对象的标识信息、所述资源对象的实时状态;
[0012]根据所述状态对象,对所述资源对象的状态进行监控。
[0013]可选地,所述根据所述状态对象,对所述资源对象的状态进行监控,包括:
[0014]获取与所述资源对象对应的超时时长;
[0015]在所述超时时长内,根据所述状态对象,对所述资源对象的状态进行监控。
[0016]可选地,所述在所述超时时长内,根据所述状态对象,对所述资源对象的状态进行监控,包括:
[0017]若在所述超时时长内,所述状态对象中的所述实时状态被更新为所述期望状态,则结束对所述资源对象的状态的监控。
[0018]可选地,所述方法通过以下步骤更新所述状态对象中的所述实时状态:
[0019]向所述Kubernetes集群的接口服务器发送监听所述资源对象的状态的数据请求;
[0020]根据所述接口服务器提供的、针对所述资源对象的状态数据,更新所述状态对象中的所述实时状态。
[0021]可选地,在所述结束对所述资源对象的状态的监控步骤之后,所述方法还包括:
[0022]存储所述资源对象的实时状态至本地缓存区中。
[0023]可选地,所述Kubernetes集群包括多个资源状态监控服务器;
[0024]所述方法还包括:
[0025]所述多个资源状态监控服务器同时对所述资源对象的状态进行监控,并在所述资源对象的状态变更为所述期望状态的情况下,由所述多个资源状态监控服务器中的主资源状态监控服务器向所述目标对象发送所述资源对象的状态已变更为所述期望状态的通知消息。
[0026]可选地,所述主资源状态监控服务器由所述多个资源状态监控服务器基于共识算法确定。
[0027]根据本公开的第二方面,提供一种资源状态监控装置,应用于Kubernetes集群的资源状态监控服务器,包括:
[0028]数据请求接收模块,用于接收应用程序发送的、对所述Kubernetes集群中的资源对象的状态进行监控的数据请求,其中,所述数据请求中包括所述应用程序对所述资源对象的期望状态;
[0029]监控模块,用于响应于所述数据请求,对所述资源对象的状态进行监控;
[0030]通知模块,用于在所述资源对象的状态变更为所述期望状态的情况下,向所述应用程序发送所述资源对象的状态已变更为所述期望状态的通知消息。
[0031]根据本公开的第三方面,还提供了一种电子设备,包括第二方面所述的装置;或者,
[0032]所述电子设备包括:
[0033]存储器,用于存储可执行的指令;
[0034]处理器,用于根据所述指令的控制运行所述电子设备执行如第一方面任意一项所述的方法。
[0035]根据本公开的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可被计算机读取执行的计算机程序,所述计算机程序用于在被所述计算机读取运行时,执行如第一方面任意一项所述的方法。
[0036]根据本公开的实施例,在应用程序需要获取Kubernetes集群中的资源对象的某个期望状态时,只需要向Kubernetes集群的资源状态监控服务器发送对该资源对象的状态进
行监控的数据请求;之后,由该服务器响应于该数据请求,对该资源对象的状态进行监控,并在该资源对象的状态变更为该应用程序期望获得的期望状态时,向该应用程序发送对应的通知消息,该应用程序即可方便的获得该资源对象的状态。该方法可以不对Kubernetes集群的接口服务器进行轮询,而是由资源状态监控服务器响应应用程序的数据请求,对资源对象的状态进行监控,不仅可以向应用程序提供可靠的资源状态,而且还可以降低集群的运行压力,提升集群性能。
[0037]通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
[0038]被结合在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且连同其说明一起用于解释本公开的原理。
[0039]图1是根据一个实施例的资源状态监控方法的流程示意图。
[0040]图2是根据一个实施例的资源状态监控方法的处理示意图。
[0041]图3是根据一个实施例的资源状态监控处理的第一结构示意图。
[0042]图4是根据一个实施例的资源状态监控处理的第二结构示意图。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源状态监控方法,其特征在于,应用于Kubernetes集群的资源状态监控服务器,包括:接收应用程序发送的、对所述Kubernetes集群中的资源对象的状态进行监控的数据请求,其中,所述数据请求中包括所述应用程序对所述资源对象的期望状态;响应于所述数据请求,对所述资源对象的状态进行监控;在所述资源对象的状态变更为所述期望状态的情况下,向所述应用程序发送所述资源对象的状态已变更为所述期望状态的通知消息。2.根据权利要求1所述的方法,其特征在于,所述响应于所述数据请求,对所述资源对象的状态进行监控,包括:响应于所述数据请求,生成记录所述资源对象的状态变化的状态对象,其中,所述状态对象包括所述资源对象的标识信息、所述资源对象的实时状态;根据所述状态对象,对所述资源对象的状态进行监控。3.根据权利要求2所述的方法,其特征在于,所述根据所述状态对象,对所述资源对象的状态进行监控,包括:获取与所述资源对象对应的超时时长;在所述超时时长内,根据所述状态对象,对所述资源对象的状态进行监控。4.根据权利要求3所述的方法,其特征在于,所述在所述超时时长内,根据所述状态对象,对所述资源对象的状态进行监控,包括:若在所述超时时长内,所述状态对象中的所述实时状态被更新为所述期望状态,则结束对所述资源对象的状态的监控。5.根据权利要求4所述的方法,其特征在于,所述方法通过以下步骤更新所述状态对象中的所述实时状态:向所述Kubernetes集群的接口服务器发送监听所述资源对象的状态的数据请求;根据所述接口服务器提供的、针对所述资源对象的状态数据,更新所述状态对象中的所述实时状态。6.根据权利要求4所述的方法,其特征在于,在所述结...

【专利技术属性】
技术研发人员:马浩原杨帆
申请(专利权)人:北京金山云网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1