CN113626280B - 集群状态控制方法、装置、电子设备及可读存储介质 - Google Patents

集群状态控制方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN113626280B
CN113626280B CN202110744884.1A CN202110744884A CN113626280B CN 113626280 B CN113626280 B CN 113626280B CN 202110744884 A CN202110744884 A CN 202110744884A CN 113626280 B CN113626280 B CN 113626280B
Authority
CN
China
Prior art keywords
cluster
state
target
task
target cluster
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.)
Active
Application number
CN202110744884.1A
Other languages
English (en)
Other versions
CN113626280A (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.)
Guangdong Inspur Smart Computing Technology Co Ltd
Original Assignee
Guangdong Inspur Smart Computing 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 Guangdong Inspur Smart Computing Technology Co Ltd filed Critical Guangdong Inspur Smart Computing Technology Co Ltd
Priority to CN202110744884.1A priority Critical patent/CN113626280B/zh
Publication of CN113626280A publication Critical patent/CN113626280A/zh
Application granted granted Critical
Publication of CN113626280B publication Critical patent/CN113626280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种集群状态控制方法、装置、电子设备及可读存储介质。其中,方法包括预先构建用于查询集群状态的定时任务和用于监测集群的异步任务;当检测存在集群操作,将集群操作转化为操作信号发送给相应的目标集群,同时触发执行异步任务;当检测到目标集群的状态变更时,触发执行定时任务;基于定时任务、异步任务和目标集群的底层状态更新目标集群的当前状态。本申请能够准确获得当前集群的最新状态,有利于实现容器平台高效、准确地使用集群进行业务操作。

Description

