logo好方法网

服务部署方法、装置及电子设备


技术摘要:
本公开实施例提供了一种服务部署方法、装置及电子设备,涉及云计算领域,该方法通过首先获取待部署服务对应的多个应用的应用定义,上述应用定义包括该应用的依赖信息;依次从多个应用中确定当前应用;基于当前应用的依赖信息,确定当前应用所依赖的一个或多个应用是否  全部
背景技术:
目前,针对于服务,常用的部署技术是使用Helm(Kubernetes的包管理工具)将应 用安装到Kubernetes集群中,其中Helm是一种Kubernetes的包管理工具,实际上,Helm会根 据Chart(Helm的包文件)和参数生成Kubernetes的原生资源,如Deployment、Service、 Configmap等,使应用运行起来并提供服务。 然而,通常情况下,一个服务由多个应用组成,每个应用通常封装到一个Chart中, 如MySQL是一个单独的Chart。单独的一次Chart安装,无法完成整体服务所有组件的部署。 综上,现有的服务部署方法存在部署效率较低的问题。
技术实现要素:
有鉴于此,本发明的目的在于提供服务部署方法、装置及电子设备,以缓解现有技 术中存在的部署效率较低的问题,有利于提高服务部署效率。 第一方面,本发明实施例提供了一种服务部署方法,包括以下步骤: 获取待部署服务对应的多个应用的应用定义,所述应用定义包括该应用的依赖信 息; 依次从所述多个应用中确定当前应用; 基于所述当前应用的依赖信息,确定所述当前应用所依赖的一个或多个应用是否 已经部署成功; 如果是,则部署所述当前应用。 结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,基 于所述当前应用的依赖信息,确定所述当前应用所依赖的一个或多个应用是否已经部署成 功的步骤,包括: 基于所述当前应用的依赖信息,判断所述当前应用是否存在所依赖的一个或多个 应用; 若所述当前应用存在所依赖的一个或多个应用,确定所述当前应用所依赖的一个 或多个应用是否已经部署成功。 结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种 可能的实施方式,其中,所述方法还包括: 若所述当前应用不存在所依赖的一个或多个应用,执行部署所述当前应用的步 骤。 结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所 述方法还包括: 如果否,将所述服务的部署状态标识为部署失败。 4 CN 111596927 A 说 明 书 2/10 页 结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所 述应用定义还包括该应用的用于描述该应用在应用部署时所需要的资源的文件; 部署所述当前应用的步骤,包括: 调用与用于描述当前应用在应用部署时所需要的资源的文件所对应的工具接口 安装所述当前应用的用于描述该当前应用在应用部署时所需要的资源的文件,并生成所述 当前应用的应用实例的记录。 结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种 可能的实施方式,其中,所述应用定义还包括该应用的Chart文件;部署所述当前应用的步 骤,包括: 调用Helm接口安装所述当前应用的Chart文件,并生成所述当前应用的应用实例 记录。 结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种 可能的实施方式,其中,判断所述当前应用是否存在对应的应用实例; 若所述当前应用不存在对应的应用实例,则执行调用与用于描述当前应用在应用 部署时所需要的资源的文件所对应的工具接口安装所述当前应用的用于描述该当前应用 在应用部署时所需要的资源的文件,并生成所述当前应用的应用实例的记录的步骤; 若所述当前应用存在对应的应用实例,则确定所述当前应用的部署状态。 结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所 述方法还包括: 基于所述多个应用的应用定义生成有向无环图DAG(Directed  Acyclic  Graph)。 第二方面,本发明实施例还提供一种服务部署装置,包括: 获取模块,用于获取待部署服务对应的多个应用的应用定义,所述应用定义包括 该应用的依赖信息; 确定模块,用于依次从所述多个应用中确定当前应用; 判断模块,用于基于所述当前应用的依赖信息,确定所述当前应用所依赖的一个 或多个应用是否已经部署成功; 部署模块,用于如果是,则部署所述当前应用。 第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述 存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现 上述的服务部署方法的步骤。 第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储 介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的服务部署方法的步 骤。 本发明实施例带来了以下有益效果:本发明实施例提供的服务部署方法、装置、电 子设备以及计算机可读存储介质,通过获取待部署服务对应的多个应用的应用定义,上述 应用定义包括该应用的依赖信息;然后依次从多个应用中确定当前应用;最后基于当前应 用的依赖信息,确定所述当前应用所依赖的一个或多个应用是否已经部署成功;如果是,则 部署所述当前应用。因此,本发明实施例提供的技术方案,在部署一个服务时,能够通过一 次部署请求,完成整个服务所有组件的部署,有利于提高服务部署效率,缓解了现有技术中 5 CN 111596927 A 说 明 书 3/10 页 存在的服务部署效率较低的问题。 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合 所附附图,作详细说明如下。 附图说明 为了更清楚地说明本发明
分享到:
收藏