CN116185697A - 容器集群管理方法、装置、系统、电子设备及存储介质 - Google Patents

容器集群管理方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116185697A
CN116185697A CN202310488150.0A CN202310488150A CN116185697A CN 116185697 A CN116185697 A CN 116185697A CN 202310488150 A CN202310488150 A CN 202310488150A CN 116185697 A CN116185697 A CN 116185697A
Authority
CN
China
Prior art keywords
cluster
management
database
external
standby
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
CN202310488150.0A
Other languages
English (en)
Other versions
CN116185697B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310488150.0A priority Critical patent/CN116185697B/zh
Publication of CN116185697A publication Critical patent/CN116185697A/zh
Application granted granted Critical
Publication of CN116185697B publication Critical patent/CN116185697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0712Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in 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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明提供一种容器集群管理方法、装置、系统、电子设备及存储介质,属于计算机技术领域,所述方法应用于备管理集群,包括:判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,第一数据库用于存储集群资源变更记录;若确定主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,第一数据库所存储的数据与第二数据库所存储的数据相同;基于各个外部集群对应的集群资源,管理各个外部集群。通过在主管理集群发生故障的情况下,备管理集群基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,能够快速地恢复集群资源,实现管理集群的容灾。

Description

容器集群管理方法、装置、系统、电子设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种容器集群管理方法、装置、系统、电子设备及存储介质。
背景技术
在容器(Docker)技术的基础上,容器集群(例如K8S集群)为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高大规模容器集群管理的便捷性。
管理集群(Cluster Manager Platform,CMP)是一个单独的集群,其底层操作系统依然是K8S,只是其上的应用不同。管理集群上运行了众多用于管理集群的各个应用,并配置了数据库等。通过CMP管理众多集群,提供平台化的管理。管理集群用于管理其他集群(外部集群),被管理集群称为外部集群。外部集群是业务实际的运行方,应用大都运行在外部集群上。CMP中的集群管理服务,负责外部集群的纳管、修改、移除、监控和应用安装等。
在生产环境中,需要持续保证集群管理服务的正常运行。但如果CMP异常,会导致集群管理服务处于故障状态。如何实现CMP的容灾是目前业界亟待解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种容器集群管理方法、装置、系统、电子设备及存储介质。
第一方面,本发明提供一种容器集群管理方法,应用于备管理集群,包括:
判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
基于各个外部集群对应的集群资源,管理各个外部集群。
可选地,根据本发明提供的一种容器集群管理方法,所述若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在确定所述主管理集群发生故障的情况下,判断所述主管理集群的第一集群管理服务是否停止以及数据库同步是否停止;
若确定所述第一集群管理服务已停止且数据库同步已停止,则启动所述备管理集群的第二集群管理服务;
通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
可选地,根据本发明提供的一种容器集群管理方法,所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在所述备管理集群上不存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,生成各个外部集群对应的集群资源;
或,在所述备管理集群上存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,更新所述备管理集群上的集群资源。
可选地,根据本发明提供的一种容器集群管理方法,所述启动所述备管理集群的第二集群管理服务,包括:
基于预设启动配置,启动所述第二集群管理服务;
所述预设启动配置用于指示在获取各个外部集群对应的集群资源之前,禁用所述第二集群管理服务的列表监视机制,在获取各个外部集群对应的集群资源之后,启动所述第二集群管理服务的列表监视机制。
可选地,根据本发明提供的一种容器集群管理方法,在所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源之后,还包括:
启动所述备管理集群中除所述第二集群管理服务之外的各个服务;
所述第二集群管理服务为在确定所述主管理集群发生故障的情况下,所述备管理集群上首个启动的服务。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述第一数据库是否处于工作状态;
若确定所述第一数据库处于工作状态,启动单向同步,所述单向同步为从所述第二数据库到所述第一数据库的数据库同步操作。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述主管理集群的故障是否消除;
若确定所述主管理集群的故障消除,则停止备管理集群上的各服务。
可选地,根据本发明提供的一种容器集群管理方法,所述停止备管理集群上的各服务,包括:
判断所述第二数据库的数据是否已同步至所述第一数据库;
若确定所述第二数据库的数据已同步至所述第一数据库,则停止所述第二集群管理服务以及停止所述单向同步;
发送目标消息至所述主管理集群,所述目标消息用于通知所述第二集群管理服务已停止且数据库同步已停止。
可选地,根据本发明提供的一种容器集群管理方法,所述基于各个外部集群对应的集群资源,管理各个外部集群,包括:
基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令,所述纳管指令用于指示由被主管理集群纳管转变为被备管理集群纳管。
可选地,根据本发明提供的一种容器集群管理方法,所述纳管指令中携带有所述备管理集群的网络地址,所述备管理集群的网络地址用于更新所述外部集群的配置文件。
可选地,根据本发明提供的一种容器集群管理方法,在所述基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令之后,还包括:
通过所述备管理集群的第二集群管理服务,测试各个外部集群的连通性,获取连通性测试结果;
基于所述连通性测试结果,更新各个外部集群对应的集群资源。
可选地,根据本发明提供的一种容器集群管理方法,所述判断主管理集群是否发生故障,包括:
在所述主管理集群处于断电状态的情况下,确定所述主管理集群发生故障;
或,在所述主管理集群处于通信中断状态的情况下,确定所述主管理集群发生故障。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述主管理集群发生故障之前,还包括:
接收所述第一数据库发送的同步数据,所述同步数据是基于动态迁移方式或定时刷新方式所确定的;
基于所述同步数据,更新所述第二数据库的数据。
可选地,根据本发明提供的一种容器集群管理方法,在所述同步数据是基于动态迁移方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
接收所述第一数据库发送的目标表的同步数据,所述目标表为所述第一数据库中发生数据变更的表。
可选地,根据本发明提供的一种容器集群管理方法,在所述同步数据是基于定时刷新方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
基于预设周期,接收所述第一数据库发送的各个表的数据。
第二方面,本发明还提供一种容器集群管理装置,应用于备管理集群,包括:
判断单元,用于判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
获取单元,用于若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
管理单元,用于基于各个外部集群对应的集群资源,管理各个外部集群。
第三方面,本发明还提供一种容器集群管理系统,包括:主管理集群和应用上述任一项所述容器集群管理方法的备管理集群,所述主管理集群与所述备管理集群为主备关系。
第四方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述容器集群管理方法。
第五方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述容器集群管理方法。
本发明提供的容器集群管理方法、装置、系统、电子设备及存储介质,通过在主管理集群发生故障之前,保持第一数据库所存储的数据与第二数据库所存储的数据相同,备管理集群可以在主管理集群发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,也即备管理集群能够根据第二数据库的内容快速地恢复集群CR,进而备管理集群可以基于所恢复的集群CR,管理各个外部集群,能够在主管理集群发生故障的情况下,高效地由主管理集群对外部集群进行管理切换为由备管理集群对外部集群进行管理,实现CMP的容灾,保障集群管理服务持续处于正常运行状态。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的容器集群管理方法的流程示意图之一;
图2是本发明提供的管理集群的工作原理示意图之一;
图3是本发明提供的容器集群管理方法的流程示意图之二;
图4是本发明提供的管理集群的工作原理示意图之二;
图5是本发明提供的容器集群管理方法的流程示意图之三;
图6是本发明提供的容器集群管理方法的流程示意图之四;
图7是本发明提供的容器集群管理方法的流程示意图之五;
图8是本发明提供的容器集群管理方法的流程示意图之六;
图9是本发明提供的容器集群管理方法的流程示意图之七;
图10是本发明提供的管理集群的工作原理示意图之三;
图11是本发明提供的容器集群管理装置的结构示意图;
图12是本发明提供的容器集群管理系统的结构示意图;
图13是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明提供的容器集群管理方法的流程示意图之一,如图1所示,所述容器集群管理方法的执行主体可以是备管理集群(备CMP)。该方法包括:
步骤101,判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录。
具体地,为了实现CMP的容灾,备管理集群可以实时监测主管理集群(主CMP)是否发生故障,在确定主CMP发生故障的情况下,可以及时执行容灾相关的操作。
例如,主CMP的供电中断,导致主CMP无法提供服务,在此情况下,主CMP发生故障。例如,主CMP的通信中断,导致主CMP无法提供服务,在此情况下,主CMP发生故障。
可以理解的是,K8S有众多自定义资源定义(Custom Resource Definition,CRD),相应的就会生成一些自定义资源(Custom Resource,CR)。在存储集群自身数据的时候,会记录信息到集群CR中。通过监听CR变化可以触发集群的一些功能,如列表监视(List-Watch)机制。K8S通过List-Watch机制进行每个组件的协作,保持数据同步。List-Watch由List和Watch两部分组成,List就是普通的超文本传输协议(HyperText TransferProtocol,HTTP)短链接,可以获取各种资源的列表数据,而Watch则是通过调用资源的Watch 应用程序编程接口(Application Programming Interface,API)监听资源变更时间,基于HTTP长链接实现。
集群的数据不止记录在CR中,还在数据库中记录了一份。CR中数据的作用是方便管理集群状态,同时可以通过CR的变化通知其他服务做出处理,因为集群的List-Wacth是根据CR变化而触发的。
图2是本发明提供的管理集群的工作原理示意图之一,如图2所示,集群管理服务包括业务逻辑层和List-Watch层。业务逻辑层负责处理外部集群的纳管、修改、移除和监控等业务。List-Watch层负责监听CR,同步K8S的CR资源,并根据CR的变化触发业务逻辑和数据同步。外部集群添加到集群管理服务后,集群管理服务的业务逻辑层会在CMP上根据集群的CRD创建对应的CR,该CR代表添加进来的外部集群,同时,在数据库(Database,DB)会存储外部集群的一条数据。在数据库的数据主要用于集群管理服务自身的业务,CR用于同步底层状态。当集群状态变化时,List-Watch根据CR找到资源,去监测资源状态变化,同时将变化记录,并更新到数据库。CR的变化还会触发其他服务的List-Watch,导致业务数据变化,如外部集群状态的变化会导致集群上应用的状态变化,导致集群的插件状态变化等。
步骤102,若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同。
具体地,通过在主CMP发生故障之前,保持第一数据库所存储的数据与第二数据库所存储的数据相同,备CMP可以在主CMP发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,备CMP能够根据第二数据库的内容快速地恢复集群CR。
步骤103,基于各个外部集群对应的集群资源,管理各个外部集群。
具体地,在根据第二数据库的内容快速地恢复集群CR之后,可以基于所恢复的集群CR,管理各个外部集群,能够在主管理集群发生故障的情况下,高效地由主管理集群对外部集群进行管理切换为由备管理集群对外部集群进行管理,实现CMP的容灾。
可以理解的是,在CMP容灾场景中,同时存在主CMP和备CMP,主备CMP上都有完整的应用服务。容灾场景包括以下:1、主CMP、备CMP同时活着,但只有一个能够访问;2、主CMP因异常中断,如断电断网等导致完全无法服务。当容灾发生时,需要启动备CMP,以保证集群管理服务可用。
CMP容灾时,使用主备方式进行容灾,即同时存在主CMP和备CMP,当主CMP故障后,启动备CMP,备CMP上的数据与主CMP一致(可以根据数据库同步机制实现集群数据能够准确同步到备CMP),以实现CMP的容灾。
本发明提供的容器集群管理方法,通过在主管理集群发生故障之前,保持第一数据库所存储的数据与第二数据库所存储的数据相同,备管理集群可以在主管理集群发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,也即备管理集群能够根据第二数据库的内容快速地恢复集群CR,进而备管理集群可以基于所恢复的集群CR,管理各个外部集群,能够在主管理集群发生故障的情况下,高效地由主管理集群对外部集群进行管理切换为由备管理集群对外部集群进行管理,实现CMP的容灾,保障集群管理服务持续处于正常运行状态。
可选地,根据本发明提供的一种容器集群管理方法,所述若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在确定所述主管理集群发生故障的情况下,判断所述主管理集群的第一集群管理服务是否停止以及数据库同步是否停止;
若确定所述第一集群管理服务已停止且数据库同步已停止,则启动所述备管理集群的第二集群管理服务;
通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
具体地,图3是本发明提供的容器集群管理方法的流程示意图之二,如图3所示,所述容器集群管理方法包括步骤301至步骤305。
步骤301,判断主管理集群是否发生故障。
步骤302,在确定主管理集群发生故障的情况下,判断主管理集群的第一集群管理服务是否停止以及数据库同步是否停止。
步骤303,若确定第一集群管理服务已停止且数据库同步已停止,则启动备管理集群的第二集群管理服务。
可以理解的是,集群管理服务无法在主备CMP上同时运行,只能运行一个集群管理服务。图4是本发明提供的管理集群的工作原理示意图之二,如图4所示,当两个CMP同时运行着集群管理服务时,如果都对外部集群的资源进行操作,就会导致资源争夺,导致两个CMP都无法使用资源,一种场景是对外部集群的插件(Plugin)进行操作,如主CMP进行卸载而备CMP进行修改,这会导致备CMP的修改失败。另一个问题是List-Watch,主备CMP同时运行着List-Watch,当资源状态变化时,只能有一个List-Watch监听资源变化。因此,主CMP和备CMP的集群管理服务只能存活一个。通过在确定第一集群管理服务已停止且数据库同步已停止之后,启动备管理集群的第二集群管理服务,避免主CMP和备CMP的集群管理服务同时运行,保障业务的稳定。
步骤304,通过第二集群管理服务,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
步骤305,基于各个外部集群对应的集群资源,管理各个外部集群。
可选地,根据本发明提供的一种容器集群管理方法,所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在所述备管理集群上不存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,生成各个外部集群对应的集群资源;
或,在所述备管理集群上存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,更新所述备管理集群上的集群资源。
具体地,在主CMP和备CMP开机运行之后,若备CMP未执行过容灾操作(也即主CMP未发生故障),则备CMP上不存在集群资源(集群CR);若备CMP执行过容灾操作(也即主CMP未发生过一次或多次故障),则备CMP上存在集群CR。针对上述不同场景,备CMP在根据第二数据库的内容恢复集群CR过程中需要采取不同的操作。在备CMP上不存在集群CR的情况下,可以通过备CMP,基于第二数据库所存储的集群资源变更记录,生成各个外部集群对应的集群CR。在备CMP上存在集群CR的情况下,可以通过备CMP,根据第二数据库的外部集群数据与底层CR的外部集群数据对比,当发现不一致时以数据库为准,对底层CR进行更新。
因此,通过在备CMP上不存在集群CR的情况下生成集群CR,在备CMP上存在集群CR的情况下更新集群CR,能够采用合适的方式恢复集群CR,以适应不同的业务场景。
可选地,根据本发明提供的一种容器集群管理方法,所述启动所述备管理集群的第二集群管理服务,包括:
基于预设启动配置,启动所述第二集群管理服务;
所述预设启动配置用于指示在获取各个外部集群对应的集群资源之前,禁用所述第二集群管理服务的列表监视机制,在获取各个外部集群对应的集群资源之后,启动所述第二集群管理服务的列表监视机制。
具体地,在容灾时,需要保证资源的同步不会导致业务的变化,这在容灾场景中是重要的。如果在容灾时触发了业务逻辑,导致业务变更或丢失,就会造成生产事故。通过在获取各个外部集群对应的集群CR之前,禁用第二集群管理服务的列表监视(List-Watch)机制,在获取各个外部集群对应的集群CR之后,启动第二集群管理服务的List-Watch机制,能够保证集群数据能够准确同步到备CMP,并且保证业务的稳定。
可选地,根据本发明提供的一种容器集群管理方法,在所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源之后,还包括:
启动所述备管理集群中除所述第二集群管理服务之外的各个服务;
所述第二集群管理服务为在确定所述主管理集群发生故障的情况下,所述备管理集群上首个启动的服务。
具体地,在集群管理服务容灾时,如果在容灾时启动了其他服务(如日志服务或应用服务等),导致业务变更或业务逻辑错误,就会造成生产事故。通过将第二集群管理服务作为首个启动的服务,在获取各个外部集群对应的集群CR之后,再启动其他服务(也即备CMP中除第二集群管理服务之外的各个服务),能够保证业务的稳定。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述第一数据库是否处于工作状态;
若确定所述第一数据库处于工作状态,启动单向同步,所述单向同步为从所述第二数据库到所述第一数据库的数据库同步操作。
具体地,图5是本发明提供的容器集群管理方法的流程示意图之三,如图5所示,所述容器集群管理方法包括步骤501至步骤506。
步骤501,判断主管理集群是否发生故障。
步骤502,在确定主管理集群发生故障的情况下,判断主管理集群的第一集群管理服务是否停止以及数据库同步是否停止。
步骤503,若确定第一集群管理服务已停止且数据库同步已停止,则启动备管理集群的第二集群管理服务。
步骤504,若确定所述第一数据库处于工作状态,启动单向同步。
具体地,通过将从第二数据库的数据实时同步到第一数据库,可以在主CMP消除故障之后,主CMP能够基于第一数据库的内容快速地恢复集群CR,实现高效地切回至主CMP,提升管理效率。
步骤505,通过第二集群管理服务,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
步骤506,基于各个外部集群对应的集群资源,管理各个外部集群。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述主管理集群的故障是否消除;
若确定所述主管理集群的故障消除,则停止备管理集群上的各服务。
具体地,通过实时地监测主CMP的故障消除情况,可以在确定主CMP故障消除之后,停止备CMP上的各服务,为主CMP启动第一集群管理服务提供条件,使得主CMP能够在消除故障之后,快速地启动第一集群管理服务,实现高效地切回至主CMP,提升管理效率。
可选地,根据本发明提供的一种容器集群管理方法,所述停止备管理集群上的各服务,包括:
判断所述第二数据库的数据是否已同步至所述第一数据库;
若确定所述第二数据库的数据已同步至所述第一数据库,则停止所述第二集群管理服务以及停止所述单向同步;
发送目标消息至所述主管理集群,所述目标消息用于通知所述第二集群管理服务已停止且数据库同步已停止。
具体地,通过实时地监测主CMP的故障消除情况,可以在确定主CMP故障消除之后,可以判断第二数据库的数据是否已同步至第一数据库,若确定第二数据库的数据已同步至第一数据库,则停止第二集群管理服务以及停止所述单向同步,为主CMP启动第一集群管理服务提供条件,进而可以发送目标消息至主管理集群,使得主CMP能够在消除故障之后,快速地启动第一集群管理服务,并通过第一集群管理服务,基于第一数据库的内容快速地恢复集群CR,实现高效地切回至主CMP,提升管理效率。
可选地,根据本发明提供的一种容器集群管理方法,所述基于各个外部集群对应的集群资源,管理各个外部集群,包括:
基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令,所述纳管指令用于指示由被主管理集群纳管转变为被备管理集群纳管。
具体地,图6是本发明提供的容器集群管理方法的流程示意图之四,如图6所示,所述容器集群管理方法包括步骤601至步骤603。
步骤601,判断主管理集群是否发生故障。
步骤602,若确定主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
步骤603,基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令。
可以理解的是,通过向各个外部集群发送纳管指令,可以修改外部集群的配置文件,以使外部集群由被主管理集群纳管转变为被备管理集群纳管,即修改外部集群的指向,将其配置文件指向到备CMP,实现在容灾场景下高效地将外部集群重新接入,保障业务稳定。
可选地,根据本发明提供的一种容器集群管理方法,所述纳管指令中携带有所述备管理集群的网络地址,所述备管理集群的网络地址用于更新所述外部集群的配置文件。
具体地,外部集群被CMP纳管后,在外部集群的配置文件(ConfigMap)上会记录CMP的地址,这可以看做一个锁,防止外部集群被多个CMP纳管。需要修改外部集群的ConfigMap中对应的CMP地址,以将外部集群接入到备CMP中,将其配置文件指向到备CMP,实现在容灾场景下高效地将外部集群重新接入,保障业务稳定。
可选地,根据本发明提供的一种容器集群管理方法,在所述基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令之后,还包括:
通过所述备管理集群的第二集群管理服务,测试各个外部集群的连通性,获取连通性测试结果;
基于所述连通性测试结果,更新各个外部集群对应的集群资源。
具体地,在将外部集群接入到备CMP之后,需要集群管理服务测试集群连通性,基于连通性测试结果,更新各个外部集群对应的集群资源,以保证集群可用。
可选地,根据本发明提供的一种容器集群管理方法,所述判断主管理集群是否发生故障,包括:
在所述主管理集群处于断电状态的情况下,确定所述主管理集群发生故障;
或,在所述主管理集群处于通信中断状态的情况下,确定所述主管理集群发生故障。
具体地,图7是本发明提供的容器集群管理方法的流程示意图之五,如图7所示,所述容器集群管理方法包括步骤701至步骤704。
步骤701,在主管理集群处于断电状态的情况下,确定主管理集群发生故障,进而执行步骤703。
具体地,主CMP的供电中断会导致主CMP发生故障,可以对主CMP的供电状态进行监测,若确定主CMP处于断电状态,则可以确定主CMP发生故障,进而可以执行容灾操作。
步骤702,在主管理集群处于通信中断状态的情况下,确定主管理集群发生故障,进而执行步骤703。
具体地,主CMP的通信中断会导致主CMP发生故障,可以对主CMP的通信状态进行监测,若确定主CMP处于通信中断状态,则可以确定主CMP发生故障,进而可以执行容灾操作。
步骤703,若确定主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
步骤704,基于各个外部集群对应的集群资源,管理各个外部集群。
因此,通过对主CMP的各种故障状态进行监测,可以在主CMP发生故障的情况下,及时执行容灾操作,以切换至备CMP,保障业务稳定。
可选地,根据本发明提供的一种容器集群管理方法,在确定所述主管理集群发生故障之前,还包括:
接收所述第一数据库发送的同步数据,所述同步数据是基于动态迁移方式或定时刷新方式所确定的;
基于所述同步数据,更新所述第二数据库的数据。
具体地,图8是本发明提供的容器集群管理方法的流程示意图之六,如图8所示,所述容器集群管理方法包括步骤801至步骤805。
步骤801,接收所述第一数据库发送的同步数据。
步骤802,基于所述同步数据,更新所述第二数据库的数据。
具体地,通过在主CMP发生故障之前,接收第一数据库发送的同步数据,基于同步数据,更新第二数据库的数据,能够保持第一数据库所存储的数据与第二数据库所存储的数据相同,备CMP可以在主CMP发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,备CMP能够根据第二数据库的内容快速地恢复集群CR。
步骤803,判断主管理集群是否发生故障。
步骤804,若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
步骤805,基于各个外部集群对应的集群资源,管理各个外部集群。
可选地,根据本发明提供的一种容器集群管理方法,在所述同步数据是基于动态迁移方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
接收所述第一数据库发送的目标表的同步数据,所述目标表为所述第一数据库中发生数据变更的表。
可以理解的是,当主CMP的数据有新增、修改、删除时,可以按照动态迁移方式,立刻将这张表的数据与备CMP同步,在同步数据是基于动态迁移方式所确定的情况下,备CMP可以接收第一数据库发送的目标表的同步数据,基于同步数据,更新第二数据库的数据,能够保持第一数据库所存储的数据与第二数据库所存储的数据相同,实现备CMP能够根据第二数据库的内容快速地恢复集群CR。
可选地,根据本发明提供的一种容器集群管理方法,在所述同步数据是基于定时刷新方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
基于预设周期,接收所述第一数据库发送的各个表的数据。
可以理解的是,主CMP可以(按照预设周期)启动定时任务,每隔一段时间,对整个数据库的所有表做一次同步,在同步数据是基于定时刷新方式所确定的情况下,备CMP可以基于预设周期,接收第一数据库发送的各个表的数据,以防止有未同步的数据。双重保障下,可保证集群的数据在数据库时刻保持一致。
可选地,图9是本发明提供的容器集群管理方法的流程示意图之七,图10是本发明提供的管理集群的工作原理示意图之三,如图9和图10所示,所述容器集群管理方法,包括步骤901至步骤904。
步骤901,数据库实时同步。
具体地,未发生容灾时,主CMP和备CMP的数据库都是处于运行状态,备CMP实时接收主CMP的数据,为保证数据一致性,数据库采用动态迁移和定时刷新的方式保证数据一致。当主CMP的数据有新增、修改、删除时,立刻将这张表的数据与备CMP同步。同时,启动定时任务,每隔一段时间,对整个数据库的所有表做一次同步,以防止有未同步的数据。双重保障下,可保证集群的数据在数据库时刻保持一致。
步骤902,集群管理服务启停。
具体地,当主CMP处于运行状态时,备CMP的集群管理服务处于停止状态,这样可以保证数据的唯一性,同时防止对外部集群造成误操作,防止备CMP因外部集群状态的变化触发业务逻辑。主CMP因异常停止集群管理服务,分两种情况:一种是CMP还可以访问,一种是主CMP无法访问。当发生容灾时,需要启动备CMP的逻辑,以根据数据库同步更新集群CR。主CMP的集群管理服务完全停止后,数据库的单向同步也要停止,直到备CMP的集群管理服务启动后,数据库改为从备CMP单向往主CMP同步。启动备CMP,因涉及集群CR的重新生成,因此备CMP上集群管理服务目前采用手动启动方式。备CMP启动后,首先完成自检,根据数据库的外部集群数据与底层CR的外部集群数据对比,当发现不一致时进行以数据库为准更新,同时不要触发List-Watch。自检完成后,接入各业务逻辑,以继续进行服务。
步骤903,集群CR同步。
具体地,外部集群导入到CMP后,会在CMP底层根据集群CRD生成对应的CR。主CMP上的CR,在备CMP上是不存在的,因备CMP没有启动集群管理服务。当容灾发生时,主备切换,这时在备CMP其他服务未启动时,应先生成CR,需要集群管理服务根据数据库内容恢复集群CR,在恢复过程中,先不要启动其他服务,待CR恢复后再以此启动其他服务,以保证应用数据稳定。
步骤904,外部集群重新接入。
具体地,CR和数据库保持一致后,并且备CMP的集群管理服务也启动了,这时就要保证外部集群能够可用。外部集群被CMP纳管后,在外部集群的ConfigMap上会记录CMP的地址,这可以看做一个锁,防止外部集群被多个CMP纳管。最后,需要修改外部集群的ConfigMap中对应的CMP地址,以将外部集群接入到备CMP中。接入后,需要集群管理服务测试集群连通性,以保证集群可用。这可以看做是一个集群自检过程。
可以理解的是,通过数据库实时同步、集群管理服务启停、集群CR同步以及外部集群重新接入,实现CMP的容灾,保证集群管理服务的持续可用,在主CMP故障的情况下依然可以提供集群服务,保证集群数据的安全性和持续性,不因为故障而造成数据丢失或业务故障,能够提高平台的稳定性和安全性。
本发明提供的容器集群管理方法,通过在主管理集群发生故障之前,保持第一数据库所存储的数据与第二数据库所存储的数据相同,备管理集群可以在主管理集群发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,也即备管理集群能够根据第二数据库的内容快速地恢复集群CR,进而备管理集群可以基于所恢复的集群CR,管理各个外部集群,能够在主管理集群发生故障的情况下,高效地由主管理集群对外部集群进行管理切换为由备管理集群对外部集群进行管理,实现CMP的容灾,保障集群管理服务持续处于正常运行状态。
下面对本发明提供的容器集群管理装置进行描述,下文描述的容器集群管理装置与上文描述的容器集群管理方法可相互对应参照。
图11是本发明提供的容器集群管理装置的结构示意图,如图11所示,所述装置应用于备管理集群,所述装置包括:判断单元1101、获取单元1102和管理单元1103,其中:
判断单元,用于判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
获取单元,用于若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
管理单元,用于基于各个外部集群对应的集群资源,管理各个外部集群。
可选地,所述获取单元具体用于:
在确定所述主管理集群发生故障的情况下,判断所述主管理集群的第一集群管理服务是否停止以及数据库同步是否停止;
若确定所述第一集群管理服务已停止且数据库同步已停止,则启动所述备管理集群的第二集群管理服务;
通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
可选地,所述获取单元具体用于:
在所述备管理集群上不存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,生成各个外部集群对应的集群资源;
或,在所述备管理集群上存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,更新所述备管理集群上的集群资源。
可选地,所述获取单元具体用于:
基于预设启动配置,启动所述第二集群管理服务;
所述预设启动配置用于指示在获取各个外部集群对应的集群资源之前,禁用所述第二集群管理服务的列表监视机制,在获取各个外部集群对应的集群资源之后,启动所述第二集群管理服务的列表监视机制。
可选地,所述装置还包括启动单元,在所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源之后,所述启动单元用于:
启动所述备管理集群中除所述第二集群管理服务之外的各个服务;
所述第二集群管理服务为在确定所述主管理集群发生故障的情况下,所述备管理集群上首个启动的服务。
可选地,所述装置还包括数据同步单元,在确定所述第一集群管理服务已停止且数据库同步已停止之后,所述数据同步单元用于:
判断所述第一数据库是否处于工作状态;
若确定所述第一数据库处于工作状态,启动单向同步,所述单向同步为从所述第二数据库到所述第一数据库的数据库同步操作。
可选地,所述装置还包括停止单元,在确定所述第一集群管理服务已停止且数据库同步已停止之后,所述停止单元用于:
判断所述主管理集群的故障是否消除;
若确定所述主管理集群的故障消除,则停止备管理集群上的各服务。
可选地,所述停止单元具体用于:
判断所述第二数据库的数据是否已同步至所述第一数据库;
若确定所述第二数据库的数据已同步至所述第一数据库,则停止所述第二集群管理服务以及停止所述单向同步;
发送目标消息至所述主管理集群,所述目标消息用于通知所述第二集群管理服务已停止且数据库同步已停止。
可选地,所述管理单元具体用于:
基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令,所述纳管指令用于指示由被主管理集群纳管转变为被备管理集群纳管。
可选地,所述纳管指令中携带有所述备管理集群的网络地址,所述备管理集群的网络地址用于更新所述外部集群的配置文件。
可选地,所述装置还包括测试单元,在所述基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令之后,所述测试单元用于:
通过所述备管理集群的第二集群管理服务,测试各个外部集群的连通性,获取连通性测试结果;
基于所述连通性测试结果,更新各个外部集群对应的集群资源。
可选地,所述判断单元具体用于:
在所述主管理集群处于断电状态的情况下,确定所述主管理集群发生故障;
或,在所述主管理集群处于通信中断状态的情况下,确定所述主管理集群发生故障。
可选地,所述装置还包括更新单元,在确定所述主管理集群发生故障之前,所述更新单元用于:
接收所述第一数据库发送的同步数据,所述同步数据是基于动态迁移方式或定时刷新方式所确定的;
基于所述同步数据,更新所述第二数据库的数据。
可选地,在所述同步数据是基于动态迁移方式所确定的情况下,所述更新单元具体用于:
接收所述第一数据库发送的目标表的同步数据,所述目标表为所述第一数据库中发生数据变更的表。
可选地,在所述同步数据是基于定时刷新方式所确定的情况下,所述更新单元具体用于:
基于预设周期,接收所述第一数据库发送的各个表的数据。
本发明提供的容器集群管理装置,通过在主管理集群发生故障之前,保持第一数据库所存储的数据与第二数据库所存储的数据相同,备管理集群可以在主管理集群发生故障的情况下,基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,也即备管理集群能够根据第二数据库的内容快速地恢复集群CR,进而备管理集群可以基于所恢复的集群CR,管理各个外部集群,能够在主管理集群发生故障的情况下,高效地由主管理集群对外部集群进行管理切换为由备管理集群对外部集群进行管理,实现CMP的容灾,保障集群管理服务持续处于正常运行状态。
图12是本发明提供的容器集群管理系统的结构示意图,如图12所示,所述系统包括:主管理集群1201和应用上述任一项容器集群管理方法的备管理集群1202,主管理集群1201与备管理集群1202为主备关系。
可选地,所述主管理集群包括第一数据库;
所述第一数据库,用于在所述主管理集群未发生故障的情况下,存储集群资源变更记录以及同步数据至第二数据库,以及在所述主管理集群发生故障的情况下,停止同步数据至所述第二数据库并接收所述第二数据库发送的同步数据。
图13是本发明提供的电子设备的结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行容器集群管理方法,该方法包括:
判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
基于各个外部集群对应的集群资源,管理各个外部集群。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的容器集群管理方法,该方法包括:
判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
基于各个外部集群对应的集群资源,管理各个外部集群。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (20)