集群状态控制方法、装置、电子设备及可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种集群状态控制方法、装置、电子设备及可读存储介质。
背景技术
在容器平台的系统中,集群管理是容器平台的基础功能。从技术层面来说,容器平台本身也是一个Kubernates集群也称为K8s,但其本身起平台支撑作用,是一个扩展的Kubernates集群。在容器平台上,可以管理众多集群。集群管理是容器平台的底层支撑,通过集群可以创建各个服务,所创建的各服务运行集群上。
在集群管理中,集群的状态是一个非常重要的属性。通常集群添加到容器平台后,默认集群都是正常状态。集群作为容器平台的底层支撑,理论上应该是稳定的,所以目前集群管理并没有对集群的状态做太多控制,只要是添加进来的集群,都以正常状态使用,除非集群移除,否则集群管理中集群状态是不变的。但是,在实际应用中,由于集群有一系列的状态迁移过程,所以集群不一定是稳定的。实际操作中,集群可能失联,如网络中断,也有可能坏掉,这些异常会导致集群不可用。此外,集群删除过程中,由于外部因素导致删除中断,集群未完全删除,造成集群损坏,此处集群也不可用。而在集群不可用的情况下,如果继续用这个集群进行业务操作,业务就会出问题。
状态迁移机制是一套完整的控制状态变化的操作过程。例如在OpenStack的虚拟机管理中,就有一种状态管理机制,OpenStack可以对虚拟机的状态进行良好的控制。在用户操作虚拟机,或者虚拟机运行过程中,如果虚拟机状态发生变化,无论是内部触发还是外部触发,都会触发状态管理,进行状态迁移,将虚拟机的状态调整为正确的状态。参考OpenStack的虚拟机状态管理机制,可以进行集群的状态管理。但集群是比虚拟机更上一层的对象,因此,集群的状态机要求更加严格。集群是容器平台的基础组成部分,集群的每一个状态变动都会影响容器平台的各个模块,因此,需要设计一套严密的集群状态控制机制,以保证集群出问题后能够及时恢复,并保证状态永远处于可用状态。基于此,相关技术提出了集群管理工具来实现对集群状态的控制,如rancher等,其提供了集群状态的查询方法,在集群发生变化后,能够更新集群状态,如在集群创建过程中,当集群创建完成后,可以将集群状态变为可用状态。
但是,如果集群创建过程中出现异常,如容器平台管理端与集群创建底层出现网络异常之后,虽然底层在继续创建,并有可能最终创建成功,但由于管理端与底层网络中断后,管理端会认为集群创建失败了,将集群状态置位失败,一旦置位失败,即使底层成功创建了集群,容器平台侧也无法使用该集群。进一步的,如果集群使用过程中出现异常,例如由于集群某些组件异常之后导致的集群异常,这种情况通常可以通过底层各种手段将集群恢复,但由于管理层面无法同步集群状态,即使集群恢复了其状态也是不可以状态。可见,现有的集群管理并不能准确得反馈集群状态,导致容器平台无法准确使用各集群,还容易造成资源浪费。
鉴于此,如何准确获悉集群的最新状态,以使容器平台可高效、准确地使用集群进行业务操作,是所属领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种集群状态控制方法、装置、电子设备及可读存储介质,能够准确获得当前集群的最新状态,有利于实现容器平台高效、准确地使用集群进行业务操作。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种集群状态控制方法,包括:
预先构建用于查询集群状态的定时任务和用于监测集群的异步任务;
当检测存在集群操作,将所述集群操作转化为操作信号发送给相应的目标集群,同时触发执行所述异步任务;
当检测到所述目标集群的状态变更时,触发执行所述定时任务;
基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态。
可选的,所述根据所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态之后,还包括:
将所述目标集群的当前状态存储至集群状态存储中;
当接收到集群状态查询指令,将从所述集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。
可选的,所述将从所述集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中,包括:
若从所述集群状态存储中查询得到的相应集群的当前状态为不可用状态,则将所述不可用状态及不可用原因显示在用户操作界面。
可选的,所述当检测到所述目标集群的状态变更时,触发执行所述定时任务之后,还包括:
判断所述目标集群的当前状态是否进入可用状态或不可用状态;若所述目标集群的当前状态进入可用状态或不可以状态,则终止运行所述定时任务;若所述目标集群的当前状态没有进入可用状态或不可用状态,则继续运行所述定时任务;或
判断集群服务访问是否终止;若所述集群服务访问已终止,则终止运行所述定时任务;若所述集群服务访问没有终止,则继续运行所述定时任务。
可选的,所述基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态,包括:
若所述异步任务反馈所述目标集群对应操作失败,则所述目标集群的当前状态为操作失败状态,同时停止所述异步任务;
创建用于查询所述目标集群底层状态的第二异步任务;
若在预设时间段内所述第二异步任务反馈所述目标集群已修复,则将所述目标集群的当前状态更新为可用状态;
若在预设时间段内所述第二异步任务反馈所述目标集群未修复,则将所述目标集群的当前状态更新为不可用状态。
可选的,所述若所述异步任务反馈所述目标集群对应操作失败之后,还包括:
自动触发执行恢复所述目标集群的操作指令。
本发明实施例另一方面提供了一种集群状态控制装置,包括集群事件监控模块、总线控制器、集群状态机和底层状态监测模块;
所述集群事件监控模块用于监控是否存在用户对集群的操作;
所述总线控制器用于将用户操作和非用户的外部操作转换为操作信号发送给所述集群状态机和底层集群;
所述集群状态机用于构建用于查询集群状态的定时任务和用于监测集群的异步任务;当接收到所述总线控制器发送的操作信号触发执行所述异步任务;当检测到集群状态变更时,触发执行所述定时任务;基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态;
所述底层状态监测模块用于监控所述底层集群的底层状态,并反馈给所述集群状态机。
可选的,还包括集群状态显示模块;
所述集群状态显示模块用于向容器平台提供集群状态查询的应用程序编程接口;当接收到集群状态查询指令,将从集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。
本发明实施例还提供了一种电子设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述集群状态控制方法的步骤。
本发明实施例最后还提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前任一项所述集群状态控制方法的步骤。
本申请提供的技术方案的优点在于,通过定时任务查询集群状态、异步任务监控集群和集群底层的真实状态共同确定集群的当前状态,在集群变动时也能及时将状态变更为正确状态,从而能够有效且准确的同步集群状态,并不用因集群各种异常而去操作数据库更改状态,有效提升集群性能,并且可控制集群最大可能地到达可用状态,使得容器平台中集群的可用性大大提高,使集群最大限度地保证可用,有利于实现容器平台高效、准确地使用集群进行业务操作。
此外,本发明实施例还针对集群状态控制方法提供了相应的实现装置、电子设备及可读存储介质,进一步使得所述方法更具有实用性,所述装置、电子设备及可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种集群状态控制方法的流程示意图;
图2为本发明实施例提供的集群状态迁移示意图;
图3为本发明实施例提供的集群状态控制装置的一种具体实施方式结构图;
图4为本发明实施例提供的集群状态控制装置的集群状态机控制原理示意图;
图5为本发明实施例提供的电子设备的一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种集群状态控制方法的流程示意图,本发明实施例可包括以下内容:
S101:预先构建用于查询集群状态的定时任务和用于监测集群的异步任务。
本步骤的定时任务用于轮询集群状态,其是由状态变更所触发,可以将定时任务看为是由用户界面不停刷新的请求。举例来说,若目标集群的当前状态发生变化,则触发定时任务来获取新的集群状态。异步任务用于监测集群操作执行情况或者是监测集群状态,其是由操作触发,举例来说,当创建一个集群时,将被创建集群置为创建中状态,然后触发底层的安装过程,这期间启动异步任务,进行集群监测,监控该集群的整个创建过程和创建结果。
S102:当检测存在集群操作,将集群操作转化为操作信号发送给相应的目标集群,同时触发执行异步任务。
本步骤的集群操作可包括用户对集群的操作,如普通用户对集群进行创建、删除、修改,或者操作集群的节点调度、开挂机等;运维人员在底层创建集群资源等。这些操作会触发集群的状态迁移,让集群进入状态机机制中。这些集群操作可能是用户通过用户界面输入的,也有可能是通过底层命令触发的。对于用户输入操作,一般来说就是集群的属性修改或节点的开关机及节点调度操作等,底层操作一般是通过底层命令直接修改集群的内容,如操作集群的配置文件或者查询、变更节点等操作。
为了防止直接操作底层集群而造成系统异常,本步骤将用户侧界面与底层集群分开,用户对集群的操作通过转化为集群或底层可识别的接口或命令下发,也即将外部输入的事件转换为底层能够识别的接口和命令。
S103:当检测到目标集群的状态变更时,触发执行定时任务。
本步骤的状态包括但不限制于创建中、删除中、更新中、忙碌、可用、不可用、错误、创建失败、删除失败、更新失败。集群的最终状态可包括两种:可用及不可用,其中不可用状态会附上不可用的原因。其他的状态如创建中、删除中、更新中都为中间状态,而如创建中、删除中、更新中这些状态又是忙碌状态的一种,用户对集群进行增删改之后,触发这些状态变更,状态变为忙碌,同时忙碌后面跟上忙碌的原因。
S104:基于定时任务、异步任务和目标集群的底层状态更新目标集群的当前状态。
本申请的每个集群的当前状态或者是说最新状态都是基于定时任务反馈结果、异步任务反馈结果和目标集群的底层状态共同决定的,通过一系列查询确认集群是否正常,同时将集群的真实状态进行反馈,从而可控制集群最大可能的到达可用状态。底层状态是指集群在底层的实际可用情况,可通过API-Server测试集群可用性及使用一系列查询命令确认集群组件及服务正常,如果都正常,则反馈一个正常的信号,否则反馈异常信号及异常原因。此监测是定时进行的。目标集群的最终状态为可用状态和不可用状态,在可用状态下,可以保持集群持久的稳定,并能够对外提供集群服务,方便其他业务模块对集群的使用。在不可用状态下,需要检测底层集群的真实状态,确认集群的可用性,如果未导致集群异常,则继续通过状态机将集群置位为可用状态,这种状态转换很有必要,在集群因操作导致异常后,如果没有对集群造成破坏,可以恢复集群继续使用,增强了集群的可用性。举例来说,目标集群增删改失败,则集群进入创建失败、删除失败、更新失败状态,也即异步任务或同步任务的反馈结果为创建失败、删除失败、更新失败状态。在此种状态下,集群还要继续进行状态更新,监测底层真实状态,如果集群彻底无法恢复,则更新状态到错误,如在错误状态下无任何干预,则置最终状态为不可用,如在失败后,集群依然可用,则恢复集群状态为可用。
在本发明实施例提供的技术方案中,通过定时任务查询集群状态、异步任务监控集群和集群底层的真实状态共同确定集群的当前状态,在集群变动时也能及时将状态变更为正确状态,从而能够有效且准确的同步集群状态,并不用因集群各种异常而去操作数据库更改状态,有效提升集群性能,并且可控制集群最大可能地到达可用状态,使得容器平台中集群的可用性大大提高,使集群最大限度地保证可用,有利于实现容器平台高效、准确地使用集群进行业务操作。
需要说明的是,本申请中各步骤之间没有严格的先后执行顺序,只要符合逻辑上的顺序,则这些步骤可以同时执行,也可按照某种预设顺序执行,图1只是一种示意方式,并不代表只能是这样的执行顺序。
为了便于用户使用,本实施例还可提供给容器平台一个集群状态查询的应用程序接口API,所有使用集群状态的地方都可以通过此API来获取,也即此接口可以供任何调用集群的地方使用。其最终形态就是一个查询集群状态的API,以获取集群状态存储中的状态。具体的,在上个步骤确定目标集群的当前最新状态后,将目标集群的当前状态存储至集群状态存储中。当接收到集群状态查询指令,将从集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。作为一种可选的实施方式,若从集群状态存储中查询得到的相应集群的当前状态为不可用状态,则将不可用状态及不可用原因显示在用户操作界面。
可以理解的是,集群是容器平台的最大的管理对象,由于集群创建成功之后,在一个很长的时间内都是状态稳定的,一般系统中都不会对集群进行定时刷新,频繁的定时任务会对集群的性能造成影响。因此,更好的方式是采用异步任务,并且只在集群状态变动时触发,当集群到达一个稳定状态的时候,便停止对集群的轮询。基于此,本申请还可为定时任务设置终止条件,可包括下述内容:
判断目标集群的当前状态是否进入可用状态或不可用状态;若目标集群的当前状态进入可用状态或不可以状态,则终止运行定时任务;若目标集群的当前状态没有进入可用状态或不可用状态,则继续运行定时任务;或
判断集群服务访问是否终止;若集群服务访问已终止,则终止运行定时任务;若集群服务访问没有终止,则继续运行定时任务。
本实施例通过为定时任务设置终止条件,可有效降低集群性能损耗,有效提升集群性能。
在上述实施例中,对于如何执行步骤S104并不做限定,本实施例还给出确定目标集群的当前状态的一种实施方式,可包括如下步骤:
若异步任务反馈目标集群对应操作失败,则目标集群的当前状态为操作失败状态,同时停止异步任务。
创建用于查询目标集群底层状态的第二异步任务。
若在预设时间段内第二异步任务反馈目标集群已修复,则将目标集群的当前状态更新为可用状态;
若在预设时间段内第二异步任务反馈目标集群未修复,则将目标集群的当前状态更新为不可用状态。
本步骤的操作是指S102中用户对目标集群的集群操作,在用户下达集群操作指令后,目标集群会接收相应的操作信号执行相应的操作,如删除、创建、修改等,若未能成功执行该操作,也即该操作执行结果为失败,则更新目标集群的最新状态为操作失败状态。由于异步任务就是为了监控集群的操作事件,所以在执行完该操作后,终止该异步任务。预设时间段可根据实际应用场景和容器平台的软硬件环境来确定,如可为1min。为了进一步提高集群的可用性,在目标集群的当前状态为操作失败状态时,还可自动触发执行恢复目标集群的操作指令,系统可采用基础操作对集群进行恢复,从而最大限度的保证集群的可用性。
为了使所属领域技术人员更加清楚明白本申请的技术方案,本申请结合图2和图4阐述了集群状态控制过程,例如可应用在容器平台的一个或多个管理节点上,也即将实现上述集群状态控制方法对应的计算机程序封装为多个功能模块,功能模块可包括安装在管理节点的用户端的集群状态显示,安装在管理节点的集群事件监控,总线控制器,集群状态机,底层状态监测。通过这些功能模块实现对集群状态的控制,可包括下述内容:
其中,集群状态显示是最终提供给用户的集群状态,通过向外部提供可获取集群状态的API以供容器平台需要查询集群状态的地方使用。集群状态时由总线控制器从管理节点的缓存中取出提供给用户查看。
集群事件监控是用来监控用户对集群的操作,如用户对集群的增删改,底层对集群配置的更改及对集群节点的各种操作,监控到这些事件后,收集所有外部对集群的操作,将操作转化为事件通过总线控制器并发送给集群状态机。
总线控制器指的是连接用户操作和状态机直接的通信机制,用户对集群的操作,最终需要通过总线控制器转换为底层能够执行的命令和接口。用户不能直接操作集群的API-Server等,需要通过总线控制器进行转化,用户的操作和非用户的外部操作都通过总线控制器发送给集群的状态机,也即其是外部输入与集群状态机之间的通信通道。总线控制器是分割底层集群核心和用户操作界面的地方,将外部操作转换为操作信号,以集群能够识别并执行的方式传递给集群。集群状态机是一个封闭的控制机制,不可人为操控,其不能由外部操作,通过总线控制器将外部的操作输入到集群状态机中。同时,集群的状态机产生的状态也要通过总线控制器反馈给用户端。
集群状态机通过定时任务、异步任务、状态集,基于状态迁移机制控制集群状态的流转。同时根据底层集群状态,将状态迁移到正确的状态上,同时存储集群的状态。也就是说,集群状态的存储和变更都需要依靠集群状态机,状态迁移机制原理请参阅图2,其最主要的是状态迁移。一个良好的状态迁移机制能够提高集群的使用效率,并且可以保持集群到最佳状态。定时任务的目的是为了轮询,而异步任务的目的是为了监测状态。状态集用于存储集群的所有状态的。定时任务由状态变更触发,当状态进入可用或不可用时终止,或者不再访问集群服务时终止。可以将定时任务看做是由界面不停刷新的请求,由于定时任务会对集群性能造成损耗,因此需要有终止条件。异步任务由操作触发,当创建一个集群时,将被创建集群置为创建中状态,然后触发底层的安装过程,这期间启动异步任务,进行集群监测,如监测到集群创建完成,则校验集群的可用性,如果集群可用,则置状态为可用,此时停止异步任务,如果集群发来创建失败的信号,则置集群为创建失败,并停止异步任务,并反馈给用户侧。创建失败的状态后,集群状态机启用一个新的异步任务,去查询集群的底层状态,并通过一些基础操作尝试恢复集群,如经过一段时间集群未修复,则置状态为不可用,停止异步任务,并通过集群状态显示反馈给用户原因,此时同时停止正在进行的定时任务,如果用户手工修复了集群,则将集群状态置为可用。以上步骤,在删除集群和修改集群时同样进行。集群状态机通过异步任务和定时任务及状态集来变更集群状态,将最新的集群状态写入集群状态存储中,每个集群对应一个状态,状态存储供外部接口调用。
底层状态监测是在底层通过底层命令和API-Server等查询集群的实际状态,可以提供给状态机集群的真实状态。待发现状态变化之后,及时通知到状态机,由状态机将集群状态变更为底层的状态,即与底层状态同步,同步后,将状态放入管理节点的缓存中,并通知到用户端。如果集群接口正常并能够执行监测命令,则反馈给状态机集群状态正常,若监测到集群异常,则反馈给状态机集群异常,并附带异常原因。底层状态监测就是给状态机提供基础的查询服务。
由上可知,本实施例可使得容器平台中集群的可用性大大提高,使集群最大限度的保证可用,并能够及时变更集群状态,提高了集群的效率,减少了集群的轮询导致的性能损耗。同时,集群状态机控制方法能够及时变更集群为正确状态,不用因集群各种异常而去操作数据库更改状态。
本发明实施例还针对集群状态控制方法提供了相应的装置,进一步使得方法更具有实用性。其中,装置可从功能模块的角度和硬件的角度分别说明。下面对本发明实施例提供的集群状态控制装置进行介绍,下文描述的集群状态控制装置与上文描述的集群状态控制方法可相互对应参照。
基于功能模块的角度,参见图3,图3为本发明实施例提供的集群状态控制装置在一种具体实施方式下的结构图,该装置可包括集群事件监控模块301、总线控制器302、集群状态机303和底层状态监测模块304。
集群事件监控模块301用于监控是否存在用户对集群的操作;
总线控制器302用于将用户操作和非用户的外部操作转换为操作信号发送给集群状态机和底层集群;
集群状态机303用于构建用于查询集群状态的定时任务和用于监测集群的异步任务;当接收到总线控制器发送的操作信号触发执行异步任务;当检测到集群状态变更时,触发执行定时任务;基于定时任务、异步任务和目标集群的底层状态更新目标集群的当前状态;
底层状态监测模块304用于监控底层集群的底层状态,并反馈给集群状态机。
可选的,在本实施例的一些实施方式中,上述装置还可以包括存储模块,用于将目标集群的当前状态存储至集群状态存储中。
作为本实施例的一种可选的实施方式,上述装置例如还可包括集群状态显示模块;该模块用于向容器平台提供集群状态查询的应用程序编程接口;当接收到集群状态查询指令,将从集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。
作为本实施例的另一种可选的实施方式,上述集群状态显示模块还可进一步用于:若从集群状态存储中查询得到的相应集群的当前状态为不可用状态,则将不可用状态及不可用原因显示在用户操作界面。
可选的,在本实施例的另一些实施方式中,上述装置例如还可以包括定时任务执行模块,该模块可用于判断目标集群的当前状态是否进入可用状态或不可用状态;若目标集群的当前状态进入可用状态或不可以状态,则终止运行定时任务;若目标集群的当前状态没有进入可用状态或不可用状态,则继续运行定时任务;该模块还可用于判断集群服务访问是否终止;若集群服务访问已终止,则终止运行定时任务;若集群服务访问没有终止,则继续运行定时任务。
可选的,在本实施例的其他一些实施方式中,上述集群状态机303还可进一步用于:
若异步任务反馈目标集群对应操作失败,则目标集群的当前状态为操作失败状态,同时停止异步任务;
创建用于查询目标集群底层状态的第二异步任务;
若在预设时间段内第二异步任务反馈目标集群已修复,则将目标集群的当前状态更新为可用状态;
若在预设时间段内第二异步任务反馈目标集群未修复,则将目标集群的当前状态更新为不可用状态。
作为本实施例的一种可选的实施方式,上述集群状态机303还可进一步包括自动修复单元,用于若异步任务反馈目标集群对应操作失败,自动触发执行恢复目标集群的操作指令。
本发明实施例集群状态控制装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够准确获得当前集群的最新状态,有利于实现容器平台高效、准确地使用集群进行业务操作。
上文中提到的集群状态控制装置是从功能模块的角度描述,进一步的,本申请还提供一种电子设备,是从硬件角度描述。图5为本申请实施例提供的电子设备在一种实施方式下的结构示意图。如图5所示,该电子设备包括存储器50,用于存储计算机程序;处理器51,用于执行计算机程序时实现如上述任一实施例提到的集群状态控制方法的步骤。
其中,处理器51可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器51可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器51也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器51可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器51还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器50可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器50还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器50至少用于存储以下计算机程序501,其中,该计算机程序被处理器51加载并执行之后,能够实现前述任一实施例公开的集群状态控制方法的相关步骤。另外,存储器50所存储的资源还可以包括操作系统502和数据503等,存储方式可以是短暂存储或者永久存储。其中,操作系统502可以包括Windows、Unix、Linux等。数据503可以包括但不限于集群状态控制结果对应的数据等。
在一些实施例中,上述电子设备还可包括有显示屏52、输入输出接口53、通信接口54或者称为网络接口、电源55以及通信总线56。其中,显示屏52、输入输出接口53比如键盘(Keyboard)属于用户接口,可选的用户接口还可以包括标准的有线接口、无线接口等。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。通信接口54可选的可以包括有线接口和/或无线接口,如WI-FI接口、蓝牙接口等,通常用于在电子设备与其他电子设备之间建立通信连接。通信总线56可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extendedindustry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本领域技术人员可以理解,图5中示出的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的组件,例如还可包括实现各类功能的传感器57。
本发明实施例所述电子设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例能够准确获得当前集群的最新状态,有利于实现容器平台高效、准确地使用集群进行业务操作。
可以理解的是,如果上述实施例中的集群状态控制方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、磁碟或者光盘等各种可以存储程序代码的介质。
基于此,本发明实施例还提供了一种可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时如上任意一实施例所述集群状态控制方法的步骤。
本发明实施例所述可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的硬件包括装置及电子设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本申请所提供的一种集群状态控制方法、装置、电子设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种集群状态控制方法,其特征在于,包括:
预先构建用于查询集群状态的定时任务和用于监测集群的异步任务;
当检测存在集群操作,将所述集群操作转化为操作信号发送给相应的目标集群,同时触发执行所述异步任务;
当检测到所述目标集群的状态变更时,触发执行所述定时任务;
基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态。
2.根据权利要求1所述的集群状态控制方法,其特征在于,所述根据所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态之后,还包括:
将所述目标集群的当前状态存储至集群状态存储中;
当接收到集群状态查询指令,将从所述集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。
3.根据权利要求2所述的集群状态控制方法,其特征在于,所述将从所述集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中,包括:
若从所述集群状态存储中查询得到的相应集群的当前状态为不可用状态,则将所述不可用状态及不可用原因显示在用户操作界面。
4.根据权利要求1所述的集群状态控制方法,其特征在于,所述当检测到所述目标集群的状态变更时,触发执行所述定时任务之后,还包括:
判断所述目标集群的当前状态是否进入可用状态或不可用状态;若所述目标集群的当前状态进入可用状态或不可用状态,则终止运行所述定时任务;若所述目标集群的当前状态没有进入可用状态和不可用状态,则继续运行所述定时任务;或判断集群服务访问是否终止;若所述集群服务访问已终止,则终止运行所述定时任务;若所述集群服务访问没有终止,则继续运行所述定时任务。
5.根据权利要求1至4任意一项所述的集群状态控制方法,其特征在于,所述基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态,包括:
若所述异步任务反馈所述目标集群对应操作失败,则所述目标集群的当前状态为操作失败状态,同时停止所述异步任务;
创建用于查询所述目标集群底层状态的第二异步任务;
若在预设时间段内所述第二异步任务反馈所述目标集群已修复,则将所述目标集群的当前状态更新为可用状态;
若在预设时间段内所述第二异步任务反馈所述目标集群未修复,则将所述目标集群的当前状态更新为不可用状态。
6.根据权利要求5所述的集群状态控制方法,其特征在于,所述若所述异步任务反馈所述目标集群对应操作失败之后,还包括:
自动触发执行恢复所述目标集群的操作指令。
7.一种集群状态控制装置,其特征在于,包括集群事件监控模块、总线控制器、集群状态机和底层状态监测模块;
所述集群事件监控模块用于监控是否存在用户对集群的操作;
所述总线控制器用于将用户操作和非用户的外部操作转换为操作信号发送给所述集群状态机和底层集群;
所述集群状态机用于构建用于查询集群状态的定时任务和用于监测集群的异步任务;当接收到所述总线控制器发送的操作信号触发执行所述异步任务;当检测到集群状态变更时,触发执行所述定时任务;基于所述定时任务、所述异步任务和所述目标集群的底层状态更新所述目标集群的当前状态;
所述底层状态监测模块用于监控所述底层集群的底层状态,并反馈给所述集群状态机。
8.根据权利要求7所述的集群状态控制装置,其特征在于,还包括集群状态显示模块;
所述集群状态显示模块用于向容器平台提供集群状态查询的应用程序编程接口;当接收到集群状态查询指令,将从集群状态存储中查询得到的相应集群的当前状态显示在用户操作界面中。
9.一种电子设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6任一项所述集群状态控制方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有集群状态控制计算机程序,所述集群状态控制计算机程序被处理器执行时实现如权利要求1至6任一项所述集群状态控制方法的步骤。
CN202110744884.1A 2021-06-30 2021-06-30 集群状态控制方法、装置、电子设备及可读存储介质 Active CN113626280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110744884.1A CN113626280B (zh) 2021-06-30 2021-06-30 集群状态控制方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110744884.1A CN113626280B (zh) 2021-06-30 2021-06-30 集群状态控制方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113626280A CN113626280A (zh) 2021-11-09
CN113626280B true CN113626280B (zh) 2024-02-09

