CN114020448A - 一种云资源编排方法、装置、设备及存储介质 - Google Patents
一种云资源编排方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114020448A CN114020448A CN202111154242.2A CN202111154242A CN114020448A CN 114020448 A CN114020448 A CN 114020448A CN 202111154242 A CN202111154242 A CN 202111154242A CN 114020448 A CN114020448 A CN 114020448A
- Authority
- CN
- China
- Prior art keywords
- resource
- cloud
- file
- resources
- service
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 241000380131 Ammophila arenaria Species 0.000 claims abstract description 53
- 230000000007 visual effect Effects 0.000 claims abstract description 26
- 230000007246 mechanism Effects 0.000 claims abstract description 21
- 238000003032 molecular docking Methods 0.000 claims abstract description 10
- 238000012800 visualization Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 6
- 238000013515 script Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 14
- 239000000047 product Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 210000001503 joint Anatomy 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种云资源编排方法、装置、设备及存储介质。该方法包括:通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;基于所述编排文件,利用Helm组件生成相应的Helmchart文件;根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。能够实现kubernets纳管各种云资源类型以及基础设施代码化。
Description
技术领域
本发明涉及资源编排领域,特别涉及一种云资源编排方法、装置、设备及存储介质。
背景技术
现代软件开发对基础设施的管理提出了更苛刻的要求,产品需要适应瞬息万变的市场,这要求基础设施有更快的响应速度。持续交付和DevOps的推行要求产品团队对部署和运维要有更高的自主性,且技术的快速进步和演化,也使得基础设施的配置不得不频繁变化,在这种快速变化的过程中,要求基础设施既要灵活,也要安全、可靠。现有技术中,基础设施运维管理具有以下几个问题:a.被动响应,产品团队获取服务器资源采用的是申请制,中间存在若干审批过程,以及需要等待运维团队实施,响应不及时;b.自动化缺乏串联,虽然有一定的自动化,但不能做到无人值守,需要执行一些临时命令介入,且由于环境释放和重建的成本高,因而倾向于不释放,导致资源利用率低。c.和产品团队脱节,很难根据需求随时动态增加环境,需要额外的文档来描述环境,可能更新不及时。并且,产品团队除了管理项目本身代码外,还要管理环境定义脚本。
发明内容
有鉴于此,本发明的目的在于提供一种云资源编排方法、装置、设备及介质,能够实现kubernets纳管各种新型云资源类型以及基础设施代码化。其具体方案如下:
第一方面,本申请公开了一种云资源编排方法,包括:
通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;
基于所述编排文件,利用Helm组件生成相应的Helmchart文件;
根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;
通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
可选的,所述基于所述编排文件,利用Helm组件生成相应的Helmchart文件,包括:
当获取到用户发送的编排部署指令后,通过RESTful方式调用Helm组件;
利用所述Helm组件,将数据库中以JSON格式保存的所述编排文件转换为YAML格式文件,得到所述Helmchart文件。
可选的,所述云资源编排方法,还包括:
通过webhook机制监听云资源的状态变化和资源审计信息;所述资源审计信息包括接口调用信息;
通过Helm chart仓库对Helmchart的生命周期进行管理。
可选的,所述在kubernetes部署生成相应的底层资源的过程中,还包括:
获取部署资源过程中产生的业务信息;
通过预先配置的Helm chart hooks调用所述云资源编排可视化服务的开放应用编程接口,将所述业务信息写入相应的业务系统。
可选的,所述获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,包括:
获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,以及对所述云资源和PaaS服务的基本参数配置;所述基本参数配置包括虚拟机规格、网络信息、部署软件执行的脚本信息。
可选的,所述通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源,包括:
若所述待部署资源为kubernetes内置资源,则利用所述执行引擎生成所述Helmchart文件对应的部署文件;
将所述部署文件发送给所述kubernetes,以便所述kubernetes根据所述部署文件自动化部署出相应的底层资源。
可选的,所述通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源,包括:
若所述待部署资源为CRD扩展资源,则调用预设的服务编排控制平面的接口;
通过所述服务编排控制平面从所述Helmchart文件中提取所述待部署资源相关的数据信息,并调用相关的云平台接口,以在kubernetes部署生成相应的底层资源。
第二方面,本申请公开了一种云资源编排装置,包括:
云资源编排可视化模块,用于通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;
Helmchart文件生成模块,用于基于所述编排文件,利用Helm组件生成相应的Helmchart文件;
资源类型确定模块,用于根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;
资源调度模块,用于通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的云资源编排方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的云资源编排方法。
本申请中,通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;基于所述编排文件,利用Helm组件生成相应的Helmchart文件;根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。可见,针对CRD扩展资源,通过利用kubernets的CRD机制扩展接口对接目标服务的云平台,实现kubernets支持各种新型云资源类型,纳管多种底层资源,使得kubernetes不再只是支持容器化的资源,同时,根据对云资源和PaaS服务进行资源编排配置得到的编排文件,利用Helm组件生成编排文件对应的Helmchart文件,可以实现对底层云资源实例、配置的依赖管理以实现基础设施代码化能力,并且部署过程不需要人为操作可以实现无人值守的自动化资源部署。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种云资源编排方法流程图;
图2为本申请提供的一种具体的云资源和服务的资源编排配置示意图;
图3为本申请提供的一种具体的云资源和服务的依赖关系示意图;
图4为本申请提供的一种云资源编排系统架构示意图;
图5为本申请提供的一种具体的云资源编排方法流程图;
图6为本申请提供的一种云资源编排装置结构示意图;
图7为本申请提供的一种电子设备结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,基础设施运维管理存在被动响应、自动化缺乏串联以及和产品团队脱节等问题,为克服上述技术问题,本申请提出一种基于Helm的云资源编排方法,利用kubernets的CRD机制扩展接口对接目标服务的云平台,能够实现kubernets纳管各种新型云资源类型,并根据对云资源和PaaS(Platform as a Service,平台即服务)服务进行资源编排配置得到编排文件,利用Helm组件生成编排文件对应的Helmchart文件以实现基础设施代码化。
本申请实施例公开了一种云资源编排方法,参见图1所示,该方法可以包括以下步骤:
步骤S11:通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件。
本实施例中,通过利用资源可视化技术创建的云资源编排可视化服务展示云资源和PaaS服务,并获取用户对展示的云资源和PaaS服务的资源编排配置,得到编排文件,在云资源编排可视化服务下用户通过拖拽等方式即可实现资源编排配置。即通过云资源编排可视化服务提供的云资源和PaaS服务展示,云资源和PaaS服务依赖关系的可视化编辑,以及云资源和PaaS服务依赖图谱关系展示等服务,由此可以提高用户对资源编排配置的效率以及用户使用体验。其中,上述PaaS服务包括但不限于redis集群、MariaDB(数据库管理系统)等,云资源包括计算、网络、服务器、存储、应用软件和服务等,例如从厂商购买的CDN(Content Delivery Network,内容分发网络)、对象存储和云主机等。
本实施例中,所述获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,可以包括:获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,以及对所述云资源和PaaS服务的基本参数配置;所述基本参数配置包括虚拟机规格、网络信息、部署软件执行的脚本信息。
本实施例中,所述获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,可以包括:监测用户通过可视化编排,对所述云资源内的目标资源以及所述PaaS服务内的目标服务的拖拽和连接操作;根据所述拖拽和连接操作生成所述云资源与PaaS服务之间的依赖关系配置。例如图2所示,为了部署生成MariaDB,首先用户通过可视化编排在主节点安装云主机,可以通过拖拽方式将云主机拖拽至主节点,以在主节点创建云主机,然后通过托拽方式将关系型数据库管理系统(MySQL)下载并安装在主节点的云主机上,同理创建备节点云主机,并通过端口将主节点云主机与备节点云主机相连,从而生成如图3所示的MariaDB部署的依赖关系,其中,主节点下载软件依赖于主节点安装有云主机,主节点安装软件依赖于主节点安装有云主机和主节点下载软件,备节点下载软件依赖于备节点安装有云主机。
步骤S12:基于所述编排文件,利用Helm组件生成相应的Helmchart文件。
本实施例中,得到编排文件后,利用Helm组件生成相应的Helmchart文件,Helmchart文件用来封装Kubernetes原生应用程序的YAML(YAML Ain't Markup Language)文件,可以在部署应用的时候自定义应用程序的一些元数据,便与应用程序的分发。
本实施例中,所述基于所述编排文件,利用Helm组件生成相应的Helmchart文件,可以包括:当获取到用户发送的编排部署指令后,通过RESTful(Representational StateTransfer)方式调用Helm组件;利用所述Helm组件,将数据库中以JSON(JavaScript ObjectNotation,,JS对象简谱)格式保存的所述编排文件转换为YAML格式文件,得到所述Helmchart文件。可以理解的是,设计编排好的编排文件以JSON格式保存在数据库中,当获取到用户发送的编排部署指令后,例如图4所示,通过RESTful方式调用Helm组件,然后利用Helm组件将数据库中以JSON格式保存的所述编排文件转换为YAML格式文件,以得到包括期望资源的最终状态信息、配置信息、资源与资源之间的关联关系等信息的Helmchart文件。
步骤S13:根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源。
本实施例中,生成Helmchart文件后,Helm组件的执行引擎会根据Helmchart文件内资源信息判断待部署资源的资源类型;上述资源类型包括kubernetes内置资源,即kubernetes本身支持的资源,以及CRD(Custom Resource Definition,自定义资源定义)扩展资源,也就是用户自己定义的资源。
步骤S14:通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
本实施例中,判断出待部署资源的资源类型后,通过Helm组件的执行引擎根据上述资源类型执行对应的资源调度操作,对于kubernetes内置资源可以直接由kubernetes根据部署文件进行部署即可,对于CRD扩展资源,则利用kubernetes的CRD机制对接目标服务的云平台,例如图4所示,具体通过使用kubernetes的CRD机制扩展kubernetes API使得kubernetes能够支持特定的云资源,API(Application Programming Interface,应用程序接口),扩展kubernetes能够编排的资源类型,例如VMWare、OpenStack、阿里云等,其中云资源具体可以通过RESTful方式调用,以部署生成与用户设计的资源编排配置对应的底层资源,当然单次的资源编排配置可以即包含kubernetes内置资源又包含CRD扩展资源,也可以只包含一种类型的资源。由此通过借助kubernets的CRD机制不断的扩展支持新型云资源类型,能够在技术快速发展的现在快速支持各种新的云资源,与此同时,通过扩展能够支持新的资源池类型对于多云统一管理提供了实现的可能性。并且,编排出的文件通过Helm组件自动生成Helmchart文件,再根据Helmchart文件进行资源调度及部署,由此可以动态创建、销毁和更新产品运行所需的环境(包括服务器、负载均衡器、防火墙配置、第三方依赖等),实现了云资源的部署过程中复杂性管理和分发简单的能力,最终实现了基础设施代码化。基础设施代码化(IaC,Infrastructure as Code)是使用新的技术来构建和管理动态基础设施的方式,将基础设施、工具和服务以及对基础设施的管理本身作为一个软件系统,采纳软件工程实践以结构化的安全的方式来管理对系统的变更。可见,通过上述步骤进行云资源和PaaS服务的依赖管理、基础设施的关联关系管理,实现对云资源的编排控制。除此之外,当需要在生产环境中创建可伸缩性的服务,也可借助基础设施即代码。例如,在高峰时期,系统可以根据定义的环境自动创建并加入新的节点来实现动态扩容,并在低峰时将其销毁,以及当监控发现某节点失败,系统可以根据定义的环境自动创建新的节点来替换失败节点,实现自动灾难恢复,提高了资源部署的灵活性。
本实施例中,所述云资源编排方法,还可以包括:通过webhook机制监听云资源的状态变化和资源审计信息;所述资源审计信息包括接口调用信息;通过Helm chart仓库(Helm chart repository)对Helmchart的生命周期进行管理。即利用webhook方法主动记录资源整个生命周期的状态变化和资源审计的信息,资源审计信息可以包括但不限于各个接口的调用信息等,webhook是微服务API的使用范式之一,也被成为反向API,即前端不主动发送请求,完全由后端推送。同时,利用Helm chart仓库对Helmchart的生命周期进行管理,如编辑等操作。
本实施例中,所述在kubernetes部署生成相应的底层资源的过程中,还可以包括:获取部署资源过程中产生的业务信息;通过预先配置的Helm chart hooks调用所述云资源编排可视化服务的开放应用编程接口,将所述业务信息写入相应的业务系统。例如图4所示,在部署资源的过程中产生的相关的业务信息,可以通过扩展Helm chart hooks回调云资源编排可视化服务的开放应用编程接口,即openAPI,把相应的业务数据写到业务系统中。
由上可见,本实施例中通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;基于所述编排文件,利用Helm组件生成相应的Helmchart文件;根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。可见,针对CRD扩展资源,通过利用kubernets的CRD机制扩展接口对接目标服务的云平台,实现kubernets支持各种新型云资源类型,纳管多种底层资源,使得kubernetes不再只是支持容器化的资源,同时,根据对云资源和PaaS服务进行资源编排配置得到编排文件,利用Helm组件生成编排文件对应的Helmchart文件,可以实现对底层云资源实例、配置的依赖管理以实现基础设施代码化能力,并且部署过程不需要人为操作可以实现无人值守的自动化资源部署。
本申请实施例公开了一种具体的云资源编排方法,参见图5所示,该方法可以包括以下步骤:
步骤S21:通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件。
步骤S22:基于所述编排文件,利用Helm组件生成相应的Helmchart文件。
步骤S23:根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源。
步骤S24:若所述待部署资源为kubernetes内置资源,则利用Helm组件的执行引擎生成所述Helmchart文件对应的部署文件。
步骤S25:将所述部署文件发送给所述kubernetes,以便所述kubernetes根据所述部署文件自动化部署出相应的底层资源。
本实施例中,例如图4所示,当待部署资源为kubernetes内置资源时,基于上述Helmchart文件利用Helm组件的执行引擎生成对应的部署文件,然后将生成的部署文件直接发送给kubernetes,以便述kubernetes根据该部署文件自动化部署出相应的底层资源。即如果资源为kubernetes原生支持的资源,此时直接发送部署文件到kubernetes的集群中,kubernetes即可根据部署文件自动化的部署出相应的底层资源。
步骤S26:若所述待部署资源为CRD扩展资源,则调用预设的服务编排控制平面的接口。
步骤S27:通过所述服务编排控制平面从所述Helmchart文件中提取所述待部署资源相关的数据信息,并调用相关的云平台接口,以在kubernetes部署生成相应的底层资源。
本实施例中,如果资源为CRD资源,则自动调用预先配置的服务编排控制平面的接口,以通过服务编排的控制平面自动化的部署出相应的底层资源,创建出相应的服务实例。其中,服务编排控制平面用于实现不同云平台的对接,具体包括数据转换和云平台接口调用两个部分,例如资源编排为需要创建虚拟机,则从Helmchart中提取出相关的镜像、规格、网络等信息,然后调用创建虚拟机接口完成资源创建。
其中,关于上述步骤S21-步骤S23的具体过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
由上可见,本实施例中若所述待部署资源为kubernetes内置资源,则利用Helm组件的执行引擎生成所述Helmchart文件对应的部署文件;将所述部署文件发送给所述kubernetes,以便所述kubernetes根据所述部署文件自动化部署出相应的底层资源。若所述待部署资源为CRD扩展资源,则调用预设的服务编排控制平面的接口;通过所述服务编排控制平面从所述Helmchart文件中提取所述待部署资源相关的数据信息,并调用相关的云平台接口,以在kubernetes部署生成相应的底层资源。可见,针对不同类型的资源利用Helm组件执行相应的资源调度,可以方便快捷的在kubernetes部署出各类资源,使kubernetes在原有的仅支持容器化的资源的基础上,实现对底层多种资源的支持。
相应的,本申请实施例还公开了一种云资源编排装置,参见图6所示,该装置包括:
云资源编排可视化模块11,用于通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;
Helmchart文件生成模块12,用于基于所述编排文件,利用Helm组件生成相应的Helmchart文件;
资源类型确定模块13,用于根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;
资源调度模块14,用于通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
由上可见,本实施例中通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;基于所述编排文件,利用Helm组件生成相应的Helmchart文件;根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。可见,针对CRD扩展资源,通过利用kubernets的CRD机制扩展接口对接目标服务的云平台,实现kubernets支持各种新型云资源类型,纳管多种底层资源,使得kubernetes不再只是支持容器化的资源,同时,根据对云资源和PaaS服务进行资源编排配置得到编排文件,利用Helm组件生成编排文件对应的Helmchart文件,可以实现对底层云资源实例、配置的依赖管理以实现基础设施代码化能力,并且部署过程不需要人为操作可以实现无人值守的自动化资源部署。
在一些具体实施例中,所述Helmchart文件生成模块12具体可以包括:
Helm调用单元,用于当获取到用户发送的编排部署指令后,通过RESTful方式调用Helm组件;
Helmchart文件生成单元,用于利用所述Helm组件,将数据库中以JSON格式保存的所述编排文件转换为YAML格式文件,得到所述Helmchart文件。
在一些具体实施例中,所述云资源编排装置具体可以包括:
云资源监听单元,用于通过webhook机制监听云资源的状态变化和资源审计信息;所述资源审计信息包括接口调用信息;
Helmchart管理单元,用于通过Helm chart仓库对Helmchart的生命周期进行管理。
在一些具体实施例中,所述云资源编排装置具体可以包括:
业务信息获取单元,用于获取部署资源过程中产生的业务信息;
业务信息写入单元,用于通过预先配置的Helm chart hooks调用所述云资源编排可视化服务的开放应用编程接口,将所述业务信息写入相应的业务系统。
在一些具体实施例中,所述资源调度模块14具体可以包括:
配置信息获取单元,用于获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,以及对所述云资源和PaaS服务的基本参数配置;所述基本参数配置包括虚拟机规格、网络信息、部署软件执行的脚本信息。
在一些具体实施例中,所述云资源编排可视化模块11具体可以包括:
部署文件生成单元,用于若所述待部署资源为kubernetes内置资源,则利用所述执行引擎生成所述Helmchart文件对应的部署文件;
部署文件发送单元,用于将所述部署文件发送给所述kubernetes,以便所述kubernetes根据所述部署文件自动化部署出相应的底层资源。
在一些具体实施例中,所述资源调度模块14具体可以包括:
接口调用单元,用于若所述待部署资源为CRD扩展资源,则调用预设的服务编排控制平面的接口;
资源部署单元,用于通过所述服务编排控制平面从所述Helmchart文件中提取所述待部署资源相关的数据信息,并调用相关的云平台接口,以在kubernetes部署生成相应的底层资源。
进一步的,本申请实施例还公开了一种电子设备,参见图7所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的云资源编排方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及包括编排文件在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的云资源编排方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的云资源编排方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种云资源编排方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种云资源编排方法,其特征在于,包括:
通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;
基于所述编排文件,利用Helm组件生成相应的Helmchart文件;
根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;
通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
2.根据权利要求1所述的云资源编排方法,其特征在于,所述基于所述编排文件,利用Helm组件生成相应的Helmchart文件,包括:
当获取到用户发送的编排部署指令后,通过RESTful方式调用Helm组件;
利用所述Helm组件,将数据库中以JSON格式保存的所述编排文件转换为YAML格式文件,得到所述Helmchart文件。
3.根据权利要求1所述的云资源编排方法,其特征在于,还包括:
通过webhook机制监听云资源的状态变化和资源审计信息;所述资源审计信息包括接口调用信息;
通过Helm chart仓库对Helmchart文件的生命周期进行管理。
4.根据权利要求1所述的云资源编排方法,其特征在于,所述在kubernetes部署生成相应的底层资源的过程中,还包括:
获取部署资源过程中产生的业务信息;
通过预先配置的Helm chart hooks调用所述云资源编排可视化服务的开放应用编程接口,将所述业务信息写入相应的业务系统。
5.根据权利要求1所述的云资源编排方法,其特征在于,所述获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,包括:
获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,以及对所述云资源和PaaS服务的基本参数配置;所述基本参数配置包括虚拟机规格、网络信息、部署软件执行的脚本信息。
6.根据权利要求5所述的云资源编排方法,其特征在于,所述获取用户通过可视化编排对所述云资源与PaaS服务之间的依赖关系配置,包括:
监测用户通过可视化编排,对所述云资源内的目标资源以及所述PaaS服务内的目标服务的拖拽和连接操作;
根据所述拖拽和连接操作生成所述云资源与PaaS服务之间的依赖关系配置。
7.根据权利要求1所述的云资源编排方法,其特征在于,所述通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源,包括:
若所述待部署资源为kubernetes内置资源,则利用所述执行引擎生成所述Helmchart文件对应的部署文件;
将所述部署文件发送给所述kubernetes,以便所述kubernetes根据所述部署文件自动化部署出相应的底层资源。
8.根据权利要求1至7任一项所述的云资源编排方法,其特征在于,所述通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源,包括:
若所述待部署资源为CRD扩展资源,则调用预设的服务编排控制平面的接口;
通过所述服务编排控制平面从所述Helmchart文件中提取所述待部署资源相关的数据信息,并调用相关的云平台接口,以在kubernetes部署生成相应的底层资源。
9.一种云资源编排装置,其特征在于,包括:
云资源编排可视化模块,用于通过云资源编排可视化服务展示云资源和PaaS服务,并获取用户通过可视化编排对所述云资源和PaaS服务的资源编排配置,以得到编排文件;
Helmchart文件生成模块,用于基于所述编排文件,利用Helm组件生成相应的Helmchart文件;
资源类型确定模块,用于根据所述Helmchart文件内资源信息判断待部署资源的资源类型;所述资源类型包括kubernetes内置资源和CRD扩展资源;
资源调度模块,用于通过Helm组件的执行引擎根据所述资源类型执行对应的资源调度操作,以在kubernetes部署生成相应的底层资源;所述资源调度操作包括与所述CRD扩展资源对应的利用CRD机制对接目标服务的云平台的操作。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至8任一项所述的云资源编排方法。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至8任一项所述的云资源编排方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154242.2A CN114020448A (zh) | 2021-09-29 | 2021-09-29 | 一种云资源编排方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154242.2A CN114020448A (zh) | 2021-09-29 | 2021-09-29 | 一种云资源编排方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114020448A true CN114020448A (zh) | 2022-02-08 |
Family
ID=80055190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154242.2A Pending CN114020448A (zh) | 2021-09-29 | 2021-09-29 | 一种云资源编排方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020448A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114648026A (zh) * | 2022-05-20 | 2022-06-21 | 广州嘉为科技有限公司 | 一种多云环境下的资源交付方法、系统及存储介质 |
CN115081396A (zh) * | 2022-05-12 | 2022-09-20 | 中国南方电网有限责任公司 | 一种智能化修编作业文件的方法及装置 |
CN115098112A (zh) * | 2022-08-25 | 2022-09-23 | 恒丰银行股份有限公司 | 一种金融云应用资源的部署方法、设备及介质 |
CN115309400A (zh) * | 2022-10-10 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 任务部署方法、服务平台、部署平台、设备和存储介质 |
CN115357369A (zh) * | 2022-10-21 | 2022-11-18 | 之江实验室 | 一种k8s容器云平台中CRD应用集成调用方法与装置 |
CN115499494B (zh) * | 2022-11-08 | 2023-03-24 | 恒丰银行股份有限公司 | 一种基于服务化的云资源智能分配方法及设备 |
CN116974703A (zh) * | 2023-09-22 | 2023-10-31 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes应用资源管理方法及系统 |
-
2021
- 2021-09-29 CN CN202111154242.2A patent/CN114020448A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115081396A (zh) * | 2022-05-12 | 2022-09-20 | 中国南方电网有限责任公司 | 一种智能化修编作业文件的方法及装置 |
CN114648026A (zh) * | 2022-05-20 | 2022-06-21 | 广州嘉为科技有限公司 | 一种多云环境下的资源交付方法、系统及存储介质 |
CN114648026B (zh) * | 2022-05-20 | 2022-08-09 | 广州嘉为科技有限公司 | 一种多云环境下的资源交付方法、系统及存储介质 |
CN115098112A (zh) * | 2022-08-25 | 2022-09-23 | 恒丰银行股份有限公司 | 一种金融云应用资源的部署方法、设备及介质 |
CN115309400A (zh) * | 2022-10-10 | 2022-11-08 | 阿里巴巴(中国)有限公司 | 任务部署方法、服务平台、部署平台、设备和存储介质 |
CN115357369A (zh) * | 2022-10-21 | 2022-11-18 | 之江实验室 | 一种k8s容器云平台中CRD应用集成调用方法与装置 |
CN115499494B (zh) * | 2022-11-08 | 2023-03-24 | 恒丰银行股份有限公司 | 一种基于服务化的云资源智能分配方法及设备 |
CN116974703A (zh) * | 2023-09-22 | 2023-10-31 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes应用资源管理方法及系统 |
CN116974703B (zh) * | 2023-09-22 | 2024-01-02 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种kubernetes应用资源管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114020448A (zh) | 一种云资源编排方法、装置、设备及存储介质 | |
CN112416524B (zh) | 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置 | |
CN108809722B (zh) | 一种部署Kubernetes集群的方法、装置和存储介质 | |
CN109120678B (zh) | 用于分布式存储系统的服务托管的方法和装置 | |
US10171377B2 (en) | Orchestrating computing resources between different computing environments | |
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
US7823023B2 (en) | Test framework for testing an application | |
CN108196915B (zh) | 基于应用容器引擎的代码处理方法、设备及存储介质 | |
US9307019B2 (en) | Apparatus, systems and methods for deployment and management of distributed computing systems and applications | |
US9245111B2 (en) | Owner command execution in a multi-tenant cloud hosting environment | |
CN102427481B (zh) | 用于对云计算服务进行管理的系统及云计算管理方法 | |
CN113742031B (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN111026414B (zh) | 一种基于kubernetes的HDP平台部署方法 | |
CN111459539B (zh) | 基于镜像分层的持续集成流水线运行方法及装置 | |
CN107632937B (zh) | 一种对虚拟机集群进行测试的方法、装置、可读存储介质 | |
CN112035217A (zh) | 集群的处理方法、装置、电子设备及计算机可读存储介质 | |
CN111367618A (zh) | 基于docker的代码管理方法、系统、终端及介质 | |
CN110888736A (zh) | 一种基于容器云平台的应用管理方法、系统及相关组件 | |
CN115061717A (zh) | 应用管理方法、应用订阅方法及相关设备 | |
CN114968477A (zh) | 容器热迁移方法及容器热迁移装置 | |
CN112882792A (zh) | 信息加载方法、计算机设备及存储介质 | |
CN110888639A (zh) | 一种业务代码编译打包方法和装置 | |
CN114124739B (zh) | 部署FreeSWITCH服务的方法、装置、电子设备及存储介质 | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN115113975A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231122 Address after: Room 2301, No. 395 Linjiang Avenue, Tianhe District, Guangzhou City, Guangdong Province, 510655 (Location: Self made Unit 01) Applicant after: Guangdong Inspur Intelligent Computing Technology Co.,Ltd. Applicant after: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd. |