CN115001990A - 一种基于声明式API的跨地域openstack集群管理方法及系统 - Google Patents

一种基于声明式API的跨地域openstack集群管理方法及系统 Download PDF

Info

Publication number
CN115001990A
CN115001990A CN202210576435.5A CN202210576435A CN115001990A CN 115001990 A CN115001990 A CN 115001990A CN 202210576435 A CN202210576435 A CN 202210576435A CN 115001990 A CN115001990 A CN 115001990A
Authority
CN
China
Prior art keywords
openstack
cluster
event
cross
agent
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
CN202210576435.5A
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.)
Jinan Inspur Data Technology Co Ltd
Original Assignee
Jinan Inspur Data 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 Jinan Inspur Data Technology Co Ltd filed Critical Jinan Inspur Data Technology Co Ltd
Priority to CN202210576435.5A priority Critical patent/CN115001990A/zh
Publication of CN115001990A publication Critical patent/CN115001990A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种基于声明式API的跨地域openstack集群管理方法及系统,该方法首先通过声明式API将跨地域openstack集群中各资源对象定义为云管平台所在K8S集群中相应的CRD;在每个跨地域openstack集群中部署一个agent;任一agent通过list‑watch机制监听云管平台中各CRD;agent调用本地openstack接口,进行相应的事件处理;判断当前所有跨地域openstack集群中的事件是否处理完毕;如果否,每隔第一设定时间,任一agent针对事件在本地发起重试操作,直到任一agent所在集群的资源对象状态与云管平台中的CRD状态一致。该系统包括:CRD定义模块、agent部署模块、监听模块、调用模块、判断模块和重试模块。通过本申请,能够有效解决跨地域openstack多集群间的网络不稳定问题,能够有效提高整个集群管理的可靠性。

Description

