Kuberrnates Pod健康监控方法技术

技术编号:23399766 阅读:24 留言:0更新日期:2020-02-22 12:04
本发明专利技术公开了Kuberrnates Pod健康监控方法,涉及系统状态监测技术领域。本发明专利技术包括:通过执行行Linux命令‘kubectl get pods’获取pod基本信息列表list1并读取数据库中的信息list2;比较list2与list1中的pod;若存在pod在list2中而不在list1中,则执行A05;若存在pod在list1中而不在list2中,则执行A06;A05:通过发送警告提醒用户或运营人员,同时为数据库中异常停止pod标记;A06:将list1中存在list2不存在的pod保存到数据库中。本发明专利技术通过周期性的获取pod的基本信息,并通过比较比较list2与list1中的pod,判断是否存在pod异常,若存在则发出警告,并进行标记;提高pod异常的处理效率和监控效果。

Kuberrnates pod health monitoring method

【技术实现步骤摘要】
KuberrnatesPod健康监控方法
本专利技术属于系统状态监测
,特别是涉及KuberrnatesPod健康监控方法。
技术介绍
随着云计算与容器技术的飞速发展与应用,国外乃至国内掀起了一股云计算与容器技术的热潮。由Google公司开源的kubernetes容器编排工具一度成为互联网中的热门。然而除了kubernetes自带的ui来观测集群中pod的状态外,目前还没有成熟的kubernetespod健康监控系统。目前存在的kubernetespod监控系统,只有对现有pod信息的爬取,并没有对pod信息各个指标的监控,以及报警的相关处理。当pod因资源或各种故障引起异常终止时,系统应提供一种报警的机制,从而提醒用户或运营人员。本专利系统,通过实时监控pod运行状况,如:五秒、十秒作为周期取获取信息,并实现数据落地,且对比本次与上次的pod运行状况,可得出pod是否宕机,并作出告警Kubernetespod健康监控系是一个对kubernetespod各个指标的监控系统,通过界面显示pod基本信息,包括:NAME、READY、STATUS、RESTARTS、AGE、容器ID、镜像名称、镜像ID、端口映射、资源限制等相关配置信息、以及故障报警方案等,并可通过图例显示各个pod的资源占比与重启状况。在kubernetes中pod状态有PodRunning、PodPending、PodSucceeded、PodEailed、PodUnkonwn五种状态。只有PodRunning状态是正常的状态。r>本专利技术提供一种KuberrnatesPod健康监控方法,通过周期性的获取pod的基本信息,并通过比较比较list2与list1中的pod,判断是否存在pod异常,若存在则发出警告,并进行标记;提高pod异常的处理效率和监控效果。
技术实现思路
本专利技术的目的在于提供KuberrnatesPod健康监控方法,通过周期性的获取pod的基本信息,并通过比较比较list2与list1中的pod,判断是否存在pod异常,若存在则发出警告,并进行标记;提高pod异常的处理效率和监控效果,解决了现有Pod健康监控系统只能监控pod状态,不能对出现pod异常后处理的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为KuberrnatesPod健康监控方法,包括如下步骤:A00:通过执行Linux命令‘kubectlgetnamespaces’获取全部namespace,并存储到namespace列表内;A01:从所述namespace列表内选取一个namespace并获取所述namespace的全部pod,并存储到pod信息列表中;A02:从所述pod信息列表中选择一pod并通过执行Linux命令‘kubectldescribepodname’获取pod详细信息;A03:通过执行行Linux命令‘kubectlgetpods’获取pod基本信息列表list1并读取数据库中的信息list2;A04:比较list2与list1中的pod;若存在pod在list2中而不在list1中,则执行A05;若存在pod在list1中而不在list2中,则执行A06;A05:通过发送警告提醒用户或运营人员,同时为数据库中异常停止pod标记;A06:将list1中存在list2不存在的pod保存到数据库中。优选地,所述pod的获取为每隔周期T获取一次。优选地,所述警报的方式包括发送短息、邮件以及小程序推送。优选地,A01中的pod包括pod的基本信息。本专利技术具有以下有益效果:本专利技术通过周期性的获取pod的基本信息,并通过比较比较list2与list1中的pod,判断是否存在pod异常,若存在则发出警告,并进行标记;提高pod异常的处理效率和监控效果。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的KuberrnatesPod健康监控方法的流程图;图2为本专利技术中获取pod的基本信息的示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1所示,本专利技术为KuberrnatesPod健康监控方法,包括如下步骤:A00:通过执行Linux命令‘kubectlgetnamespaces’获取全部namespace,并存储到namespace列表内;A01:从namespace列表内选取一个namespace并获取namespace的全部pod,并存储到pod信息列表中;pod包括pod的基本信息;pod的获取为每隔周期T获取一次,周期T的时间为5s或10s,前端可通过WebSocket来实现;A02:从pod信息列表中选择一pod并通过执行Linux命令‘kubectldescribepodname’获取pod详细信息;A03:通过执行行Linux命令‘kubectlgetpods’获取pod基本信息列表list1并读取数据库中的信息list2;A04:比较list2与list1中的pod;若存在pod在list2中而不在list1中,则执行A05;若存在pod在list1中而不在list2中,则执行A06;A05:通过发送警告提醒用户或运营人员,同时为数据库中异常停止pod标记,避免下次查询不会查出;警报的方式包括发送短息、邮件以及小程序推送;A06:将list1中存在list2不存在的pod保存到数据库中。本专利技术实际使用过程中,请参阅图2所示,Kubenetespod运行在Linux系统中,可通过Java程序或python程序运行Linuxkubernetespod命令,如:kubectlgetpods可获取pod的各个信息。需实时获取,因为pod的状态信息是实时更新的;同样的,可通过Java或python执行Linuxkubernetes相关的命令获取详细信息;不须实时获取,因为pod的详细信心基本是不变的。本专利技术中的接口功能如下:1、获取k8snamespaceList<String>getNamespaces();2、通过namespace获取pod集合K8spod实体EntityStringname;//pod名称Str本文档来自技高网...

