应用的扩容方法及装置制造方法及图纸

技术编号:32513375 阅读:21 留言:0更新日期:2022-03-02 11:03
本申请提供一种应用的扩容方法、装置、电子设备及计算机可读存储介质,所述方法应用于安装包管理客户端,所述方法包括:获取目标应用的应用安装包,所述应用安装包至少包括模板文件和扩容解析钩子;所述模板文件包括有所述目标应用的安装信息和部署信息;所述部署信息指示部署所述目标应用所需的工作负载数量N,N为大于1的整数;挂接所述扩容解析钩子以执行:根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;根据所述副本数量M和所述安装信息进行扩容,生成所述目标应用的M个安装内容;M为大于0的整数。本实施例实现需要至少两个工作负载进行部署的应用的自动扩容。用的自动扩容。用的自动扩容。

【技术实现步骤摘要】
应用的扩容方法及装置


[0001]本申请涉及计算机软件领域,尤其涉及一种应用的扩容方法及装置。

技术介绍

[0002]Kubernetes(简称K8s,是用8代替8个字符"ubernete"而成的缩写)是一个分布式容器集群管理平台,为容器化应用提供了部署运行、资源调度、服务发现和动态伸缩等一系列完整功能。
[0003]其中,Kubernetes提供工作负载来对容器进行部署与管理,通常情况下,一个应用通常使用单个工作负载进行部署,在该应用需要扩容时,可以通过调整工作负载的副本数就可以实现该应用的扩容。
[0004]但随着业务增长或者需求的不断增加,应用所提供的服务或者所具备的功能越多,应用的运行逻辑也更为复杂,有些较为复杂的应用部署到容器中时,需要使用至少两个工作负载进行部署,而相关技术中的扩容方式无法适用于一个应用使用至少两个工作负载进行部署的情况。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种应用的扩容方法、装置、电子设备及计算机可读存储介质。
[0006]本申请的第一方面提供了一种应用的扩容方法,应用于安装包管理客户端,所述方法包括:
[0007]获取目标应用的应用安装包,所述应用安装包至少包括模板文件和扩容解析钩子;所述模板文件包括有所述目标应用的安装信息和部署信息;所述部署信息指示部署所述目标应用所需的工作负载数量N,N为大于1的整数;
[0008]挂接所述扩容解析钩子以执行:根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;根据所述副本数量M和所述安装信息进行扩容,生成所述目标应用的M个安装内容;M为大于0的整数。
[0009]可选地,所述获取目标应用的应用安装包,包括:
[0010]响应于所述目标应用的安装指令或者响应于所述K8s集群中节点的扩容,获取所述目标应用的应用安装包。
[0011]可选地,所述确定所述目标应用可扩容的副本数量M,包括:
[0012]响应于捕获到的目标安装消息,根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;其中,所述目标安装消息为所述安装包管理客户端向所述K8s集群发送的有关于所述目标应用的安装消息。
[0013]可选地,所述K8s集群中的可用资源根据所述K8s集群中节点的数量以及每个节点中的空闲资源确定。
[0014]可选地,还包括:将所述目标应用的M个安装内容安装在所述K8s集群中。
[0015]可选地,在所述生成所述目标应用的M个安装内容之前,还包括:
[0016]保存所述目标应用在扩容之前的应用状态信息;
[0017]其中,所述应用安装包还包括扩容回滚钩子;
[0018]所述方法还包括:
[0019]挂接所述扩容回滚钩子以执行:响应于所述目标应用安装失败,根据保存的所述应用状态信息和当前的应用状态信息之间的差异,执行回滚操作。
[0020]可选地,所述目标应用在扩容之前的应用状态信息包括所述应用安装包和/或所述目标应用在扩容之前的运行数据。
[0021]根据本申请实施例的第二方面,提供一种应用的扩容装置,应用于安装包管理客户端,所述装置包括:
[0022]安装包获取模块,用于获取目标应用的应用安装包,所述应用安装包至少包括模板文件和扩容解析钩子;所述模板文件包括有所述目标应用的安装信息和部署信息;所述部署信息指示部署所述目标应用所需的工作负载数量N,N为大于1的整数;
[0023]扩容模块,用于挂接所述扩容解析钩子以执行:根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;根据所述副本数量M和所述安装信息进行扩容,生成所述目标应用的M个安装内容;M为大于0的整数。
[0024]可选地,所述安装包获取模块,具体用于响应于所述目标应用的安装指令或者响应于所述K8s集群中节点的扩容,获取所述目标应用的应用安装包。
[0025]可选地,所述扩容模块,具体用于响应于捕获到的目标安装消息,根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;其中,所述目标安装消息为所述安装包管理客户端向所述K8s集群发送的有关于所述目标应用的安装消息。
[0026]可选地,所述K8s集群中的可用资源根据所述K8s集群中节点的数量以及每个节点中的空闲资源确定。
[0027]可选地,还包括:安装模块,用于将所述目标应用的M个安装内容安装在所述K8s集群中。
[0028]可选地,所述应用安装包还包括扩容回滚钩子;所述装置还包括:
[0029]状态保存模式,用于保存所述目标应用在扩容之前的应用状态信息;
[0030]回滚模块,用于挂接所述扩容回滚钩子以执行:响应于所述目标应用安装失败,根据保存的所述应用状态信息和当前的应用状态信息之间的差异,执行回滚操作。
[0031]可选地,所述目标应用在扩容之前的应用状态信息包括所述应用安装包和/或所述目标应用在扩容之前的运行数据。
[0032]根据本申请实施例的第三方面,提供一种电子设备,包括:
[0033]用于存储可执行指令的存储器;
[0034]一个或多个处理器;
[0035]其中,所述一个或多个处理器执行所述可执行指令时,被单独地或共同地配置成执行第一方面任一项所述的方法。
[0036]根据本申请实施例的第四方面,还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面中任一所述方法的步骤。
[0037]本申请的实施例提供的技术方案可以包括以下有益效果:
[0038]本申请实施例提供了一种针对于需要至少两个工作负载进行部署的应用的扩容方法,所述方法可以应用在K8s集群的安装包管理客户端,所述安装包管理客户端获取目标应用的应用安装包,所述应用安装包至少包括模板文件和扩容解析钩子;所述模板文件包括有所述目标应用的安装信息和部署信息;所述部署信息指示部署所述目标应用所需的工作负载数量N,N为大于1的整数;然后挂接所述扩容解析钩子以执行:根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;根据所述副本数量M和所述安装信息进行扩容,生成所述目标应用的M个安装内容;M为大于0的整数。本实施例实现在K8s环境中,需要至少两个工作负载部署的容器化应用的自动扩容,有利于减少人工操作步骤,提高扩容效率。
[0039]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0040]图1为本申请根据一示例性实施例PXC集群使用3个工作负载进行部署的场景示意图;
[0041]图2为本申请根据一示例性实施例示出的安装包管理客户端与K8s集群的连接示意图;
[0042]图3为本申请根据一示例性实施例示出的一种应用的扩容方法的流程示意图;
[0043]图4为本申请根据一示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用的扩容方法,其特征在于,应用于安装包管理客户端,所述方法包括:获取目标应用的应用安装包,所述应用安装包至少包括模板文件和扩容解析钩子;所述模板文件包括有所述目标应用的安装信息和部署信息;所述部署信息指示部署所述目标应用所需的工作负载数量N,N为大于1的整数;挂接所述扩容解析钩子以执行:根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;根据所述副本数量M和所述安装信息进行扩容,生成所述目标应用的M个安装内容;M为大于0的整数。2.根据权利要求1所述的方法,其特征在于,所述获取目标应用的应用安装包,包括:响应于所述目标应用的安装指令或者响应于所述K8s集群中节点的扩容,获取所述目标应用的应用安装包。3.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用可扩容的副本数量M,包括:响应于捕获到的目标安装消息,根据K8s集群中的可用资源和所述部署信息,确定所述目标应用可扩容的副本数量M;其中,所述目标安装消息为所述安装包管理客户端向所述K8s集群发送的有关于所述目标应用的安装消息。4.根据权利要求1所述的方法,其特征在于,所述K8s集群中的可用资源根据所述K8s集群中节点的数量以及每个节点中的空闲资源确定。5.根据权利要求1所述的方法,其特征在于,还包括:将所述目标应用的M个安装内容安装在所述K8s集群中。6.根据权利要求1至5任意一项所述的方法,其特征在于,在所述生成所述目标应用的M个安装内容之前,还包括:保存所述目标应用在扩容之前的应用状态信息;其中,所述应用安装包还包括扩容回滚钩子;所述方法还包括:挂接所述扩容回滚钩子以执行:响应于所述目标应用安装失败,根据保存的所述应用状态信息和当前的应用状态信息之间的差异,执行回滚操作。7.根据权利要求6...

【专利技术属性】
技术研发人员:王伟
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1