1.一种容器集群管理方法,其特征在于,应用于备管理集群,包括:
判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
基于各个外部集群对应的集群资源,管理各个外部集群。
2.根据权利要求1所述容器集群管理方法,其特征在于,所述若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在确定所述主管理集群发生故障的情况下,判断所述主管理集群的第一集群管理服务是否停止以及数据库同步是否停止;
若确定所述第一集群管理服务已停止且数据库同步已停止,则启动所述备管理集群的第二集群管理服务;
通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源。
3.根据权利要求2所述容器集群管理方法,其特征在于,所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,包括:
在所述备管理集群上不存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,生成各个外部集群对应的集群资源;
或,在所述备管理集群上存在集群资源的情况下,通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,更新所述备管理集群上的集群资源。
4.根据权利要求2所述容器集群管理方法,其特征在于,所述启动所述备管理集群的第二集群管理服务,包括:
基于预设启动配置,启动所述第二集群管理服务;
所述预设启动配置用于指示在获取各个外部集群对应的集群资源之前,禁用所述第二集群管理服务的列表监视机制,在获取各个外部集群对应的集群资源之后,启动所述第二集群管理服务的列表监视机制。
5.根据权利要求2所述容器集群管理方法,其特征在于,在所述通过所述第二集群管理服务,基于所述第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源之后,还包括:
启动所述备管理集群中除所述第二集群管理服务之外的各个服务;
所述第二集群管理服务为在确定所述主管理集群发生故障的情况下,所述备管理集群上首个启动的服务。
6.根据权利要求2所述容器集群管理方法,其特征在于,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述第一数据库是否处于工作状态;
若确定所述第一数据库处于工作状态,启动单向同步,所述单向同步为从所述第二数据库到所述第一数据库的数据库同步操作。
7.根据权利要求6所述容器集群管理方法,其特征在于,在确定所述第一集群管理服务已停止且数据库同步已停止之后,还包括:
判断所述主管理集群的故障是否消除;
若确定所述主管理集群的故障消除,则停止备管理集群上的各服务。
8.根据权利要求7所述容器集群管理方法,其特征在于,所述停止备管理集群上的各服务,包括:
判断所述第二数据库的数据是否已同步至所述第一数据库;
若确定所述第二数据库的数据已同步至所述第一数据库,则停止所述第二集群管理服务以及停止所述单向同步;
发送目标消息至所述主管理集群,所述目标消息用于通知所述第二集群管理服务已停止且数据库同步已停止。
9.根据权利要求1所述容器集群管理方法,其特征在于,所述基于各个外部集群对应的集群资源,管理各个外部集群,包括:
基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令,所述纳管指令用于指示由被主管理集群纳管转变为被备管理集群纳管。
10.根据权利要求9所述容器集群管理方法,其特征在于,所述纳管指令中携带有所述备管理集群的网络地址,所述备管理集群的网络地址用于更新所述外部集群的配置文件。
11.根据权利要求9所述容器集群管理方法,其特征在于,在所述基于各个外部集群对应的集群资源,向各个外部集群发送纳管指令之后,还包括:
通过所述备管理集群的第二集群管理服务,测试各个外部集群的连通性,获取连通性测试结果;
基于所述连通性测试结果,更新各个外部集群对应的集群资源。
12.根据权利要求1所述容器集群管理方法,其特征在于,所述判断主管理集群是否发生故障,包括:
在所述主管理集群处于断电状态的情况下,确定所述主管理集群发生故障;
或,在所述主管理集群处于通信中断状态的情况下,确定所述主管理集群发生故障。
13.根据权利要求1-12任一项所述容器集群管理方法,其特征在于,在确定所述主管理集群发生故障之前,还包括:
接收所述第一数据库发送的同步数据,所述同步数据是基于动态迁移方式或定时刷新方式所确定的;
基于所述同步数据,更新所述第二数据库的数据。
14.根据权利要求13所述容器集群管理方法,其特征在于,在所述同步数据是基于动态迁移方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
接收所述第一数据库发送的目标表的同步数据,所述目标表为所述第一数据库中发生数据变更的表。
15.根据权利要求14所述容器集群管理方法,其特征在于,在所述同步数据是基于定时刷新方式所确定的情况下,所述接收所述第一数据库发送的同步数据,包括:
基于预设周期,接收所述第一数据库发送的各个表的数据。
16.一种容器集群管理装置,其特征在于,应用于备管理集群,包括:
判断单元,用于判断主管理集群是否发生故障,主管理集群包括第一数据库和各个外部集群对应的集群资源,所述第一数据库用于存储集群资源变更记录;
获取单元,用于若确定所述主管理集群发生故障,则基于第二数据库所存储的集群资源变更记录,获取各个外部集群对应的集群资源,所述备管理集群包括所述第二数据库,在确定所述主管理集群发生故障之前,所述第一数据库所存储的数据与所述第二数据库所存储的数据相同;
管理单元,用于基于各个外部集群对应的集群资源,管理各个外部集群。
17.一种容器集群管理系统,其特征在于,包括:主管理集群和应用如权利要求1-15任一项所述容器集群管理方法的备管理集群,所述主管理集群与所述备管理集群为主备关系。
18.根据权利要求17所述容器集群管理系统,其特征在于,所述主管理集群包括第一数据库;
所述第一数据库,用于在所述主管理集群未发生故障的情况下,存储集群资源变更记录以及同步数据至第二数据库,以及在所述主管理集群发生故障的情况下,停止同步数据至所述第二数据库并接收所述第二数据库发送的同步数据。
19.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至15任一项所述容器集群管理方法。
20.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至15任一项所述容器集群管理方法。
CN202310488150.0A 2023-05-04 2023-05-04 容器集群管理方法、装置、系统、电子设备及存储介质 Active CN116185697B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310488150.0A CN116185697B (zh) 2023-05-04 2023-05-04 容器集群管理方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310488150.0A CN116185697B (zh) 2023-05-04 2023-05-04 容器集群管理方法、装置、系统、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116185697A true CN116185697A (zh) 2023-05-30
CN116185697B CN116185697B (zh) 2023-08-04

