一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容器云平台巡检方法及装置与流程

2022-07-16 17:45:21 来源:中国专利 TAG:


1.本发明涉及云计算和容器领域,具体而言,涉及一种容器云平台巡检方法及装置。


背景技术:

2.随着云计算技术的不断演变以及容器化的不断发展,以应用容器引擎docker为代表的容器技术作为基础保障,以容器集群管理系统(kubernetes)为代表的容器编排技术作为支撑,成为建设容器云平台最流行的解决方案。当我们使用kubernetes进行容器化管理时,需要使用监控工具(例如prometheus)对kubernetes做有效的监控,通过监控实时掌握系统运行状态;还需要使用自动化巡检工具对容器云平台整体进行检查,自动化巡检更多的是针对整个系统的全面分析,根据历史的各种监控数据来分析当前系统环境是否可靠,存在哪些隐患;自动化巡检还能针对监控系统无法做到的地方进行检查,帮助用户掌握服务的健康状况,及时发现异常,从而采取针对性的有效措施,自动化巡检是平台运维建设体系中非常重要的组成部分。
3.现有的巡检技术关注硬件资源和软件资源的使用,服务器节点巡检主要为日常巡检内容和批量自动巡检内容,以远程登录控制台通过命令加以检查。日常巡检内容主要包括linux系统检查、中央处理器(central processing unit,cpu)信息检查、内存检查、文件系统检查、网络服务检查、系统安全检查、日志检查、定时任务检查和应用检查等方面。批量自动巡检将手工输入的各类指令整理成脚本,使用securecrt执行脚本,批量对所有linux服务器进行自动巡检,并将巡检结果记录成文本文件,供平台运维人员分析汇总成巡检报告。
4.传统自动化巡检难以对集群、节点、容器组或证书进行统一全面的状态检查,其关注的多是节点资源的使用,而容器资源的检查往往被忽视,平台证书的检查也是仅凭人工记忆证书日期,如此,运维人员会面临很大的工作量,很难及时发现证书过期,进而会对平台正常运行产生影响。


技术实现要素:

