应用管理方法、装置及存储介质制造方法及图纸

技术编号:36870114 阅读:20 留言:0更新日期:2023-03-15 19:44
本申请提供一种应用管理方法、装置及存储介质,该方法通过应用发布系统获取应用发版请求,从应用管理系统获取应用的第一配置信息,进而,进行第一次校验,如果校验通过,则向K8S平台发布应用的工作负载,以进行容器创建,并触发创建回调,从而,应用发布系统从管理系统获取应用的第二配置信息,并在容器增加该信息,从管理系统获取多个K8S集群的资源状态,进行第二次校验,如果校验通过,则发送容器创建成功信息至K8S平台,以进行容器启动。其中,本申请实施例可以对云原生应用进行资源管理和校验,减少出现危害到整个K8S集群的安全和稳定性的情况。而且,本申请实施例可以使用原生的K8S协议,无需对应用部署脚本,无任何侵入性。性。性。

【技术实现步骤摘要】
应用管理方法、装置及存储介质


[0001]本申请涉及金融科技(Fintech)的云原生应用技术,尤其涉及一种应用管理方法、装置及存储介质。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,容器技术也不例外,但由于金融行业的安全性、实时性要求,其对容器技术提出更高的要求。
[0003]相关技术中,容器是物理计算节点资源分配与调度的基本单元。随着容器技术的不断发展,新虚拟化技术为业务提供高效运行环境,实现虚拟资源在不同服务器上的统一。其基本原理是将多个服务器对应的虚拟资源切分为多个应用容器,使得开发者可以打包应用到一个可移植的容器中,并发布到任意一个计算机上,实现应用的容器化。目前,Kubernetes,简称K8S,是流行的容器编排管理技术,可管理集群中多个服务器上的应用容器,实现应用的部署、规划、更新以及维护。而基于K8S提供云原生应用是各个云厂商或云开发者必须要掌握的技术。
[0004]然而,K8S缺少对云原生应用资源的管理,如用户在Yaml中声明了多少资源,K8S就在实际运行中分配对等的资源,如果用户的Yaml中涉及K8SService、命名空间(Namespace)等全局的资源,不加以限制可能会危害到整个K8S集群的安全和稳定性。

技术实现思路

[0005]为解决现有技术中存在的问题,本申请提供一种应用管理方法、装置及存储介质。
[0006]第一方面,本申请实施例提供一种应用管理方法,所述方法应用于应用发布系统,所述方法包括:
[0007]获取应用发版请求,基于所述应用发版请求,从应用管理系统获取待发版应用的第一配置信息;
[0008]根据所述应用发版请求和所述第一配置信息,对所述待发版应用进行第一次校验,若第一次校验通过,则向K8S平台发布所述待发版应用的工作负载,以使所述K8S平台根据所述待发版应用的工作负载,进行容器创建,并触发创建回调至所述应用发布系统,其中,所述K8S平台包括多个K8S集群;
[0009]根据所述创建回调,从所述应用管理系统获取所述待发版应用的第二配置信息,并在所述容器增加所述第二配置信息;
[0010]从所述应用管理系统获取所述多个K8S集群的资源状态,并根据所述多个K8S集群的资源状态,对所述待发版应用进行第二次校验,若第二次校验通过,则发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信息,进行容器启动。
[0011]在一种可能的实现方式中,所述应用发版请求携带所述待发版应用的标识;
[0012]所述基于所述应用发版请求,从应用管理系统获取待发版应用的第一配置信息,
包括:
[0013]基于所述待发版应用的标识,从所述应用管理系统获取待发版应用的第一配置信息。
[0014]在一种可能的实现方式中,所述应用发版请求还携带所述待发版应用的发布包,所述第一配置信息包括所述待发版应用使用的命名空间、工作负载和计算资源总量;
[0015]所述根据所述应用发版请求和所述第一配置信息,对所述待发版应用进行第一次校验,包括:
[0016]校验所述待发版应用的标识的合法性;
[0017]若校验所述待发版应用的标识合法,则解析所述待发版应用的发布包,获取所述待发版应用声明要使用的命名空间、工作负载和计算资源总量;
[0018]分别校验所述待发版应用声明要使用的命名空间、工作负载和计算资源总量,与所述待发版应用使用的命名空间、工作负载和计算资源总量是否一致。
[0019]在一种可能的实现方式中,所述多个K8S集群的资源状态包括多个K8S集群按应用分组的申请计算资源,所述申请计算资源包括申请的资源对象类型、产生的容器数量,以及产生的容器的计算资源总和;
[0020]所述根据所述多个K8S集群的资源状态,对所述待发版应用进行第二次校验,包括:
[0021]根据所述多个K8S集群的资源状态,确定所述待发版应用申请的资源对象类型、产生的容器数量,以及产生的容器的计算资源总和;
[0022]校验所述待发版应用请求的资源对象类型,是否超过所述待发版应用申请的资源对象类型,所述待发版应用请求产生的容器数量,是否超过所述待发版应用申请产生的容器数量,并校验所述待发版应用请求产生的容器的计算资源总和,是否超过所述待发版应用申请产生的容器的计算资源总和。
[0023]在一种可能的实现方式中,所述发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信息,进行容器启动,包括:
[0024]发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信息,在所述应用管理系统实施容器节点调度,以获得容器节点