Family

ID=86442653

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310488150.0A Active CN116185697B (zh) 2023-05-04 2023-05-04 容器集群管理方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116185697B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116448206A (zh) * 2023-06-14 2023-07-18 广东广宇科技发展有限公司 一种地下车库内涝预警监测系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384267A (zh) * 2013-06-07 2013-11-06 曙光信息产业(北京)有限公司 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法
CN105141456A (zh) * 2015-08-25 2015-12-09 山东超越数控电子有限公司 一种高可用集群资源监控方法
CN110661637A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 分布式系统成员变更方法和分布式系统
CN112463448A (zh) * 2020-11-27 2021-03-09 苏州浪潮智能科技有限公司 分布式集群数据库同步方法、装置、设备及存储介质
CN115640169A (zh) * 2022-12-22 2023-01-24 苏州浪潮智能科技有限公司 保障主集群停止提供服务的方法、系统、设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103384267A (zh) * 2013-06-07 2013-11-06 曙光信息产业(北京)有限公司 一种基于分布式块设备的Parastor200并行存储管理节点高可用方法
CN105141456A (zh) * 2015-08-25 2015-12-09 山东超越数控电子有限公司 一种高可用集群资源监控方法
CN110661637A (zh) * 2018-06-30 2020-01-07 华为技术有限公司 分布式系统成员变更方法和分布式系统
CN112463448A (zh) * 2020-11-27 2021-03-09 苏州浪潮智能科技有限公司 分布式集群数据库同步方法、装置、设备及存储介质
CN115640169A (zh) * 2022-12-22 2023-01-24 苏州浪潮智能科技有限公司 保障主集群停止提供服务的方法、系统、设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
徐国爱等: "《信息安全管理 第3版》", 北京:北京邮电大学出版社, pages: 153 - 155 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116448206A (zh) * 2023-06-14 2023-07-18 广东广宇科技发展有限公司 一种地下车库内涝预警监测系统及方法
CN116448206B (zh) * 2023-06-14 2023-10-31 广东广宇科技发展有限公司 一种地下车库内涝预警监测系统及方法