5.本发明实施例提供了一种容器云平台巡检方法及装置,以至少解决相关技术中传统自动化巡检难以对集群、节点、容器组(pod)或证书进行统一全面的状态检查以及依靠人工维护平台证书不容易排查证书有效期。
6.根据本发明的一个实施例,提供了一种容器云平台巡检方法,包括:根据获取指标任务获取容器云平台中各巡检项的指标,其中,所述巡检项至少包括以下之一:集群健康状态巡检项、节点状态巡检项、pod状态巡检项、容器镜像巡检项以及平台证书巡检项;按照所述各巡检项的指标,以预设的巡检周期执行巡检任务。
7.在一个示例性实施例中,根据指标获取任务获取容器云平台中各巡检项的指标之前,还包括:根据自定义选择的集群、项目、节点、命名空间、pod或服务(service),预先设置巡检项、指标阈值和巡检周期。
8.在一个示例性实施例中,根据指标获取任务获取容器云平台中各巡检项的指标,包括:通过监控工具获取所述集群健康状态巡检项、节点状态巡检项和pod状态巡检项的指标,以及通过巡检脚本获取容器镜像巡检项、平台证书巡检项的指标。
9.在一个示例性实施例中,通过监控工具获取所述集群健康状态巡检项、节点状态巡检项和pod状态巡检项的指标,包括:根据所创建的获取指标任务,通过所述监控工具的应用程序接口api发起指标项请求;响应所述指标项请求,并返回指标项数据;提取所述指标项数据中的各巡检项的指标值,并写入指标值集合中。
10.在一个示例性实施例中,以预设的巡检周期执行巡检任务,包括:巡检所述集群健康状态巡检项时,通过监控工具获取各集群控制组件的运行状态信息,检查所述各集群控制组件是否正常运行;巡检所述节点状态巡检项时,通过监控工具获取各节点的实际资源使用情况,并对比所各节点的实际资源使用率与预设的指标阈值;巡检所述pod状态巡检项时,通过监控工具查询计算集群中pod的中央处理器使用率和内存使用率、重启的pod的个数、发生过重启的pod列表、每个pod重启的次数的列表、所有pod的状态、pod副本数量、pod就绪状态不一致数以及pod状态异常数。
11.在一个示例性实施例中,以预设的巡检周期执行巡检任务,包括:巡检所述容器镜像巡检项时,通过所述巡检脚本获取配置文件中容器镜像签名、镜像名称标签,并与投产变更系统中容器镜像的配置信息进行比对;
12.巡检所述平台证书巡检项时,通过所述巡检脚本获取管理集群和业务集群基础架构证书、容器平台证书、开发运维平台(devops)证书、微服务证书以及数据服务证书的有效期信息。
13.在一个示例性实施例中,按照所述各巡检项的指标,以预设的巡检周期执行巡检任务之后,还包括:根据巡检结果生成巡检报告并发送给指定终端。
14.根据本发明的另一个实施例,提供了一种容器云平台巡检装置,包括:获取模块,用于根据获取指标任务获取容器云平台中各巡检项的指标,其中,所述巡检项至少包括以下之一:集群健康状态巡检项、节点状态巡检项、pod状态巡检项、容器镜像巡检项以及平台证书巡检项;执行模块,用于按照所述各巡检项的指标,以预设的巡检周期执行巡检任务。
15.在一个示例性实施例中,还包括:设置模块,用于根据自定义选择的集群、项目、节点、命名空间、pod或service,预先设置巡检项、指标阈值和巡检周期。
16.在一个示例性实施例中,还包括:生成模块,用于根据巡检结果生成巡检报告并发送给指定终端。
17.根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
18.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
19.通过本发明,容器云平台中的巡检包括了集群健康状态巡检项、节点状态巡检项、容器组状态巡检项、容器镜像巡检项以及平台证书巡检项的检查,如此,可对容器云平台做到更全面的自动化巡检,并且定期巡检平台证书也能避免依靠人工维护平台证书很难及时发现证书过期的问题。因此,可以解决解决相关技术中传统自动化巡检难以对集群、节点、
容器组或证书进行统一全面的状态检查以及依靠人工维护平台证书不容易排查证书有效期问题,达到提高容器云平台的稳定性效果。
附图说明
20.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
21.图1是本发明实施例的运行容器云平台巡检方法的计算机终端的硬件结构框图;
22.图2是根据本发明实施例的容器云平台巡检方法的流程图;
23.图3是根据本发明实施例的容器云平台巡检装置的结构框图;
24.图4是根据本发明实施例的容器云平台巡检装置的结构框图;
25.图5是根据本发明实施例的实现容器云平台整体自动化巡检的系统示意图;
26.图6是根据本发明实施例的实现容器云平台整体自动化巡检的方法的流程图;
27.图7是根据本发明实施例的一种巡检项指标获取方法的流程图。
具体实施方式
28.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
29.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
30.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的运行容器云平台巡检方法的计算机终端的硬件结构框图。如图1所示,计算机终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
31.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的容器云平台巡检方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
32.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
33.在本实施例中提供了一种运行于上述计算机终端的容器云平台巡检方法,图2是根据本发明实施例的容器云平台巡检方法的流程图,如图2所示,该流程包括如下步骤:
34.步骤s202,根据获取指标任务获取容器云平台中各巡检项的指标,其中,所述巡检项至少包括以下之一:集群健康状态巡检项、节点状态巡检项、pod状态巡检项、容器镜像巡检项以及平台证书巡检项;
35.步骤s204,按照所述各巡检项的指标,以预设的巡检周期执行巡检任务。
36.通过上述步骤,容器云平台中的巡检包括了集群健康状态巡检项、节点状态巡检项、pod状态巡检项、容器镜像巡检项以及平台证书巡检项的检查,如此,可对容器云平台做到更全面的自动化巡检,并且定期巡检平台证书也能避免依靠人工维护平台证书很难及时发现证书过期的问题。因此,可以解决解决相关技术中传统自动化巡检难以对集群、节点、pod或证书进行统一全面的状态检查以及依靠人工维护平台证书不容易排查证书有效期问题,提高了容器云平台的稳定性。。
37.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
38.在本实施例中还提供了一种容器云平台巡检装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
39.图3是根据本发明实施例的容器云平台巡检装置的结构框图,如图3所示,该装置包括:获取模块10和执行模块20。
40.获取模块10,用于根据获取指标任务获取容器云平台中各巡检项的指标,其中,所述巡检项至少包括以下之一:集群健康状态巡检项、节点状态巡检项、pod状态巡检项、容器镜像巡检项以及平台证书巡检项;
41.执行模块20,用于按照所述各巡检项的指标,以预设的巡检周期执行巡检任务。
42.图4是根据本发明实施例的容器云平台巡检装置的结构框图,如图4所示,该装置除包括图3所示的所有模块外,还包括:设置模块30和生成模块40。
43.设置模块30,用于根据自定义选择的集群、项目、节点、命名空间、pod或service,预先设置巡检项、指标阈值和巡检周期。
44.生成模块40,用于根据巡检结果生成巡检报告并发送给指定终端。
45.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
46.为了便于对本发明所提供的技术方案的理解,下面将结合具体场景的实施例进行详细描述。
47.在本发明实施例中提供了一种实现容器云平台整体自动化巡检的方法,即自定义
巡检。图5是根据本发明实施例的实现容器云平台整体自动化巡检的系统示意图,如图5所示,该系统包括:巡检项管理模块11、任务管理模块12、指标库管理模块13和报告管理模块14。
48.具体地,巡检项管理模块11,用于自定义选择集群、项目、命名空间、节点、pod、service;
49.任务管理模块12,用于任务调度、任务执行,巡检的底层大量依赖于任务调度来实现,任务管理模块12在功能上包括上述实施例中的执行模块20的功能以及创建获取指标任务的功能;
50.指标库管理模块13,用于管理巡检脚本、api调用、指标项、阈值设置,指标库管理模块13在功能上包括了上述实施例中的设置模块30;
51.报告管理模块14,包括生成巡检报告、邮件通知,报告管理模块14在功能上相当于上述实施例中的生成模块40。
52.在本实施例中,所述巡检项管理模块11所支持的巡检项包括:集群健康状态主要巡检项、节点状态主要巡检项、pod状态主要巡检项、容器镜像主要巡检项以及平台证书主要巡检项。
53.具体地,集群健康状态主要巡检项包括,例如:在最近24小时内,当前集群控制组件的状态,其中,集群控制组件可以包括apiserver服务器(kube-apiserver)、调度器(kube-scheduler)和控制管理器(kube-controller-manager);
54.集群健康状态主要巡检项还可以包括:当前集群docker状态、当前集群域名系统(kube-dns)状态、当前集群存储系统(etcd)状态、当前集群工作节点代理组件(kubelet)状态、当前集群工作节点网络代理组件(kube-proxy)状态、当前集群的cpu使用率、当前集群的内存使用率、当前集群的cpu requests使用率(仅统计可调度的节点)、当前集群的kubernetes memory requests使用率(仅统计可调度的节点)、当前集群处于告警状态的告警数、当前集群过去5分钟api server的平均延迟、当前集群过去5分钟apiserver的请求中5xx请求的比例、当前集群所有主机中、cpu使用率最高的主机的cpu使用率、当前集群所有主机中,内存使用率最高的主机的内存使用率以及当前集群所有主机中,磁盘使用率最高的主机的磁盘使用率(指的是主机的根目录)。
55.具体地,节点状态主要巡检项包括,例如:在最近24小时内,当前主机的cpu使用率、当前主机的内存使用情况、包含cache/buffer/free等主要指标以及当前主机的磁盘空间使用率。
56.具体地,pod状态主要巡检项包括,例如:在最近24小时内,pod的cpu使用率、pod的内存使用率、过去5分钟内发生过重启的pod的个数、过去5分钟内发生过重启的pod列表、以及每个pod重启的次数的列表、所有pod的状态、按照pod的状态进行统计、pod副本数量、pod就绪状态不一致数以及pod状态异常数。
57.具体地,容器镜像主要巡检项包括,例如:容器镜像签名、容器镜像名称和容器镜像标签tag。
58.具体地,平台证书主要巡检项包括,例如:基础架构证书有效期统计、容器平台证书有效期统计、devops证书有效期统计、微服务证书有效期统计以及数据服务证书有效期统计。
59.基于图5中的实现容器云平台整体自动化巡检的系统,本发明实施例还提供了一种实现容器云平台整体自动化巡检的方法,即自定义巡检的实现,图6是根据本发明实施例的实现容器云平台整体自动化巡检的方法的流程图,如图6所示,该方法包括:
60.步骤s601,自定义巡检可根据用户实际需求,自定义巡检项、指标项、指标阈值、数据对比、巡检周期等设定。
61.具体地,设置巡检项。指定集群、项目、命名空间、节点、pod或service,选择集群健康状态、节点状态、pod状态、容器镜像、平台证书等主要巡检项。其中,在本实施例中,集群健康状态、节点状态、pod状态巡检项对应的指标项是从prometheus中获取指标,容器镜像、平台证书巡检项对应的指标项是通过巡检脚本获取指标。
62.具体地,设置指标阈值。例如节点cpu利用率阈值为90%,内存利用率阈值为85%,磁盘利用率阈值为80%。
63.在本实施例中,通过指标值与阈值的数据对比,可查明资源的可用性。
64.在本实施例中,通过设置一次性巡检或指定巡检周期进行巡检。
65.步骤s602,基于所述各巡检项的指标项,以预设的巡检周期执行巡检任务所述集群状态巡检项。
66.具体地,例如:集群健康状态巡检项的检查,集群控制组件是否正常运行,通过prometheus从kube-apiserver中获取各组件的运行状态信息,包括kube-apiserver、kube-scheduler、kube-controller-manager组件。
67.节点状态巡检项的检查,检查节点资源使用率是否达到阈值,需对节点资源(cpu、内存、磁盘)设置阈值,通过prometheus来获取各节点的实际资源使用情况,若达到阈值则在巡检报告中提示相关管理员。
68.pod状态巡检项的检查,通过prometheus查询计算集群中pod的cpu、内存使用率,重启的pod的个数;发生过重启的pod列表,以及每个pod重启的次数的列表;所有pod的状态,按照pod的状态进行统计;pod副本数量;pod就绪状态不一致数;pod状态异常数。
69.容器镜像巡检项的检查,通过巡检脚本获取yaml文件中容器镜像签名、镜像名称标签,与投产变更系统中容器镜像的配置信息进行比对。
70.平台证书巡检项的检查,通过巡检脚本获取管理集群和业务集群基础架构证书、容器平台证书、devops证书、微服务证书、数据服务证书有效期信息。
71.在本实施例中,管理集群和业务集群基础架构证书可以包括获取admin.conf、apiserver、apiserver-etcd-client、apiserver-kubelet-client、controller-manager-conf、etcd-healthcheck-client、etcd-peer、etcd-server、front-proxy-client、scheduler.conf的过期时间和证书授权以及证书授权过期时间、kubelet.conf、oidc-ca.crt、elasticsearch证书、dex.tls、warlock-wbhook-certificate、prometheus-operator-admission、cluster-transformer-cert、auth-controller2-webhook-cert、tke相关组件的tke-admin-cert,tke-etcd-cert,tke-server-cert证书、base-operator的tls.crt。
72.在本实施例中,容器平台证书可以包括获取metis组件的metis-webhook-cert有效期信息。
73.在本实施例中,devops证书可以包括获取devops组件的apiserver.crt、etcd-ca、
etcd-peer有效期信息。
74.在本实施例中,微服务证书可以包括获取global-asm-controller组件的global-asm-webhook有效期信息。
75.在本实施例中,数据服务证书可以包括获取kafka operator组件的ca证书和user证书有效期信息。
76.本发明实施例还提供一种巡检项指标获取方法,即从prometheus中获取指标,利用prometheus的api获取数据并解析。图7是根据本发明实施例提供的一种巡检项指标获取方法的流程图,如图7所示,该方法包括:
77.步骤s701a,使用prometheus api发起http请求,请求指标项;
78.步骤s702a,执行请求并接收http响应,返回结果是json数据;
79.步骤s703,从json数据中提取value值,将value值写入集合;
80.步骤s704,将集合中的数据写入到excel表。
81.所述通过巡检脚本获取指标,包括:
82.步骤s701b,使用巡检脚本获取指标项;
83.步骤s702b,将获取的巡检结果写入到文本文件。
84.在本实施例中,可以通过任务管理模块12创建获取指标的任务,以及经过任务调度进行任务执行。
85.在本实施例中,可以通过报告管理模块14,读取excel表和文本文件中的数据,自动生成巡检报告,发送邮件通知相关管理员,供其分析使用。
86.在本实施例中,可将过prometheus api获取自动化巡检对象的指标数据进行解析后写入到excel表格;将通过巡检脚本获取yaml文件中容器镜像签名、镜像名称tag,与投产变更系统中容器镜像的配置信息进行比对后,将经过比对得到的巡检结果写入文本文件以及将通过巡检脚本获取管理集群和业务集群基础架构证书、容器平台证书、devops证书、微服务证书、数据服务证书的有效期信息,写入文本文件;最终可通过报告管理模块14读取上述的excel表和文本文件中的数据,并自动生成巡检报告,发送邮件通知相关管理员。
87.通过本发明的上述实施例,能够对容器云平台进行整体自动化巡检,并且关注到了传统自动化巡检中未关注的pod状态、容器镜像、平台证书的巡检。
88.本发明与现有技术相比,具有如下优点和有益效果:
89.1.本发明实现关注状态变化的技术手段主要依赖于prometheus和巡检脚本。prometheus是一个很受欢迎的开源监控和警报工具包,能更好地与容器云平台配合,能实现应用容器引擎状态(docker status)、容器监控工具(cadvisor)的监控功能,并且prometheus原生支持kubernetes监控。
90.2.本发明可以方便的应用于需要自动化巡检的容器云平台,同时实现如下功能:
91.(1)巡检集群功能状态,包括cpu、内存、存储、网络状态。
92.(2)巡检节点资源可用性,cpu负载情况、内存使用率、磁盘使用率。
93.(3)检查pod及核心组件是否运行,pod副本数量、pod就绪状态不一致数、pod状态异常数,容器重启次数。
94.(4)应用上线投产前,检查容器镜像签名、镜像名称tag与投产变更系统的配置信息是否一致。验证业务变更的一致性,从而保证容器云平台业务正常运行的环境。
95.(5)平台证书有效期统计,平台证书可包括:基础架构证书、容器平台证书、devops证书、微服务证书、数据服务证书。
96.本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
97.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
98.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
99.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
100.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
101.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
102.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献