物理机

机架

数据中心的对应关系,并基于所述对应关系、第一策略和第二策略,确定目标容器节点,进行容器启动。
[0025]在一种可能的实现方式中,所述第一策略包括机架高可用预选、数据中心高可用预选、K8S集群高可用预选、节点资源预留预选和容器资源预选,其中,所述机架高可用预选用于预选应用集群中一个模块的容器节点部署在至少两个机架上的,所述数据中心高可用预选用于预选应用集群中一个模块的容器节点部署在至少两个数据中心上的,所述K8S集群高可用预选用于预选应用集群中一个模块的容器节点部署在至少两个K8S集群上的,所述节点资源预留预选用于预选容器节点预留预设百分比资源的,所述容器资源预选用于预选容器节点的资源满足预设需求的。
[0026]在一种可能的实现方式中,所述第二策略包括容器节点负载打分策略、业务亲和度打分策略和工作负载的主机级高可用打分策略,其中,所述容器节点负载打分策略基于容器节点的实时资源利用情况打分,所述业务亲和度打分策略基于同一数据中心上容器节点之间的亲和性打分,所述工作负载的主机级高可用打分策略基于同一工作负载下容器节
点位于主机的情况打分。
[0027]在一种可能的实现方式中,所述第二配置信息包括应用的环境变量、基于角色的访问控制(Role

Based Access Control,RBAC)权限和用于调度的预设配置。
[0028]第二方面,本申请实施例提供一种应用管理装置,所述装置应用于应用发布系统,所述装置包括:
[0029]获取模块,用于获取应用发版请求,基于所述应用发版请求,从应用管理系统获取待发版应用的第一配置信息;
[0030]第一校验模块,用于根据所述应用发版请求和所述第一配置信息,对所述待发版应用进行第一次校验,若第一次校验通过,则向K8S平台发布所述待发版应用的工作负载,以使所述K8S平台根据所述待发版应用的工作负载,进行容器创建,并触发创建回调至所述应用发布系统,其中,所述K8S平台包括多个K8S集群;
[0031]增加模块,用于根据所述创建回调,从所述应用管理系统获取所述待本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用管理方法,其特征在于,所述方法应用于应用发布系统,所述方法包括:获取应用发版请求,基于所述应用发版请求,从应用管理系统获取待发版应用的第一配置信息;根据所述应用发版请求和所述第一配置信息,对所述待发版应用进行第一次校验,若第一次校验通过,则向K8S平台发布所述待发版应用的工作负载,以使所述K8S平台根据所述待发版应用的工作负载,进行容器创建,并触发创建回调至所述应用发布系统,其中,所述K8S平台包括多个K8S集群;根据所述创建回调,从所述应用管理系统获取所述待发版应用的第二配置信息,并在所述容器增加所述第二配置信息;从所述应用管理系统获取所述多个K8S集群的资源状态,并根据所述多个K8S集群的资源状态,对所述待发版应用进行第二次校验,若第二次校验通过,则发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信息,进行容器启动。2.根据权利要求1所述的方法,其特征在于,所述应用发版请求携带所述待发版应用的标识;所述基于所述应用发版请求,从应用管理系统获取待发版应用的第一配置信息,包括:基于所述待发版应用的标识,从所述应用管理系统获取待发版应用的第一配置信息。3.根据权利要求2所述的方法,其特征在于,所述应用发版请求还携带所述待发版应用的发布包,所述第一配置信息包括所述待发版应用使用的命名空间、工作负载和计算资源总量;所述根据所述应用发版请求和所述第一配置信息,对所述待发版应用进行第一次校验,包括:校验所述待发版应用的标识的合法性;若校验所述待发版应用的标识合法,则解析所述待发版应用的发布包,获取所述待发版应用声明要使用的命名空间、工作负载和计算资源总量;分别校验所述待发版应用声明要使用的命名空间、工作负载和计算资源总量,与所述待发版应用使用的命名空间、工作负载和计算资源总量是否一致。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述多个K8S集群的资源状态包括多个K8S集群按应用分组的申请计算资源,所述申请计算资源包括申请的资源对象类型、产生的容器数量,以及产生的容器的计算资源总和;所述根据所述多个K8S集群的资源状态,对所述待发版应用进行第二次校验,包括:根据所述多个K8S集群的资源状态,确定所述待发版应用申请的资源对象类型、产生的容器数量,以及产生的容器的计算资源总和;校验所述待发版应用请求的资源对象类型,是否超过所述待发版应用申请的资源对象类型,所述待发版应用请求产生的容器数量,是否超过所述待发版应用申请产生的容器数量,并校验所述待发版应用请求产生的容器的计算资源总和,是否超过所述待发版应用申请产生的容器的计算资源总和。5.根据权利要求1至3中任一项所述的方法,其特征在于,所述发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信息,进行容器启动,包括:发送容器创建成功信息至所述K8S平台,以使所述K8S平台基于所述容器创建成功信
息,在所述应用管理系统实施容器节点调度,以获得容器节点

物理机<...

【专利技术属性】
技术研发人员:陈广镇杨军卢道和
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:

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

1