Also Published As

Publication number Publication date
CN116185697B (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
WO2017177941A1 (zh) 主备数据库切换方法和装置
CN111427728B (zh) 状态管理方法、主备切换方法及电子设备
WO2021103499A1 (zh) 一种基于多活数据中心的流量切换方法及装置
CN102394914A (zh) 集群脑裂处理方法和装置
CN112506702B (zh) 数据中心容灾方法、装置、设备及存储介质
CN103036719A (zh) 一种基于主备集群服务器的跨地区服务容灾方法及装置
CN116185697B (zh) 容器集群管理方法、装置、系统、电子设备及存储介质
CN109324942B (zh) 微服务的双活处理方法、装置及系统、设备、存储介质
CN112190924A (zh) 一种数据容灾方法、装置及计算机可读介质
CN114764380A (zh) 一种基于etcd的分布式集群控制方法和装置
CN111966467A (zh) 基于kubernetes容器平台灾备的方法及装置
CN110377487A (zh) 一种处理高可用集群脑裂的方法及装置
US20230004465A1 (en) Distributed database system and data disaster backup drilling method
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN113438111A (zh) 基于Raft分布式恢复RabbitMQ网络分区的方法及应用
CN110716828B (zh) 一种数据库实时备份方法
CN114598711B (zh) 一种数据迁移方法、装置、设备及介质
CN112491633B (zh) 一种多节点集群的故障恢复方法、系统及相关组件
CN115658390A (zh) 容器容灾方法、系统、装置、设备及计算机可读存储介质
CN113515574B (zh) 一种数据同步方法及装置
CN116166470A (zh) Redis集群克隆复制方法及装置、介质、设备
CN114328033A (zh) 保持高可用设备组业务配置一致性的方法及装置
CN110569303B (zh) 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN113472891A (zh) 一种sdn控制器集群数据处理方法、设备及介质
CN116760693B (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
GR01 Patent grant
GR01 Patent grant