【技术实现步骤摘要】
一种基于声明式API的跨地域openstack集群管理方法及系统
[0001]本申请涉及openstack集群管理
,特别是涉及一种基于声明式API的跨地域openstack集群管理方法及系统。
技术介绍
[0002]OpenStack是一个开源的云计算管理平台项目,通常由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack能够通过各种互补的服务提供了基础设施即服务的解决方案,每个服务提供命令式API(Application Programming Interface,应用程序编程接口)以进行集成,每次调用对应一个动作。
[0003]在实际生产中,一朵大型公司的私有云可能包括:自身数据中心机房里的中心云集群和部署在靠近业务现场的边缘云。此时,私有云内管理的openstack集群规模越来越大,数量也越来越多,因此,需要通过一个中心管理平台对跨地域的各个openstack资源池进行统一管理和运维。
[0004]目前在中心管理平台对跨地域的各个openstack资源池进行管理的方法,可以参见图1所示,由图1可知,目前的方法通常是基于命令式API进行openstack集群管理。具体地,针对跨地域openstack集群,不同资源池间的规模、版本不同,中心管理平台需要进行多版本适配,并维护各个资源池的参数列表。且中心管理平台通过命令式的rest api,从中心调用分布在不同地域的opensta ...
【技术保护点】
【技术特征摘要】
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长连接;当任一跨地域openstac...
【专利技术属性】
技术研发人员:杨勇,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。