本发明专利技术公开一种实现容器应用可用性定时探测的方法,涉及容器探测技术领域,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager。该方法实现过程包括:用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;容器探测工作器proberworker把检测结果存入管道;容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。本发明专利技术可以保证容器应用的高可用性。
A method of realizing the container application availability timing detection
【技术实现步骤摘要】
一种实现容器应用可用性定时探测的方法
本专利技术涉及容器探测
,具体的说是一种实现容器应用可用性定时探测的方法。
技术介绍
Kubernetes是一个全新的基于容器技术的分布式架构领先方案,在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列功能,提高了大规模容器集群管理的便捷性和高可用性。容器技术是比较流行的提供微服务的PaaS技术,而Kubernetes是近期最流行的容器编排管理技术,Kubernetes通过Pod管理容器,如何有效的保证容器应用高可用是一个很紧迫的问题。
技术实现思路
本专利技术针对目前技术发展的需求和不足之处,提供一种实现容器应用可用性定时探测的方法,以有效保证容器应用的高可用。本专利技术的一种实现容器应用可用性定时探测的方法,解决上述技术问题采用的技术方案如下:一种实现容器应用可用性定时探测的方法,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager;该方法实现过程包括:用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;容器探测工作器proberworker把检测结果存入管道;容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。具体的,所涉及容器组管理程序镜像hyperkube包括probe_http、probe_exec、probe_tcp;probe_http完成对容器的http_get请求,并返回请求结果;probe_exec完成对容器的命令请求,并返回请求结果;probe_tcp完成对容器的tcp协议请求,请返回请求结果。具体的,所涉及用户在容器组管理程序kubelet创建liveness或readiness的pod,并注册pod到容器探测工作器proberworker;liveness探针用于检测容器是否活着,若容器已经死掉,则重启容器;readinessProbe探针用于容器服务是否正常,若服务异常,则从service的endpoint中删除容器服务。更具体的,所涉及liveness探针和readinessProbe探针的执行检测的策略包括配置:initialDelaySeconds:容器启动后多长时间开始探测;periodSeconds:探针执行频率,默认10秒;timeoutSeconds:探针执行超时时间,默认1秒;failureThreshold:探测成功后,连续失败多少次认为失败,默认3次;successThreshold:探测失败后,连续成功多少次认为成功,默认1次。更具体的,所涉及liveness探针包括exec、httpGet、tcpSocket三种类型;exec用于在容器内执行命令,根据命令执行结果探测容器;httpGet用于调用容器的http请求,根据请求返回结果探测容器;cpSocket用于调用容器的tcp请求,根据请求返回结果探测容器。更具体的,所涉及readinessProbe探针包括exec、httpGet、tcpSocket三种类型;exec用于在容器内执行命令,根据命令执行结果探测容器;httpGet用于调用容器的http请求,根据请求返回结果探测容器;cpSocket用于调用容器的tcp请求,根据请求返回结果探测容器。具体的,所涉及容器组管理程序kubelet启动时,首先初始化容器探测管理器probermanager对象。具体的,一个pod是一个worker,容器探测工作器proberworker对worker进行增加、删除、检测。本专利技术的一种实现容器应用可用性定时探测的方法,与现有技术相比具有的有益效果是:本专利技术可以定时探测容器、探测容器活性失败后重启容器组、探测容器准备失败后清理问题容器的服务注册信息,保证容器应用的高可用性。附图说明附图1是本专利技术的架构框图;附图2是本专利技术的流程示意图。具体实施方式为使本专利技术的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本专利技术的技术方案进行清楚、完整的描述。实施例一:结合附图1,本实施例提出一种实现容器应用可用性定时探测的方法,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager。结合附图2,本实施例的一种实现容器应用可用性定时探测的方法,其实现过程包括:用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;容器探测工作器proberworker把检测结果存入管道;容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。本实施例中,所涉及容器组管理程序镜像hyperkube包括probe_http、probe_exec、probe_tcp。其中,probe_http完成对容器的http_get请求,并返回请求结果;probe_exec完成对容器的命令请求,并返回请求结果;probe_tcp完成对容器的tcp协议请求,请返回请求结果。本实施例中,所涉及用户在容器组管理程序kubelet创建liveness或readiness的pod,并注册pod到容器探测工作器proberworker。其中,liveness探针用于检测容器是否活着,若容器已经死掉,则重启容器;readinessProbe探针用于容器服务是否正常,若服务异常,则从service的endpoint中删除容器服务。本实施例中,所涉及liveness探针和readinessProbe探针的执行本文档来自技高网...
【技术保护点】
1.一种实现容器应用可用性定时探测的方法,其特征在于,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager;/n该方法实现过程包括:/n用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;/n容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;/n容器探测工作器proberworker把检测结果存入管道;/n容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。/n
【技术特征摘要】
1.一种实现容器应用可用性定时探测的方法,其特征在于,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager;
该方法实现过程包括:
用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;
容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;
容器探测工作器proberworker把检测结果存入管道;
容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。
2.根据权利要求1所述的一种实现容器应用可用性定时探测的方法,其特征在于,所述容器组管理程序镜像hyperkube包括probe_http、probe_exec、probe_tcp;
probe_http完成对容器的http_get请求,并返回请求结果;
probe_exec完成对容器的命令请求,并返回请求结果;
probe_tcp完成对容器的tcp协议请求,请返回请求结果。
3.根据权利要求1所述的一种实现容器应用可用性定时探测的方法,其特征在于,用户在容器组管理程序kubelet创建liveness或readiness的pod,并注册pod到容器探测工作器proberworker;
liveness探针用于检测容器是否活着,若容器已经死掉,则重启容器;
readinessProbe探针用于容器服务是否正常,若服务异常,则从service的endpoint中删...
【专利技术属性】
技术研发人员:石光银,蔡卫卫,高传集,孙思清,
申请(专利权)人:山东汇贸电子口岸有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。