Family

ID=78378846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110744884.1A Active CN113626280B (zh) 2021-06-30 2021-06-30 集群状态控制方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113626280B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500142B (zh) * 2022-01-29 2023-10-31 海信视像科技股份有限公司 一种控制装置及家电设备的控制方法
CN114363175A (zh) * 2022-03-01 2022-04-15 北京金山云网络技术有限公司 集群监控方法、装置和电子设备
CN114979132B (zh) * 2022-04-13 2024-05-17 京东科技信息技术有限公司 一种集群组件状态探测的方法和装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度系统与调度方法
KR20160025995A (ko) * 2014-08-28 2016-03-09 네이버 주식회사 장애 내구성을 지닌 클러스터의 상태 감시 및 클러스터의 형상 변경을 위한 클러스터 관리 방법 및 데이터 저장 시스템
CN105718351A (zh) * 2016-01-08 2016-06-29 北京汇商融通信息技术有限公司 一种面向Hadoop集群的分布式监控管理系统
CN107943555A (zh) * 2017-10-17 2018-04-20 华南理工大学 一种云计算环境下的大数据存储和处理平台及处理方法
CN108762917A (zh) * 2018-05-04 2018-11-06 平安科技(深圳)有限公司 访问请求处理方法、装置、系统、计算机设备和存储介质
CN110297867A (zh) * 2019-06-28 2019-10-01 浪潮云信息技术有限公司 基于国产cpu和分布式容器集群的数据库集群运行方法及系统
CN110611603A (zh) * 2019-09-09 2019-12-24 苏州浪潮智能科技有限公司 一种集群网卡监控方法及装置
CN110633135A (zh) * 2019-08-15 2019-12-31 中国平安财产保险股份有限公司 异步任务分配方法、装置、计算机设备及存储介质
CN112463535A (zh) * 2020-11-27 2021-03-09 中国工商银行股份有限公司 多集群异常处理方法及装置
CN112468361A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 一种网络连接状态监控方法、装置及电子设备和存储介质

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370679B1 (en) * 2008-06-30 2013-02-05 Symantec Corporation Method, apparatus and system for improving failover within a high availability disaster recovery environment
CN103207814A (zh) * 2012-12-27 2013-07-17 北京仿真中心 一种去中心化的跨集群资源管理与任务调度系统与调度方法
KR20160025995A (ko) * 2014-08-28 2016-03-09 네이버 주식회사 장애 내구성을 지닌 클러스터의 상태 감시 및 클러스터의 형상 변경을 위한 클러스터 관리 방법 및 데이터 저장 시스템
CN105718351A (zh) * 2016-01-08 2016-06-29 北京汇商融通信息技术有限公司 一种面向Hadoop集群的分布式监控管理系统
CN107943555A (zh) * 2017-10-17 2018-04-20 华南理工大学 一种云计算环境下的大数据存储和处理平台及处理方法
CN108762917A (zh) * 2018-05-04 2018-11-06 平安科技(深圳)有限公司 访问请求处理方法、装置、系统、计算机设备和存储介质
CN110297867A (zh) * 2019-06-28 2019-10-01 浪潮云信息技术有限公司 基于国产cpu和分布式容器集群的数据库集群运行方法及系统
CN110633135A (zh) * 2019-08-15 2019-12-31 中国平安财产保险股份有限公司 异步任务分配方法、装置、计算机设备及存储介质
CN110611603A (zh) * 2019-09-09 2019-12-24 苏州浪潮智能科技有限公司 一种集群网卡监控方法及装置
CN112468361A (zh) * 2020-11-19 2021-03-09 苏州浪潮智能科技有限公司 一种网络连接状态监控方法、装置及电子设备和存储介质
CN112463535A (zh) * 2020-11-27 2021-03-09 中国工商银行股份有限公司 多集群异常处理方法及装置

