CN107423112A - 一种Docker容器状态实时同步方法 - Google Patents

一种Docker容器状态实时同步方法 Download PDF

Info

Publication number
CN107423112A
CN107423112A CN201710509706.4A CN201710509706A CN107423112A CN 107423112 A CN107423112 A CN 107423112A CN 201710509706 A CN201710509706 A CN 201710509706A CN 107423112 A CN107423112 A CN 107423112A
Authority
CN
China
Prior art keywords
container
etcd
management platform
databases
state
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.)
Granted
Application number
CN201710509706.4A
Other languages
English (en)
Other versions
CN107423112B (zh
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710509706.4A priority Critical patent/CN107423112B/zh
Publication of CN107423112A publication Critical patent/CN107423112A/zh
Application granted granted Critical
Publication of CN107423112B publication Critical patent/CN107423112B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种Docker容器状态实时同步方法,包括以下步骤:搭建容器管理平台;创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;当容器管理平台接收到监控数据时,更新Etcd数据库中相应容器TTL超时时间;容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。本方法能处理Docker宿主机关机、Docker进程停止异常场景下的容器状态更新。

Description

一种Docker容器状态实时同步方法
技术领域
本发明涉及云计算容器管理领域,具体涉及一种Docker容器状态实时同步方法。
背景技术
容器的管理和使用是云计算的下一个阶段,容器由于其轻量、易迁移、易启动等优点,逐渐被各大云计算平台采用,并以服务的方式提供给开发者使用。容器可能会由于其内部运行的进程异常,导致容器关机或者重启,此时,容器管理平台需要能够实时监控到容器的状态变化,并给出相应的告警信息,Docker(开源容器引擎)提供了处理Docker事件的接口,但不能处理全部的异常情况,例如Docker宿主机关机、Docker进程停止等。
发明内容
为解决上述问题,提出了一种Docker容器状态实时同步方法。
本发明的技术方案是:一种Docker容器状态实时同步方法,包括以下步骤:
搭建容器管理平台,容器管理平台包括平台数据库;
创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;
在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;
当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间;
容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。
进一步地,还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器TTL超时时间。
进一步地,Etcd数据库容器信息被删除是指当容器管理平台在超过容器TTL超时时间后仍未收到监控数据,则Etcd数据库中相应容器信息被删除。
进一步地,还包括步骤:当容器管理平台删除容器时,同时删除Etcd书库内相应容器信息。
进一步地,容器管理平台监听Etcd数据库是指利用Etcd数据库的Watch机制监听Etcd数据库的指定目录。
进一步地,Etcd数据库为3.0以上版本的Etcd数据库。
进一步地,容器TTL超时时间为2分钟。
本发明提供的Docker容器状态实时同步方法,采用Etcd 的Key超时机制、Watch机制,同时配置容器监控信息的周期上报,实现容器状态的实时更新,与Docker原生接口提供的功能相比,除能够处理Docker容器正常关闭、启动的状态更新外,还能够处理Docker宿主机关机、Docker进程停止异常场景下的容器状态更新,在生产环境下,这两种状态是非常重要的异常场景。
附图说明
图1本发明具体实施例流程示意图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例提供的Docker容器状态实时同步方法,在Etcd数据库保存容器信息,并为该信息设置TTL超时时间(Time To Live,存活时间),容器管理平台在收到容器的监控数据时,会刷新该信息的TTL超时时间,保证容器信息不会因为TTL到期而被删除;当容器关机、宿主机关机或Docker进程停止时,容器管理平台无法收到该容器的监控信息,Etcd数据库保存的容器信息由于TTL超时,会被自动删除,容器管理平台利用Etcd数据库的Watch机制监控到该容器信息被删除的信息后,会将平台数据库中的容器状态进行更新。容器由关机状态变为启动状态时,采用相同的流程处理。
具体包括以下步骤:
搭建容器管理平台,容器管理平台包括平台数据库;
创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;
在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;
当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间,保证容器信息不会因为TTL到期而被删除;
容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。
其中Etcd数据库容器信息被删除是指当容器管理平台在超过容器TTL超时时间后仍未收到监控数据,则Etcd数据库中相应容器信息被删除。容器管理平台利用Etcd数据库的Watch机制监听Etcd数据库的指定目录,从而获得Etcd数据库内容器信息。
本实施例还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器TTL超时时间。当容器管理平台删除容器时,同时删除Etcd书库内相应容器信息。
本实施例中,Etcd数据库可以使用3.0以上版本的Etcd数据库,容器TTL超时时间可设置为2分钟。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。

Claims (7)

1.一种Docker容器状态实时同步方法,其特征在于,包括以下步骤:
搭建容器管理平台,容器管理平台包括平台数据库;
创建容器,在Etcd数据库保存容器信息,并设置容器TTL超时时间;
在容器所在宿主机部署容器监控组件,容器监控组件将监控数据周期上报到容器管理平台;
当容器管理平台接收到监控数据时,将监控数据保存到平台数据库,并查看平台数据库中相应容器状态是否为运行中,若相应容器状态为非运行,则将其状态更新为运行中,同时更新Etcd数据库中相应容器TTL超时时间;
容器管理平台监听Etcd数据库,当监听到容器信息被删除时,容器管理平台判断平台数据库中该容器状态是否为停止状态,若非停止状态,则将其更新为停止。
2.根据权利要求1所述的Docker容器状态实时同步方法,其特征在于,还包括步骤:当容器管理平台启动时,将平台数据库中处于运行态的容器信息保存到Etcd数据库,并设置容器TTL超时时间。
3.根据权利要求1所述的Docker容器状态实时同步方法,其特征在于,Etcd数据库容器信息被删除是指当容器管理平台在超过容器TTL超时时间后仍未收到监控数据,则Etcd数据库中相应容器信息被删除。
4.根据权利要求1所述的Docker容器状态实时同步方法,其特征在于,还包括步骤:当容器管理平台删除容器时,同时删除Etcd书库内相应容器信息。
5.根据权利要求1、2、3或4所述的Docker容器状态实时同步方法,其特征在于,容器管理平台监听Etcd数据库是指利用Etcd数据库的Watch机制监听Etcd数据库的指定目录。
6.根据权利要求1、2、3或4所述的Docker容器状态实时同步方法,其特征在于,Etcd数据库为3.0以上版本的Etcd数据库。
7.根据权利要求1、2、3或4所述的Docker容器状态实时同步方法,其特征在于,容器TTL超时时间为2分钟。
CN201710509706.4A 2017-06-28 2017-06-28 一种Docker容器状态实时同步方法 Active CN107423112B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710509706.4A CN107423112B (zh) 2017-06-28 2017-06-28 一种Docker容器状态实时同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710509706.4A CN107423112B (zh) 2017-06-28 2017-06-28 一种Docker容器状态实时同步方法

Publications (2)

Publication Number Publication Date
CN107423112A true CN107423112A (zh) 2017-12-01
CN107423112B CN107423112B (zh) 2020-06-26

Family

ID=60426718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710509706.4A Active CN107423112B (zh) 2017-06-28 2017-06-28 一种Docker容器状态实时同步方法

Country Status (1)

Country Link
CN (1) CN107423112B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060125A1 (en) * 2016-08-23 2018-03-01 Samsung Electronics Co., Ltd. Intelligent controller for containerized applications
CN109086119A (zh) * 2018-07-30 2018-12-25 南京卓盛云信息科技有限公司 一种快速检测容器运行状态的方法
CN109992415A (zh) * 2019-03-15 2019-07-09 上海拍拍贷金融信息服务有限公司 一种容器调度方法及调度系统
CN111324423A (zh) * 2020-03-03 2020-06-23 腾讯科技(深圳)有限公司 容器内进程的监控方法、装置、存储介质和计算机设备
CN112068935A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 kubernetes程序部署监控方法、装置以及设备
CN112199247A (zh) * 2019-07-08 2021-01-08 中国移动通信集团浙江有限公司 一种无业务状态下Docker容器进程活性的检查方法及装置
CN112817613A (zh) * 2021-02-04 2021-05-18 咪咕音乐有限公司 插件数据的删除方法、服务器、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899126A (zh) * 2015-06-12 2015-09-09 北京奇虎科技有限公司 对宿主机中容器进行本地实时监控的方法、装置及系统
US20150287251A1 (en) * 2014-04-03 2015-10-08 Stephen S. Hartmann Body tracking and identification system and method
CN105245373A (zh) * 2015-10-12 2016-01-13 天津市普迅电力信息技术有限公司 一种容器云平台系统的搭建及运行方法
CN106020930A (zh) * 2016-05-13 2016-10-12 深圳市中润四方信息技术有限公司 一种基于应用容器的应用管理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150287251A1 (en) * 2014-04-03 2015-10-08 Stephen S. Hartmann Body tracking and identification system and method
CN104899126A (zh) * 2015-06-12 2015-09-09 北京奇虎科技有限公司 对宿主机中容器进行本地实时监控的方法、装置及系统
CN105245373A (zh) * 2015-10-12 2016-01-13 天津市普迅电力信息技术有限公司 一种容器云平台系统的搭建及运行方法
CN106020930A (zh) * 2016-05-13 2016-10-12 深圳市中润四方信息技术有限公司 一种基于应用容器的应用管理方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060125A1 (en) * 2016-08-23 2018-03-01 Samsung Electronics Co., Ltd. Intelligent controller for containerized applications
US10210024B2 (en) * 2016-08-23 2019-02-19 Samsung Electronics Co., Ltd. Intelligent controller for containerized applications
CN109086119A (zh) * 2018-07-30 2018-12-25 南京卓盛云信息科技有限公司 一种快速检测容器运行状态的方法
CN109992415A (zh) * 2019-03-15 2019-07-09 上海拍拍贷金融信息服务有限公司 一种容器调度方法及调度系统
CN109992415B (zh) * 2019-03-15 2023-07-14 上海拍拍贷金融信息服务有限公司 一种容器调度方法及调度系统
CN112199247A (zh) * 2019-07-08 2021-01-08 中国移动通信集团浙江有限公司 一种无业务状态下Docker容器进程活性的检查方法及装置
CN112199247B (zh) * 2019-07-08 2022-07-01 中国移动通信集团浙江有限公司 一种无业务状态下Docker容器进程活性的检查方法及装置
CN111324423A (zh) * 2020-03-03 2020-06-23 腾讯科技(深圳)有限公司 容器内进程的监控方法、装置、存储介质和计算机设备
CN112068935A (zh) * 2020-09-15 2020-12-11 北京值得买科技股份有限公司 kubernetes程序部署监控方法、装置以及设备
CN112817613A (zh) * 2021-02-04 2021-05-18 咪咕音乐有限公司 插件数据的删除方法、服务器、电子设备和存储介质

Also Published As

Publication number Publication date
CN107423112B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN107423112A (zh) 一种Docker容器状态实时同步方法
EP3493471B1 (en) Data disaster recovery method, apparatus and system
US20170206079A1 (en) Method and Device for Upgrading Software
US7428657B2 (en) Method for rolling back from snapshot with log
KR102057527B1 (ko) 자동적인 클라우드-기반 전체 데이터 백업 및 모바일 디바이스들 상에서의 복원을 위한 시스템 및 방법
US10565071B2 (en) Smart data replication recoverer
CN103297529B (zh) 基于时间戳的树型结构数据同步方法
CN106776121B (zh) 一种数据灾备装置、系统及方法
CN100469016C (zh) 一种实现网络通讯录数据同步的方法
CN104199666A (zh) 一种应用程序动态配置方法及装置
CN102291416A (zh) 一种客户端与服务器端双向同步的方法及系统
CN105743948A (zh) 一种网络版本升级的方法及装置
CN105808274A (zh) 软件升级方法、系统及对应的客户端与服务器
CN105635216A (zh) 分布式应用的升级方法、设备和分布式系统
WO2020108544A1 (zh) 同步缓存数据的方法、装置和系统
CN105763345A (zh) 一种网元升级管理方法、装置及系统
CN106161104A (zh) 一种基于Docker事件自动化配置Docker容器同主机网络IP的方法
CN105827738A (zh) 一种高可用架构下容灾同步方法及系统
WO2019080386A1 (zh) 一种管理网络服务的方法和系统
CN105790997A (zh) 配置数据更新方法及系统、客户端和服务器
CN104090802A (zh) 一种网络摄像机断电保护方法
CN103327105B (zh) hadoop系统中从属节点服务自动恢复方法
CN101730119B (zh) 网元配置数据的反向获取方法及装置
CN107070730B (zh) 一种ctdb的启动方法和装置
CN112732370B (zh) 业务流程调整方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200522

Address after: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Applicant after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Patentee before: Tidal Cloud Information Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder