CN111258708A - 一种实现容器应用可用性定时探测的方法 - Google Patents
一种实现容器应用可用性定时探测的方法 Download PDFInfo
- Publication number
- CN111258708A CN111258708A CN202010020949.3A CN202010020949A CN111258708A CN 111258708 A CN111258708 A CN 111258708A CN 202010020949 A CN202010020949 A CN 202010020949A CN 111258708 A CN111258708 A CN 111258708A
- Authority
- CN
- China
- Prior art keywords
- container
- manager
- detection
- probe
- request
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000000523 sample Substances 0.000 claims abstract description 48
- 230000000694 effects Effects 0.000 claims abstract description 7
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开一种实现容器应用可用性定时探测的方法,涉及容器探测技术领域,该方法基于容器组管理程序镜像hyperkube,容器组管理程序镜像hyperkube包括容器组管理程序kubelet、容器探测管理器probermanager、容器探测工作器proberworker、状态管理器statusmanager、容器活性管理器livenessmanager、探测结果管理器resultmanager、容器准备管理器readinessmanager。该方法实现过程包括:用户创建pod,并通过容器组管理程序kubelet注册到容器探测工作器proberworker;容器探测工作器proberworker管理当前容器组管理程序kubelet的pod数据,并对容器进行定时检测;容器探测工作器proberworker把检测结果存入管道;容器探测管理器probermanager从管道中获取容器检测结果,并调用statusmanager完成对pod状态的定时刷新。本发明可以保证容器应用的高可用性。
Description
技术领域
本发明涉及容器探测技术领域,具体的说是一种实现容器应用可用性定时探测的方法。
背景技术
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探针的执行检测的策略包括配置:
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进行增加、删除、检测。
综上可知,采用本发明的一种实现容器应用可用性定时探测的方法,可以定时探测容器、探测容器活性失败后重启容器组、探测容器准备失败后清理问题容器的服务注册信息,保证容器应用的高可用性。
基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (8)
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中删除容器服务。
4.根据权利要求3所述的一种实现容器应用可用性定时探测的方法,其特征在于,所述liveness探针和readinessProbe探针的执行检测的策略包括配置:
initialDelaySeconds:容器启动后多长时间开始探测;
periodSeconds:探针执行频率;
timeoutSeconds:探针执行超时时间;
failureThreshold:探测成功后,连续失败多少次认为失败;
successThreshold:探测失败后,连续成功多少次认为成功。
5.根据权利要求3所述的一种实现容器应用可用性定时探测的方法,其特征在于,所述liveness探针包括exec、httpGet、tcpSocket三种类型;
exec用于在容器内执行命令,根据命令执行结果探测容器;
httpGet用于调用容器的http请求,根据请求返回结果探测容器;
cpSocket用于调用容器的tcp请求,根据请求返回结果探测容器。
6.根据权利要求4所述的一种实现容器应用可用性定时探测的方法,其特征在于,所述readinessProbe探针包括exec、httpGet、tcpSocket三种类型;
exec用于在容器内执行命令,根据命令执行结果探测容器;
httpGet用于调用容器的http请求,根据请求返回结果探测容器;
cpSocket用于调用容器的tcp请求,根据请求返回结果探测容器。
7.根据权利要求1所述的一种实现容器应用可用性定时探测的方法,其特征在于,容器组管理程序kubelet启动时,首先初始化容器探测管理器probermanager对象。
8.根据权利要求1所述的一种实现容器应用可用性定时探测的方法,其特征在于,一个pod是一个worker,容器探测工作器proberworker对worker进行增加、删除、检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020949.3A CN111258708A (zh) | 2020-01-09 | 2020-01-09 | 一种实现容器应用可用性定时探测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010020949.3A CN111258708A (zh) | 2020-01-09 | 2020-01-09 | 一种实现容器应用可用性定时探测的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111258708A true CN111258708A (zh) | 2020-06-09 |
Family
ID=70952723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010020949.3A Pending CN111258708A (zh) | 2020-01-09 | 2020-01-09 | 一种实现容器应用可用性定时探测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258708A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688322A (zh) * | 2017-08-31 | 2018-02-13 | 天津中新智冠信息技术有限公司 | 一种容器化管理系统 |
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN110635987A (zh) * | 2019-09-09 | 2019-12-31 | 新华三信息安全技术有限公司 | 一种报文传输方法、装置、设备及机器可读存储介质 |
-
2020
- 2020-01-09 CN CN202010020949.3A patent/CN111258708A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107688322A (zh) * | 2017-08-31 | 2018-02-13 | 天津中新智冠信息技术有限公司 | 一种容器化管理系统 |
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN110635987A (zh) * | 2019-09-09 | 2019-12-31 | 新华三信息安全技术有限公司 | 一种报文传输方法、装置、设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108156181B (zh) | 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统 | |
US8219990B2 (en) | Techniques for managing virtual machine (VM) states | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与系统 | |
CN103201724B (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
WO2015078394A1 (en) | Method and apparatus for scheduling blocking tasks | |
CN111880936A (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
US10860375B1 (en) | Singleton coordination in an actor-based system | |
CN107682460B (zh) | 一种分布式存储集群数据通信方法及系统 | |
CN113067850A (zh) | 一种多云场景下的集群编排系统 | |
CN104850491A (zh) | 一种软件测试方法、设备及系统 | |
CN111541762A (zh) | 数据处理的方法、管理服务器、设备及存储介质 | |
CN112965817A (zh) | 资源管理方法、装置和电子设备 | |
CN113965576B (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN110738156B (zh) | 一种基于消息中间件的人脸识别系统及方法 | |
US10313450B2 (en) | Method for transparently connecting augmented network socket operations | |
CN109889406A (zh) | 用于管理网络连接的方法、装置、设备和存储介质 | |
WO2019000791A1 (zh) | 一种以异步方式进行远程过程调用的方法及装置 | |
CN111258708A (zh) | 一种实现容器应用可用性定时探测的方法 | |
CN109284169B (zh) | 基于进程虚拟化的大数据平台进程管理方法及计算机设备 | |
CN115314361A (zh) | 一种服务器集群管理方法及其相关组件 | |
US9348672B1 (en) | Singleton coordination in an actor-based system | |
CN111885169B (zh) | 一种云硬盘服务高可用的实现方法、系统及装置 | |
CN115225690A (zh) | 基于硬件协议栈的tcp长连接保活方法及装置 | |
CN111897667A (zh) | 一种基于事件驱动和lua协程的异步通信方法及装置 | |
CN111522594A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200609 |
|
RJ01 | Rejection of invention patent application after publication |