【技术保护点】
1.Kuberrnates Pod健康监控方法,其特征在于,包括如下步骤:/nA00:通过执行Linux命令‘kubectl get namespaces’获取全部namespace,并存储到namespace列表内;/nA01:从所述namespace列表内选取一个namespace并获取所述namespace的全部pod,并存储到pod信息列表中;/nA02:从所述pod信息列表中选择一pod并通过执行Linux命令‘kubectl describepodname’获取pod详细信息;/nA03:通过执行行Linux命令‘kubectl get pods’获取pod基本信息列表list1并读取数据库中的信息list2;/nA04:比较list2与list1中的pod;若存在pod在list2中而不在list1中,则执行A05;若存在pod在list1中而不在list2中,则执行A06;/nA05:通过发送警告提醒用户或运营人员,同时为数据库中异常停止pod标记;/nA06:将list1中存在list2不存在的pod保存到数据库中。/n

【技术特征摘要】
1.KuberrnatesPod健康监控方法,其特征在于,包括如下步骤:
A00:通过执行Linux命令‘kubectlgetnamespaces’获取全部namespace,并存储到namespace列表内;
A01:从所述namespace列表内选取一个namespace并获取所述namespace的全部pod,并存储到pod信息列表中;
A02:从所述pod信息列表中选择一pod并通过执行Linux命令‘kubectldescribepodname’获取pod详细信息;
A03:通过执行行Linux命令‘kubectlgetpods’获取pod基本信息列表list1并读取数据库中的信息list2;
A04:比较list2与list1中的pod;若存在p...

【专利技术属性】
技术研发人员:尹立剑
申请(专利权)人:紫光云南京数字技术有限公司
类型:发明
国别省市:江苏;32

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

1