CN111258708A - 一种实现容器应用可用性定时探测的方法 - Google Patents

一种实现容器应用可用性定时探测的方法 Download PDF

Info

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
Application number
CN202010020949.3A
Other languages
English (en)
Inventor
石光银
蔡卫卫
高传集
孙思清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Huimao Electronic Port Co Ltd
Original Assignee
Shandong Huimao Electronic Port Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Huimao Electronic Port Co Ltd filed Critical Shandong Huimao Electronic Port Co Ltd
Priority to CN202010020949.3A priority Critical patent/CN111258708A/zh
Publication of CN111258708A publication Critical patent/CN111258708A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring 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进行增加、删除、检测。
CN202010020949.3A 2020-01-09 2020-01-09 一种实现容器应用可用性定时探测的方法 Pending CN111258708A (zh)

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)

* Cited by examiner, † Cited by third party
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 新华三信息安全技术有限公司 一种报文传输方法、装置、设备及机器可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US8219990B2 (en) Techniques for managing virtual machine (VM) states
US6493716B1 (en) Group communication system with flexible member model
CN108156181B (zh) 一种基于协程异步io的漏洞探测方法及其漏洞扫描系统
WO2015078394A1 (en) Method and apparatus for scheduling blocking tasks
CN103838593A (zh) 恢复虚拟机的方法、系统及控制器、服务器、寄宿主机
CN112667362B (zh) Kubernetes上部署Kubernetes虚拟机集群的方法与系统
US11010190B2 (en) Methods, mediums, and systems for provisioning application services
CN111880936A (zh) 资源调度方法、装置、容器集群、计算机设备和存储介质
CN107682460B (zh) 一种分布式存储集群数据通信方法及系统
US10860375B1 (en) Singleton coordination in an actor-based system
CN110738156B (zh) 一种基于消息中间件的人脸识别系统及方法
CN113965576B (zh) 基于容器的大数据采集方法、装置、存储介质和设备
US10313450B2 (en) Method for transparently connecting augmented network socket operations
WO2019000791A1 (zh) 一种以异步方式进行远程过程调用的方法及装置
CN112559138A (zh) 一种资源调度系统及方法
CN111258708A (zh) 一种实现容器应用可用性定时探测的方法
CN112965817A (zh) 资源管理方法、装置和电子设备
CN115314361B (zh) 一种服务器集群管理方法及其相关组件
CN108196982A (zh) 一种linux系统自动重启服务的配置方法
Dan et al. Quasi-asynchronous migration: A novel migration protocol for PVM tasks
CN111897667A (zh) 一种基于事件驱动和lua协程的异步通信方法及装置
CN112395079B (zh) 异构众核架构下的运算核作业迁移方法
CN115640153B (zh) 系统架构、消息处理方法、装置、电子设备及存储介质
US11983558B2 (en) Migrating applications between containers during modern standby
CN107851033B (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