一种基于声明式API的跨地域openstack集群管理方法及系统
技术领域
本申请涉及openstack集群管理技术领域,特别是涉及一种基于声明式API的跨地域openstack集群管理方法及系统。
背景技术
OpenStack是一个开源的云计算管理平台项目,通常由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack能够通过各种互补的服务提供了基础设施即服务的解决方案,每个服务提供命令式API(Application ProgrammingInterface,应用程序编程接口)以进行集成,每次调用对应一个动作。
在实际生产中,一朵大型公司的私有云可能包括:自身数据中心机房里的中心云集群和部署在靠近业务现场的边缘云。此时,私有云内管理的openstack集群规模越来越大,数量也越来越多,因此,需要通过一个中心管理平台对跨地域的各个openstack资源池进行统一管理和运维。
目前在中心管理平台对跨地域的各个openstack资源池进行管理的方法,可以参见图1所示,由图1可知,目前的方法通常是基于命令式API进行openstack集群管理。具体地,针对跨地域openstack集群,不同资源池间的规模、版本不同,中心管理平台需要进行多版本适配,并维护各个资源池的参数列表。且中心管理平台通过命令式的rest api,从中心调用分布在不同地域的openstack集群的各模块接口,根据不同的业务需求,进行相应的管理操作。
然而,目前在中心管理平台对跨地域的各个openstack资源池进行管理的方法中,当需要对多个集群同时进行创建、删除等操作时,比如:一项业务需要在5个地区的openstack集群上各创建一个vm,有可能其中某一个集群在当前时刻网络连接出现异常,导致出现4个创建成功,1个创建失败的现象,后续需要再进行分析、重试,因此,网络异常应对能力较差,可靠性不够。云管平台中的访问多集群的模块发生重启,这类操作如果还没完成,执行结果也会丢失,难以恢复,也会导致集群管理可靠性不够。另外,由于是基于命令式API进行管理,从云管平台单点连接多个集群,需要先分别获取多个集群的鉴权信息,再生成对应版本的client,针对跨地域openstack集群,不同资源池间的规模、版本不同,对跨地域集群创建、删除等操作的参数可能有所区别,中心管理平台需要进行多版本适配,并维护各个资源池的参数列表,也会造成跨地域弱网情况下的可靠性问题。
发明内容
本申请提供了一种基于声明式API的跨地域openstack集群管理方法及系统,以解决现有技术中,弱网环境下中心管理平台对跨地域各个openstack资源池的管理可靠性较低的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种基于声明式API的跨地域openstack集群管理方法,所述方法包括:
通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S(一个开源的容器编排调度平台)集群中相应的CRD(custom resourcedefine,自定义资源类型),其中,任一资源对象匹配一个CRD;
在每个跨地域openstack集群中部署一个agent;
任一agent通过list-watch(K8S统一的一步消息处理机制)机制,监听云管平台中各CRD的事件,所述事件包括:创建事件、修改事件以及删除事件;
根据云管平台中各CRD的所述事件,所述任一agent调用本地openstack接口,进行相应的事件处理;
判断当前所有跨地域openstack集群中的事件是否处理完毕;
如果是,流程结束;
如果否,每隔第一设定时间,所述任一agent针对所述事件在本地发起重试操作,直到所述任一agent所在集群的资源对象状态与云管平台中的CRD状态一致,所述重试操作包括:重新执行事件和断线自动重连。
可选地,所述通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在的K8S集群中相应的CRD,包括:
确定openstack集群中需要在云端进行管理的各种类型的资源对象;
在云管平台的K8S集群中创建对应的CR资源。
可选地,任一跨地域openstack集群中的agent版本与本集群中的openstack版本一致。
可选地,当所述事件为高耗时事件时,所述方法还包括:
调用本地openstack接口,每隔第二设定时间查询所述高耗时事件的执行状态,所述高耗时事件为执行时间超过设定时间阈值的事件;
将所述高耗时事件的执行状态更新至云管平台的CR资源中,直到所述事件执行完毕。
可选地,根据云管平台中各CRD的所述事件,所述任一agent调用本地openstack接口,进行相应的事件处理的方法,包括:
所述任一agent将云管平台中各CRD的所述事件转化为本地的openstack接口调用请求;
根据所述openstack接口调用请求,所述任一agent在本地发起调用。
可选地,所述断线自动重连包括:
所述任一跨地域openstack集群中的agent建立与云管平台之间的list-watch长连接;
当任一跨地域openstack集群断网时,根据所述list-watch长连接,所述任一跨地域openstack集群中的agent与云管平台自动重连。
一种基于声明式API的跨地域openstack集群管理系统,所述系统包括:
CRD定义模块,用于通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD,其中,任一资源对象匹配一个CRD;
agent部署模块,用于在每个跨地域openstack集群中部署一个agent;
监听模块,设置于agent中,用于通过list-watch机制,监听云管平台中各CRD的事件,所述事件包括:创建事件、修改事件以及删除事件;
调用模块,设置于agent中,用于根据云管平台中各CRD的所述事件,调用本地openstack接口,进行相应的事件处理;
判断模块,用于判断当前所有跨地域openstack集群中的事件是否处理完毕,如果是,流程结束,否则,启动重试模块;
所述重试模块,设置于agent中,用于每隔第一设定时间,针对所述事件在本地发起重试操作,直到所述任一agent所在集群的资源对象状态与云管平台中CRD状态一致,所述重试操作包括:重新执行事件和断线自动重连。
可选地,所述CRD定义模块包括:
资源对象确定单元,用于确定openstack集群中需要在云端进行管理的各种类型的资源对象;
创建单元,用于在云管平台的K8S集群中创建对应的CR资源。
可选地,所述系统中还包括:
查询模块,用于当所述事件为高耗时事件时,调用本地openstack接口,每隔第二设定时间查询所述高耗时事件的执行状态,所述高耗时事件为执行时间超过设定时间阈值的事件;
更新模块,用于将所述高耗时事件的执行状态更新至云管平台的CR资源中,直到所述事件执行完毕。
可选地,所述重连模块包括:
重新执行单元,用于当所述事件执行失败时,重新执行一次所述事件,直到所述任一agent所在集群的资源对象状态与云管平台中CRD状态一致;
长连接建立单元,用于在任一跨地域openstack集群的agent与云管平台之间建立list-watch长连接;
重连接单元,用于当任一跨地域openstack集群断网时,根据所述list-watch长连接,所述任一跨地域openstack集群中的agent与云管平台自动重连。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种基于声明式API的跨地域openstack集群管理方法,该方法首先通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD,从而利用K8S的声明式API编程模型,对跨地域openstack集群中的资源对象进行抽象处理,这种方式,使得用户将创建的资源分发到跨地域openstack集群上时,不必再云端直接调用各个openstack集群接口,有利于提高事件处理效率。其次在每个跨地域openstack集群中部署一个agent,任一agent通过list-watch机制,监听云管平台中各CRD的事件,然后根据云管平台中各CRD的事件,任一agent调用本地openstack接口,进行相应的事件处理。各集群单独部署agent的方法,能够及时监听到云管平台的状态变化,从而及时进行相应处理,既能够提高整个系统管理的可靠性,还有利于提高事件处理效率。最后如果当前所有跨地域openstack集群中的事件没有全部处理完毕,每隔第一设定时间,任一agent针对事件在本地发起重试操作,直到任一agent所在集群的资源对象状态与云管平台中的CRD状态一致,重试操作包括:重新执行事件和断线自动重连。这种重试操作,能够大大提高整个集群管理的可靠性,尤其是弱网情况下的断线自动重连,每次重连后将更新本地的list-watch时间缓存,继续处理未完成的事件,从而有效解决跨地域openstack多集群间的网络不稳定问题,能够有效提高整个集群管理的可靠性。
本申请还提供一种基于声明式API的跨地域openstack集群管理系统,该系统主要包括:CRD定义模块、agent部署模块、监听模块、调用模块、判断模块和重试模块。CRD定义模块的设置,能够通过声明式API对象设计,将跨地域openstack集群的各种资源抽象为K8S的一个个CRD。agent部署模块的设置,能够将云管平台中对openstack资源的定义转换为openstack传统的命令式接口调用。监听模块的设置,能够及时监听云管平台中openstackCR资源的创建、修改和删除事件等操作,并及时启动调用模块从而完成事件的处理,有利于提高管理的可靠性。判断模块和重试模块的设置,能够每次重连后将更新本地的list-watch时间缓存,继续处理未完成的事件,云端创建CR资源时某个openstack集群断网也不影响后续重连后事件的继续处理,因此,这种结构能够有效解决弱网环境下,跨地域openstack集群管理的可靠性和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中命令式API操作多集群的工作原理示意图;
图2为本申请实施例所提供的一种基于声明式API的跨地域openstack集群管理方法的流程示意图;
图3为本实施例中CRD资源设计的原理示意图;
图4为本实施例中基于声明式API的跨地域openstack集群管理的原理示意图;
图5为采用本实施例中的方法创建多集群虚拟机的流程示意图;
图6为本申请实施例所提供的一种基于声明式API的跨地域openstack集群管理系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图2,图2为本申请实施例所提供的一种基于声明式API的跨地域openstack集群管理方法的流程示意图。由图2可知,本实施例中基于声明式API的跨地域openstack集群管理方法,主要包括如下过程:
S1:通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD。
其中,任一资源对象匹配一个CRD,CRD是openstack集群中资源的描述类型,CR是具体某一种CRD资源的具体实例。具体地,步骤S1包括如下过程:
S11:确定openstack集群中需要在云端进行管理的各种类型的资源对象。
S12:在云管平台的K8S集群中创建对应的CR资源。
由步骤S11和S12可知,一个虚拟机在K8S系统中可以实现为一个CRD,一个网络也可以实现为一个CRD。当用户需要创建一个多集群共同分发的虚拟机时,所需要的操作就是在云管平台所在的K8S集群中创建一个虚拟机类型的CR资源。
本实施例中CRD资源设计的原理图可以参见图3所示。由图3可知,通过CRD,用户能够根据标签对一个变量设置不同的值,选择在当前openstack集群中要改配的字段,即可实现修改事件。
本实施例采用K8S作为统一云管理平台的基座,承载自定义的CRD资源。通过声明式的API对象设计,将openstack中的各个类型的资源,抽象为K8S的一个个CRD。通过创建CRD,用户将创建的资源分发到跨地域的多个openstack集群上时,不再采用云端直接调用各个openstack集群接口的形式,而是在云管平台的K8S上创建对应的CR对象,从而解决多版本适配和参数适配问题,大大提高跨地域openstack集群的管理效率。
继续参见图2可知,通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD之后,执行步骤S2:在每个跨地域openstack集群中部署一个agent。
其中,任一跨地域openstack集群中的agent版本与本集群中的openstack版本一致。这种方法,能够保障接口调用的兼容性,从而简化云端统一处理多版本适配和参数适配逻辑的复杂度,有利于进一步提高集群管理效率。
S3:任一agent通过list-watch机制,监听云管平台中各CRD的事件。其中,事件包括:创建事件、修改事件以及删除事件。
S4:根据云管平台中各CRD的事件,任一agent调用本地openstack接口,进行相应的事件处理。
具体地,步骤S4包括如下过程:
S41:任一agent将云管平台中各CRD的事件转化为本地的openstack接口调用请求。
S42:根据openstack接口调用请求,任一agent在本地发起调用。
由步骤S41和S42可知,每个集群的agent与本集群的openstack版本相对应,将针对云端CR的创建、修改、删除事件转化为本地的openstack接口调用请求,在本地发起调用,从而能够解决跨地域openstack资源池因为建设周期不同而出现的多版本问题,有利于提高集群管理的可靠性和管理效率。
综上所述,由于agent与openstack集群处在同一个数据中心内部,通过list-watch监控云端的openstack的各类CRD资源;内部实现调谐方法,根据云管平台中的各类CR资源的具体参数,调用本地openstack接口,创建符合CR定义的openstack资源,因此,本实施例通过部署agent,能够将一个请求同时发送给多个跨地域openstack集群。
继续参见图2可知,根据云管平台中各CRD的事件,任一agent调用本地openstack接口,进行相应的事件处理之后,执行步骤S5:判断当前所有跨地域openstack集群中的事件是否处理完毕。
如果处理完毕,流程结束。如果没有处理完毕,执行步骤S6:每隔第一设定时间,任一agent针对事件在本地发起重试操作,直到任一agent所在集群的资源对象状态与云管平台中的CRD状态一致。
其中,重试操作包括:重新执行事件和断线自动重连。
具体地,断线自动重连包括:
任一跨地域openstack集群中的agent建立与云管平台之间的list-watch长连接;当任一跨地域openstack集群断网时,根据list-watch长连接,任一跨地域openstack集群中的agent与云管平台自动重连。
本实施例通断线自动重连操作,每次重连后将更新本地的list-watch事件缓存,继续处理未完成的事件。云端创建CR资源时某一个openstack集群断网,不影响该集群后续重连后继续处理事件。因此,能够有效提高弱网情况下跨地域openstack多集群管理的可靠性和稳定性。
进一步地,当事件为高耗时事件时,还包括如下步骤:
S7:调用本地openstack接口,每隔第二设定时间查询高耗时事件的执行状态,高耗时事件为。
S8:将高耗时事件的执行状态更新至云管平台的CR资源中,直到事件执行完毕。
例如:创建虚拟机,这种事件为异步操作,执行时间超过设定时间阈值的事件。以创建虚拟机为例,根据步骤S7和S8,可以调用本地openstack的接口,不断查询创建中的虚拟机状态,直到虚拟机创建成功或失败,并将状态更新到云管平台的CR资源之中。
由步骤S7和S8可知,本实施例采用本地发起openstack资源状态查询,且agent主动上报资源状态的方法。由于agent跟openstack部署在一起,在本地发起openstack资源状态的查询,属于局域网内调用,这种方法查询速度和响应时长都比现有技术中的云管平台统一调用更快速,并且这种方法中大部分性能压力在agent上完成,最终openstack资源状态更新后,对云管平台只有一次上报的请求,能够大大减轻云管平台的性能压力,有利于提高整体架构的可扩展性。
本实施例中基于声明式API的跨地域openstack集群管理的原理示意图可以参见图4所示。
下面以多集群虚拟机生命周期管理为例,详细描述本实施例中基于声明式API的跨地域openstack集群管理的方法。具体可以参见图5所示。
1)用户在管理平台创建多集群虚拟机,选择虚拟机要分发到的openstack集群,配置虚拟机中的统一参数和分集群特殊参数;
2)用户点击创建按钮,在云管平台所在的k8s中创建该虚拟机对应的CR资源,CR创建成功后,接口即返回;
3)多个openstack集群中的agent通过list-watch,监听到虚拟机CR创建的事件,进行本地过滤,只有集群名称匹配到虚拟机CR中selector字段的agent,才进行下一步调谐操作,其他agent忽略此次事件;
4)匹配成功的agent进行调谐,本地调用openstack接口,创建虚拟机,并将云端虚拟机CR资源的状态改为创建中;
5)每个匹配成功的agent本地定时任务调用openstack接口,查询虚拟机状态,当虚拟机创建成功后,将云端虚拟机CR资源的状态改为创建成功;
6)每个匹配成功的agent本地定时任务调用openstack接口,查询虚拟机状态,若本集群虚拟机创建失败,则将云端虚拟机CR资源的状态改为某集群创建失败,并将该次事件重新放入agent的待处理事件队列中,间隔一定时间后进行重试,直到虚拟机按照CR声明的参数创建成功。
实施例二
在图1-图5所示实施例的基础上参见图6,由图6可知,本实施例中基于声明式API的跨地域openstack集群管理系统,主要包括:CRD定义模块、agent部署模块、监听模块、调用模块、判断模块和重试模块。
其中,CRD定义模块,用于通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD,其中,任一资源对象匹配一个CRD;agent部署模块,用于在每个跨地域openstack集群中部署一个agent;监听模块,设置于agent中,用于通过list-watch机制,监听云管平台中各CRD的事件,事件包括:创建事件、修改事件以及删除事件;调用模块,设置于agent中,用于根据云管平台中各CRD的事件,调用本地openstack接口,进行相应的事件处理;判断模块,用于判断当前所有跨地域openstack集群中的事件是否处理完毕,如果是,流程结束,否则,启动重试模块;重试模块,设置于agent中,用于每隔第一设定时间,针对事件在本地发起重试操作,直到任一agent所在集群的资源对象状态与云管平台中CRD状态一致,重试操作包括:重新执行事件和断线自动重连。
进一步地,CRD定义模块包括:资源对象确定单元和创建单元。其中,资源对象确定单元,用于确定openstack集群中需要在云端进行管理的各种类型的资源对象;创建单元,用于在云管平台的K8S集群中创建对应的CR资源。
重连模块包括:重新执行单元、长连接建立单元和重连接单元。其中,重新执行单元,用于当事件执行失败时,重新执行一次事件,直到任一agent所在集群的资源对象状态与云管平台中CRD状态一致;长连接建立单元,用于在任一跨地域openstack集群的agent与云管平台之间建立list-watch长连接;重连接单元,用于当任一跨地域openstack集群断网时,根据list-watch长连接,任一跨地域openstack集群中的agent与云管平台自动重连。
进一步地,该系统中还包括:查询模块和更新模块。其中,查询模块,用于当事件为高耗时事件时,调用本地openstack接口,每隔第二设定时间查询高耗时事件的执行状态,高耗时事件为执行时间超过设定时间阈值的事件;更新模块,用于将高耗时事件的执行状态更新至云管平台的CR资源中,直到事件执行完毕。
本实施例中基于声明式API的跨地域openstack集群管理系统的工作原理和工作方法,在图1-图5所示的实施例中已经详细阐述,两个实施例之间可以互相参照,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于声明式API的跨地域openstack集群管理方法,其特征在于,所述方法包括:
通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD,其中,任一资源对象匹配一个CRD;
在每个跨地域openstack集群中部署一个agent;
任一agent通过list-watch机制,监听云管平台中各CRD的事件,所述事件包括:创建事件、修改事件以及删除事件;
根据云管平台中各CRD的所述事件,所述任一agent调用本地openstack接口,进行相应的事件处理;
判断当前所有跨地域openstack集群中的事件是否处理完毕;
如果是,流程结束;
如果否,每隔第一设定时间,所述任一agent针对所述事件在本地发起重试操作,直到所述任一agent所在集群的资源对象状态与云管平台中的CRD状态一致,所述重试操作包括:重新执行事件和断线自动重连。
2.根据权利要求1所述的一种基于声明式API的跨地域openstack集群管理方法,其特征在于,所述通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在的K8S集群中相应的CRD,包括:
确定openstack集群中需要在云端进行管理的各种类型的资源对象;
在云管平台的K8S集群中创建对应的CR资源。
3.根据权利要求1所述的一种基于声明式API的跨地域openstack集群管理方法,其特征在于,任一跨地域openstack集群中的agent版本与本集群中的openstack版本一致。
4.根据权利要求2所述的一种基于声明式API的跨地域openstack集群管理方法,其特征在于,当所述事件为高耗时事件时,所述方法还包括:
调用本地openstack接口,每隔第二设定时间查询所述高耗时事件的执行状态,所述高耗时事件为执行时间超过设定时间阈值的事件;
将所述高耗时事件的执行状态更新至云管平台的CR资源中,直到所述事件执行完毕。
5.根据权利要求1所述的一种基于声明式API的跨地域openstack集群管理方法,其特征在于,根据云管平台中各CRD的所述事件,所述任一agent调用本地openstack接口,进行相应的事件处理的方法,包括:
所述任一agent将云管平台中各CRD的所述事件转化为本地的openstack接口调用请求;
根据所述openstack接口调用请求,所述任一agent在本地发起调用。
6.根据权利要求1所述的一种基于声明式API的跨地域openstack集群管理方法,其特征在于,所述断线自动重连包括:
所述任一跨地域openstack集群中的agent建立与云管平台之间的list-watch长连接;
当任一跨地域openstack集群断网时,根据所述list-watch长连接,所述任一跨地域openstack集群中的agent与云管平台自动重连。
7.一种基于声明式API的跨地域openstack集群管理系统,其特征在于,所述系统包括:
CRD定义模块,用于通过声明式API对象设计,将跨地域openstack集群中各种类型的资源对象,定义为云管平台所在K8S集群中相应的CRD,其中,任一资源对象匹配一个CRD;
agent部署模块,用于在每个跨地域openstack集群中部署一个agent;
监听模块,设置于agent中,用于通过list-watch机制,监听云管平台中各CRD的事件,所述事件包括:创建事件、修改事件以及删除事件;
调用模块,设置于agent中,用于根据云管平台中各CRD的所述事件,调用本地openstack接口,进行相应的事件处理;
判断模块,用于判断当前所有跨地域openstack集群中的事件是否处理完毕,如果是,流程结束,否则,启动重试模块;
所述重试模块,设置于agent中,用于每隔第一设定时间,针对所述事件在本地发起重试操作,直到所述任一agent所在集群的资源对象状态与云管平台中CRD状态一致,所述重试操作包括:重新执行事件和断线自动重连。
8.根据权利要求7所述的一种基于声明式API的跨地域openstack集群管理系统,其特征在于,所述CRD定义模块包括:
资源对象确定单元,用于确定openstack集群中需要在云端进行管理的各种类型的资源对象;
创建单元,用于在云管平台的K8S集群中创建对应的CR资源。
9.根据权利要求7所述的一种基于声明式API的跨地域openstack集群管理系统,其特征在于,所述系统中还包括:
查询模块,用于当所述事件为高耗时事件时,调用本地openstack接口,每隔第二设定时间查询所述高耗时事件的执行状态,所述高耗时事件为执行时间超过设定时间阈值的事件;
更新模块,用于将所述高耗时事件的执行状态更新至云管平台的CR资源中,直到所述事件执行完毕。
10.根据权利要求7所述的一种基于声明式API的跨地域openstack集群管理系统,其特征在于,所述重连模块包括:
重新执行单元,用于当所述事件执行失败时,重新执行一次所述事件,直到所述任一agent所在集群的资源对象状态与云管平台中CRD状态一致;
长连接建立单元,用于在任一跨地域openstack集群的agent与云管平台之间建立list-watch长连接;
重连接单元,用于当任一跨地域openstack集群断网时,根据所述list-watch长连接,所述任一跨地域openstack集群中的agent与云管平台自动重连。
CN202210576435.5A 2022-05-25 2022-05-25 一种基于声明式API的跨地域openstack集群管理方法及系统 Pending CN115001990A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210576435.5A CN115001990A (zh) 2022-05-25 2022-05-25 一种基于声明式API的跨地域openstack集群管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210576435.5A CN115001990A (zh) 2022-05-25 2022-05-25 一种基于声明式API的跨地域openstack集群管理方法及系统