Also Published As

Publication number Publication date
CN113626280A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
CN113626280B (zh) 集群状态控制方法、装置、电子设备及可读存储介质
CN109831500B (zh) Kubernetes集群中配置文件与Pod的同步方法
CN111290834B (zh) 一种基于云管理平台实现业务高可用的方法、装置及设备
CN109634733A (zh) 任务调度管理方法、装置及运维管理服务器
CN104021078B (zh) 软件监控装置及方法
CN103383689A (zh) 一种服务进程故障检测方法、装置及服务节点
CN105681060A (zh) 一种虚拟化网络功能管理升级方法、装置及服务器
CN113569987A (zh) 模型训练方法和装置
CN107666415B (zh) Fc-ae-1553协议桥的优化方法和装置
US7925761B2 (en) System and method for implementing a dead man dependency technique for cluster resources
CN105468500A (zh) 定时任务监控方法和装置
CN109710379A (zh) 虚拟运维管理方法、装置、系统、计算机设备和存储介质
JP7161560B2 (ja) 人工知能開発プラットフォームの管理方法及び装置、媒体
CN110569113A (zh) 分布式任务的调度方法及系统、计算机可读存储介质
CN111400041A (zh) 服务器配置文件的管理方法、装置及计算机可读存储介质
CN106411574B (zh) 一种管理控制方法和装置
CN113448947B (zh) 一种mongo数据库分布式部署运维的方法和装置
CN104410511A (zh) 一种服务器管理方法及系统
CN106897128B (zh) 一种分布式应用退出方法、系统以及服务器
CN113312059A (zh) 一种服务处理系统、方法及云原生系统
CN111813430A (zh) 机器人集群智能化更新与部署的方法及系统
CN111917588A (zh) 边缘设备管理方法、装置、边缘网关设备和存储介质
CN109116818B (zh) 一种scada系统升级时的实时数据转储方法和装置
CN114598711B (zh) 一种数据迁移方法、装置、设备及介质
CN115421847A (zh) 支持多引擎的研发运维平台和cicd流水线的管理方法及设备

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