Publications (1)

Publication Number Publication Date
CN115001990A true CN115001990A (zh) 2022-09-02

Family

ID=83028591

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210576435.5A Pending CN115001990A (zh) 2022-05-25 2022-05-25 一种基于声明式API的跨地域openstack集群管理方法及系统

Country Status (1)

Country Link
CN (1) CN115001990A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115915457A (zh) * 2023-01-30 2023-04-04 阿里巴巴(中国)有限公司 资源调度方法、车辆控制方法、设备及系统
CN117149467A (zh) * 2023-10-23 2023-12-01 北京志凌海纳科技有限公司 基于声明式api实现命令式api生命周期的方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897779A (zh) * 2017-03-02 2017-06-27 苏州紫方数据科技有限公司 一种数据中心运维系统事件的处理方法
CN108037977A (zh) * 2017-12-08 2018-05-15 上海市信息网络有限公司 虚拟计算机资源的管理方法、设备、计算机介质、及系统
CN108989091A (zh) * 2018-06-22 2018-12-11 杭州才云科技有限公司 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备
CN109067828A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN112000441A (zh) * 2020-08-24 2020-11-27 浪潮云信息技术股份公司 一种基于kubernetes声明式编排管理虚机生命周期的方法
CN112187860A (zh) * 2020-08-28 2021-01-05 苏州浪潮智能科技有限公司 kubernetes集群节点镜像的构建方法及装置
US20210318914A1 (en) * 2020-04-14 2021-10-14 Vmware, Inc. Communications framework for multi-cluster management systems
WO2021232243A1 (zh) * 2020-05-19 2021-11-25 深圳市欢太科技有限公司 集群管理方法、集群管理装置、存储介质与电子设备
CN114153555A (zh) * 2021-10-31 2022-03-08 山东海量信息技术研究院 一种云平台pmem设备管理方法、系统、装置及存储介质
CN114416200A (zh) * 2022-01-11 2022-04-29 浪潮云信息技术股份公司 声明式云平台监控采集配置动态管理和加载的系统及方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106897779A (zh) * 2017-03-02 2017-06-27 苏州紫方数据科技有限公司 一种数据中心运维系统事件的处理方法
CN108037977A (zh) * 2017-12-08 2018-05-15 上海市信息网络有限公司 虚拟计算机资源的管理方法、设备、计算机介质、及系统
CN108989091A (zh) * 2018-06-22 2018-12-11 杭州才云科技有限公司 基于Kubernetes网络的租户网络隔离方法、存储介质、电子设备
CN109067828A (zh) * 2018-06-22 2018-12-21 杭州才云科技有限公司 基于Kubernetes和OpenStack容器云平台多集群构建方法、介质、设备
CN109376010A (zh) * 2018-09-28 2019-02-22 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
US20210318914A1 (en) * 2020-04-14 2021-10-14 Vmware, Inc. Communications framework for multi-cluster management systems
WO2021232243A1 (zh) * 2020-05-19 2021-11-25 深圳市欢太科技有限公司 集群管理方法、集群管理装置、存储介质与电子设备
CN112000441A (zh) * 2020-08-24 2020-11-27 浪潮云信息技术股份公司 一种基于kubernetes声明式编排管理虚机生命周期的方法
CN112187860A (zh) * 2020-08-28 2021-01-05 苏州浪潮智能科技有限公司 kubernetes集群节点镜像的构建方法及装置
CN114153555A (zh) * 2021-10-31 2022-03-08 山东海量信息技术研究院 一种云平台pmem设备管理方法、系统、装置及存储介质
CN114416200A (zh) * 2022-01-11 2022-04-29 浪潮云信息技术股份公司 声明式云平台监控采集配置动态管理和加载的系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
SURYADIPTA MAJUMDAR等: "User-Level Runtime Security Auditing for the Cloud", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY 》, 4 December 2017 (2017-12-04) *
吴林泽;樊勇兵;黄志兰;陈楠;林宝洪;: "面向数据中心异构SDN的网络协同编排平台设计与实现", 电信科学, no. 11, 6 November 2018 (2018-11-06) *
周恒磊;: "定制Kubernetes密码资源及金融机构应用实践", 通信技术, no. 06, 10 June 2020 (2020-06-10) *
杜磊;: "基于OpenStack和Kubernetes的双向部署技术研究", 电脑知识与技术, no. 01, 5 January 2020 (2020-01-05) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115915457A (zh) * 2023-01-30 2023-04-04 阿里巴巴(中国)有限公司 资源调度方法、车辆控制方法、设备及系统
CN117149467A (zh) * 2023-10-23 2023-12-01 北京志凌海纳科技有限公司 基于声明式api实现命令式api生命周期的方法

Similar Documents

Publication Publication Date Title
CN115001990A (zh) 一种基于声明式API的跨地域openstack集群管理方法及系统
CN111506412A (zh) 基于Airflow的分布式异步任务构建、调度系统及方法
CN107203560B (zh) 数据库、多数据库操作事务一致性保证方法及系统
CN113742031A (zh) 节点状态信息获取方法、装置、电子设备及可读存储介质
CN112416969B (zh) 分布式数据库中的并行任务调度系统
EP2800306A1 (en) Rule set arrangement processing method and apparatus, and trunking data system
CN111277639A (zh) 一种保持数据一致性的方法和装置
CN113703946B (zh) 应用恢复方法及其装置、电子设备、计算机可读存储介质
CN113515316A (zh) 一种新型边缘云操作系统
CN111736809A (zh) 分布式机器人集群网络管理框架及其实现方法
CN115373799A (zh) 一种集群管理的方法、装置及电子设备
CN107463390B (zh) 一种软件升级方法及升级服务器
WO2022062661A1 (zh) 操作通知方法和装置、存储介质和电子装置
CN113835834A (zh) 一种基于k8s容器集群计算节点的扩容方法及系统
CN109408201B (zh) 基于分布式数据库的事务管理方法
CN108536541B (zh) 流程引擎对象处理方法及装置
CN113765690A (zh) 集群切换方法、系统、装置、终端、服务器及存储介质
CN111787067A (zh) 一种多银行银企直联远程服务调用、管理方法
US9973569B2 (en) System, method and computing apparatus to manage process in cloud infrastructure
CN115391058B (zh) 一种基于sdn的资源事件处理方法、资源创建方法及系统
CN113326192B (zh) 用于移动端的应用测试方法、装置、设备及存储介质
CN107005434A (zh) 一种同步虚拟网络功能vnf状态的方法、装置和设备
CN114816866A (zh) 故障处理方法、装置、电子设备和存储介质
CN112711466B (zh) 悬挂事务巡检方法和装置、电子设备和存储介质
CN115357395A (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