CN111638942B - 一种应用启停控制方法、云平台、设备及可读存储介质 - Google Patents
一种应用启停控制方法、云平台、设备及可读存储介质 Download PDFInfo
- Publication number
- CN111638942B CN111638942B CN202010470863.0A CN202010470863A CN111638942B CN 111638942 B CN111638942 B CN 111638942B CN 202010470863 A CN202010470863 A CN 202010470863A CN 111638942 B CN111638942 B CN 111638942B
- Authority
- CN
- China
- Prior art keywords
- stop control
- stop
- control information
- resource
- target application
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000013507 mapping Methods 0.000 claims abstract description 27
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 8
- 230000000007 visual effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004883 computer application Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用启停控制方法、基于Kubernetes的容器云平台、设备及可读存储介质,该方法包括:基于Kubernetes构建的容器云平台获取目标应用的启停控制信息;利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;调用启停控制程序,并结合启停资源对目标应用进行启停控制。该方法可以针对部分并不需要持续运行应用进行启停控制,由于采用启停资源的方式进行启停控制,因而不存在采用定时脚本控制应用启停所具体的问题。该方法,进一步可提高容器云平台的整体资源利用率,增强容器云平台的应用支撑能力。
Description
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种应用启停控制方法、基于Kubernetes构建的容器云平台、应用启停控制设备及可读存储介质。
背景技术
大部分的容器云平台是基于Kubernetes(一种容器编排引擎,可支持自动化部署、大规模可伸缩、应用容器化管理)所构建的,并面向用户提供以应用管理为核心的功能体系。用户无需手动申请或分配底层的物理资源,只需要在容器云平台提供的可视化界面去设置镜像地址、实例数、CPU/内存资源要求等信息,即可由云平台自动去完成应用的部署、更新、智能运维等任务。可见,容器云平台,大大简化了应用上线及维护的流程,因此容器云平台正在受到越来越多的关注,有更多的企业或个人用户正在将应用部署在容器云平台上。
在容器云平台中,应用以工作负载的形式部署在Kubernetes集群的服务器上,可以同时运行多个实例数(Pod),并对外提供负载均衡形式的访问地址由用户来访问应用。工作负载启动后,将按照设置好的实例数及分配的CPU/内存资源持续运行。但是,在实际应用中,有些应用并不需要持续运行。例如,公司内网或政府部门的流程审批***,只在正常工作时段才会有审批人员接入内网并使用,其他时间基本没有任何的操作。这一类应用如果可以在工作时段定时启动,非工作时间定时停止,将有效提高云平台的整体资源利用率,增强云平台的应用支撑能力。
工作负载的启停,可以通过设置实例数来完成,即实例数设为0即为停止,实例数大于0即为启动。但是,Kubernetes并没有提供定时启停工作负载的功能,一个通用的解决方案是通过编写并执行定时脚本去设置工作负载的实例数来实现定时重启,但是这样存在诸多问题:第一个问题,定时脚本的部署是单机形式,当部署脚本的服务器出现故障时,脚本无法运行;第二个问题,定时脚本与Kubernets集群内部资源相对独立,增加了集群整体的备份、恢复方案的复杂度;第三个问题,脚本易被修改或删除,没有Kubernetes集群这样相对完善的权限管理机制。
综上所述,如何有效地解决基于Kubernetes所构建的容器云平台中的应用启停控制等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种应用启停控制方法、基于Kubernetes构建的容器云平台、应用启停控制设备及可读存储介质,可以基于Kubernetes的自定义资源的特点,来对应用的启停进行控制,进一步提高云平台的整体资源利用率,增强云平台的应用支撑能力。
为解决上述技术问题,本发明提供如下技术方案:
一种应用启停控制方法,包括:
基于Kubernetes构建的容器云平台获取目标应用的启停控制信息;
利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序;
调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制。
优选地,利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序,包括:
利用所述启停控制信息,构建所述启停资源和所述启停控制程序;
建立所述目标应用与所述启停资源和所述启停控制程序的映射关系。
优选地,利用所述启停控制信息,构建所述启停资源和所述启停控制程序,包括:
利用所述Kubernetes中的自定义注册接口和所述启停控制信息,构建所述启停资源和所述启停控制程序。
优选地,所述获取目标应用的启停控制信息,包括:
利用可视化页面获取所述启停控制信息。
优选地,所述获取目标应用的启停控制信息,包括:
调用API接口获取所述启停控制信息。
优选地,所述启停控制信息包括:启停策略;调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制,包括;
从所述启停资源中获取启停策略时间;
利用所述启停策略时间,对所述目标应用的工作负载进行检测;
若所述工作负载已到所述启停策略时间,则执行启动所述工作负载或停止所述工作负载的操作。
优选地,所述启停资源,包括:定时启动时间表、定时停止时间表及定时启动实例数。
一种基于Kubernetes的容器云平台,包括:
启停控制信息获取模块,用于获取目标应用的启停控制信息;
资源构建模块,用于利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序;
启停控制模块,用于调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制。
一种应用启停控制设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述应用启停控制方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述应用启停控制方法的步骤。
应用本发明实施例所提供的方法,基于Kubernetes构建的容器云平台获取目标应用的启停控制信息;利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;调用启停控制程序,并结合启停资源对目标应用进行启停控制。
Kubernetes提供了CRD资源(Custom Resource Definition,自定义资源定义)的概念,即允许用户将自定义的抽象资源类型集成到Kubernetes框架中,作为Kubernetes的一部分,充分继承Kubernetes高可用、完善的权限管理体系及一体化备份,并可以开发针对此类特定资源类型的控制方法。基于此,对于定时启停应用的需求,可以开发一种管理定时调整工作负载实例数策略的CRD资源,为每一个需要定时启停的工作负载增加此资源,并通过控制方法提取所有此类CRD资源的工作负载实例(Pod)数调整策略,构建Kubernetes内部的异步任务完成工作负载实例数的调整,达到定时启停应用的效果。具体的,即容器云平台首先获取目标应用的启停控制信息;然后利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;最终通过调用启停控制程序,并结合启停资源便可对目标应用进行启停控制。可见,该方法可以针对部分并不需要持续运行应用进行启停控制,由于采用启停资源的方式进行启停控制,因而不存在采用定时脚本控制应用启停所具体的问题。该方法,进一步可提高容器云平台的整体资源利用率,增强容器云平台的应用支撑能力。
相应地,本发明实施例还提供了与上述应用启停控制方法相对应的基于Kubernetes构建的容器云平台、应用启停控制设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种应用启停控制方法的实施流程图;
图2为本发明实施例中一种应用启停控制方法的具体实施示意图;
图3为本发明实施例中一种基于Kubernetes的容器云平台的结构示意图;
图4为本发明实施例中一种应用启停控制设备的结构示意图;
图5为本发明实施例中一种应用启停控制设备的具体结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种应用启停控制方法的流程图,该方法包括以下步骤:
S101、基于Kubernetes构建的容器云平台获取目标应用的启停控制信息。
其中,启停控制信息即用户期望的目标应用的运行时间,即包括启动时间和停止时间。
需要说明的是,为便于描述,基于Kubernetes构建的容器云平台,在本文中简称云平台。
在本实施例中,云平台获取启停控制信息的可选方式有多种,下面分别对启停控制信息各种获取方式进行详细说明:
方式1:利用可视化页面获取启停控制信息。具体的,可预先在云平台中开发出一个用于获取启停控制信息的可视化页面。用户可通过在该可视化页面输入启停控制信息或者选择启停控制信息中的参数(如启动时间,停止时间)。也就是说,云平台可通过对可视化页面中进行监控的方式,得到启停控制信息。
方式2:调用API接口获取启停控制信息。具体的,可预先开发一个IPI接口,使之能够通过读取或接收方式得到启停控制信息。
方式3:直接从可读写存储介质中读取启停控制信息。当然,在本实施例中,用户还可将启停控制信息存入可读写存储介质中,云平台直接从该可读性存储介质中读取启停控制信息即可。
在实际应用中,可选用上述获取方式中的任意一种,当然也可通过云平台获取其他数据的方式获取启停控制信息。
另外,该启停控制信息可以为一个个独立的参数,如时间点,也可是一个完整的数表。
S102、利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序。
在本实施例中,可预先开发一个通用的定时启停CRD资源类型cronupcrd及控制方法(同启停控制流程)CronupController。其中,cronupcrd可以保存作用对象(工作负载)、定时启动时间表、定时停止时间表、定时启动时实例数;CronupController用来根据cronupcrd的策略执行定时启动、停止操作。
在获取到启停控制信息之后,便可基于启停控制信息,以及通用的定时启停CRD资源类型cronupcrd及控制方法,构建与目标应用具有映射关系的启停资源和启停控制程序。即,将启停控制信息中的具体信息写入到cronupcrd,以及基于启停控制信息具体化CronupController。
其中,启停资源,包括:定时启动时间表、定时停止时间表及定时启动实例数。当然,启停资源中还可具体包括实例名称或ID等信息。
其中,与目标应用具有映射关系的启停资源和启停控制程序,指该启停资源以及启停控制程序是针对目标应用而设置的,该启停资源和启停控制程序能够控制目标应用的启动或停止。
构建启停资源和启停控制程序的具体过程可包括:
步骤一、利用启停控制信息,构建启停资源和启停控制程序;
步骤二、建立目标应用与启停资源和启停控制程序的映射关系。
具体来说,即将启停控制信息中的具体数值,填入到启停资源中的表格数据中,将启停控制信息中的控制参数,如实例名称等,写入到启停控制程序中。
具体的,在实际应用中,可利用Kubernetes中的自定义注册接口和启停控制信息,构建启停资源和启停控制程序。即,直接利用Kubernetes所具有的自定义注册接口,构建启停资源和启停控制程序。
构建启停资源和启停控制程序之后,再建立目标应用与启停资源和启停控制程序的映射关系。
当然,在实际应用中,也可先建立映射关系,然后再构建启停资源和启停控制程序。
如此,在云平台中即具有了基于用户自定义的启停资源以及启停资源的启停控制程序。
S103、调用启停控制程序,并结合启停资源对目标应用进行启停控制。
云平台可通过调用启停控制程序,即运行启停控制程序,并结合启停资源对目标应用进行启停控制。
具体的,启停控制信息包括:启停策略。而在云平台中应用通常以工作负载形式挂载在云平台中。即,调用启停控制程序,并结合启停资源对目标应用进行启停控制,可具体包括;
步骤一、从启停资源中获取启停策略时间;
步骤二、利用启停策略时间,对目标应用的工作负载进行检测;
步骤三、若工作负载已到启停策略时间,则执行启动工作负载或停止工作负载的操作。
为便于描述,下面将上述三个步骤结合起来进行说明。
该启停资源中的启停时间,可确定出目标应用的工作负载相关的启停策略时间。基于启停策略时间,可以对目标应用的工作负载进行检测。即,判断工作负载是否已达到启停策略时间,如果达到了,则执行启动该工作负载或停止该工作负载的操作。
其中,目标应用以工作负载的形式部署在Kubernetes集群的服务器上,可以同时运行多个实例数(Pod)。具体来说,若实例数为0,则整个应用处于停止状态,若实例数不为0,则应用处于启动状态。因而,可通过在启停资源保存针对不同的时段设置不同实例数的方式,进而控制目标应用的启停控制。
需要说明的是,控制目标应用的启停,相当于目标应用的处理进程而言属于异步任务,即可在无需修改目标应用的处理逻辑,以及相关部署、数据的情况下,对目标应用进行启停控制。
应用本发明实施例所提供的方法,基于Kubernetes构建的容器云平台获取目标应用的启停控制信息;利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;调用启停控制程序,并结合启停资源对目标应用进行启停控制。
Kubernetes提供了CRD资源(Custom Resource Definition,自定义资源定义)的概念,即允许用户将自定义的抽象资源类型集成到Kubernetes框架中,作为Kubernetes的一部分,充分继承Kubernetes高可用、完善的权限管理体系及一体化备份,并可以开发针对此类特定资源类型的控制方法。基于此,对于定时启停应用的需求,可以开发一种管理定时调整工作负载实例数策略的CRD资源,为每一个需要定时启停的工作负载增加此资源,并通过控制方法提取所有此类CRD资源的工作负载实例(Pod)数调整策略,构建Kubernetes内部的异步任务完成工作负载实例数的调整,达到定时启停应用的效果。具体的,即容器云平台首先获取目标应用的启停控制信息;然后利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;最终通过调用启停控制程序,并结合启停资源便可对目标应用进行启停控制。可见,该方法可以针对部分并不需要持续运行应用进行启停控制,由于采用启停资源的方式进行启停控制,因而不存在采用定时脚本控制应用启停所具体的问题。该方法,进一步可提高容器云平台的整体资源利用率,增强容器云平台的应用支撑能力。
为便于本领域技术人员更好地理解本发明实施例所提供的应用启停控制方法,下面从用户的使用视角,以及图2对应用启停控制方法进行详细说明。
其中,图2为本发明实施例中一种应用启停控制方法的具体实施示意图。具体实施过程可包括以下步骤:
步骤一、开发定时启停CRD资源类型cronupcrd及控制方法ronupController。
其中,cronupcrd可以保存作用对象(工作负载)、定时启动时间表、定时停止时间表、定时启动时实例数;CronupController用来根据cronupcrd的策略执行定时启动、停止操作。
步骤二、部署cronupcrd及CronupController到Kubernetes中。使得cronupcrd及CronupController成为Kubernetes框架的一部分。
步骤三、在云平台可视化页面或调用API接口为应用设置定时启动时间表、定时停止时间表及定时启动时实例数等信息。
步骤四、令云平台调用Kubernetes本身具有的自定义注册接口,构建cronupcrd资源,为每一个需要设置启停策略的工作负载绑定一个cronupcrd资源(即设置对应关系)。
步骤五、CronupController被Kubernetes调度并自动运行,能够实时采集并检测所有cronupcrd资源的策略,并对已到策略时间的工作负载执行启动、停止操作。
可见,本发明实施例所提供的应用启停控制方法,能够有效提高云平台的整体资源利用率,增强云平台的应用支撑能力;且CRD作为Kubernetes集群的一部分,还能够充分继承Kubernetes高可用、完善的权限管理体系及一体化备份、恢复的能力。
相应于上面的方法实施例,本发明实施例还提供了一种基于Kubernetes构建的容器云平台,下文描述的基于Kubernetes构建的容器云平台与上文描述的应用启停控制方法可相互对应参照。
参见图3所示,该云平台包括以下模块:
启停控制信息获取模块101,用于获取目标应用的启停控制信息;
资源构建模块102,用于利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;
启停控制模块103,用于调用启停控制程序,并结合启停资源对目标应用进行启停控制。
应用基于Kubernetes构建的容器云平台,云平台获取目标应用的启停控制信息;利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;调用启停控制程序,并结合启停资源对目标应用进行启停控制。
Kubernetes提供了CRD资源(Custom Resource Definition,自定义资源定义)的概念,即允许用户将自定义的抽象资源类型集成到Kubernetes框架中,作为Kubernetes的一部分,充分继承Kubernetes高可用、完善的权限管理体系及一体化备份,并可以开发针对此类特定资源类型的控制方法。基于此,对于定时启停应用的需求,可以开发一种管理定时调整工作负载实例数策略的CRD资源,为每一个需要定时启停的工作负载增加此资源,并通过控制方法提取所有此类CRD资源的工作负载实例(Pod)数调整策略,构建Kubernetes内部的异步任务完成工作负载实例数的调整,达到定时启停应用的效果。具体的,即容器云平台首先获取目标应用的启停控制信息;然后利用启停控制信息,构建与目标应用具有映射关系的启停资源和启停控制程序;最终通过调用启停控制程序,并结合启停资源便可对目标应用进行启停控制。可见,该云平台可以针对部分并不需要持续运行应用进行启停控制,由于采用启停资源的方式进行启停控制,因而不存在采用定时脚本控制应用启停所具体的问题。该云平台,进一步可提高容器云平台的整体资源利用率,增强容器云平台的应用支撑能力。
在本发明的一种具体实施方式中,资源构建模块102,具体包括:
资源构建单元,用于利用启停控制信息,构建启停资源和启停控制程序;
映射关系建立单元,用于建立目标应用与启停资源和启停控制程序的映射关系。
在本发明的一种具体实施方式中,资源构建单元,具体用于利用Kubernetes中的自定义注册接口和启停控制信息,构建启停资源和启停控制程序。
在本发明的一种具体实施方式中,启停控制信息获取模块101,具体用于利用可视化页面获取启停控制信息。
在本发明的一种具体实施方式中,启停控制信息获取模块101,具体用于调用API接口获取启停控制信息。
在本发明的一种具体实施方式中,启停控制信息包括:启停策略;启停控制模块103,具体用于从启停资源中获取启停策略时间;利用启停策略时间,对目标应用的工作负载进行检测;若工作负载已到启停策略时间,则执行启动工作负载或停止工作负载的操作。
在本发明的一种具体实施方式中,启停资源,包括:定时启动时间表、定时停止时间表及定时启动实例数。
相应于上面的方法实施例,本发明实施例还提供了一种应用启停控制设备,下文描述的一种应用启停控制设备与上文描述的一种应用启停控制方法可相互对应参照。
参见图4所示,该应用启停控制设备包括:
存储器332,用于存储计算机程序;
处理器322,用于执行计算机程序时实现上述方法实施例的应用启停控制方法的步骤。
具体的,请参考图5,为本实施例提供的一种应用启停控制设备的具体结构示意图,该应用启停控制设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储了一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在应用启停控制设备301上执行存储器332中的一系列指令操作。
应用启停控制设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作***341。
上文所描述的应用启停控制方法中的步骤可以由应用启停控制设备的结构实现。该应用启停控制设备可具体为云平台的服务器。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种应用启停控制方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的应用启停控制方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
Claims (5)
1.一种应用启停控制方法,其特征在于,包括:
基于Kubernetes构建的容器云平台获取目标应用的启停控制信息;其中,所述启停控制信息包括启动时间和停止时间;
利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序;
调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制;
其中,所述利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序,包括:将所述启停控制信息中的具体信息写入到cronupcrd,以及基于所述启停控制信息具体化CronupController;其中,所述cronupcrd为通用的定时启停CRD资源,所述CronupController为启停控制流程;
所述cronupcrd保存作用对象、定时启动时间表、定时停止时间表、定时启动时实例数;所述CronupController用于根据所述cronupcrd的策略执行定时启动、停止操作;
其中,利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序,包括:
利用所述启停控制信息,构建所述启停资源和所述启停控制程序;
建立所述目标应用与所述启停资源和所述启停控制程序的映射关系;
利用所述启停控制信息,构建所述启停资源和所述启停控制程序,包括:
利用所述Kubernetes中的自定义注册接口和所述启停控制信息,构建所述启停资源和所述启停控制程序;
其中,所述获取目标应用的启停控制信息,包括:
调用API接口获取所述启停控制信息;
其中,所述启停控制信息包括:启停策略;调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制,包括;
从所述启停资源中获取启停策略时间;
利用所述启停策略时间,对所述目标应用的工作负载进行检测;
若所述工作负载已到所述启停策略时间,则执行启动所述工作负载或停止所述工作负载的操作。
2.根据权利要求1所述的应用启停控制方法,其特征在于,所述获取目标应用的启停控制信息,包括:
利用可视化页面获取所述启停控制信息。
3.一种基于Kubernetes的容器云平台,其特征在于,包括:
启停控制信息获取模块,用于获取目标应用的启停控制信息;其中,所述启停控制信息包括启动时间和停止时间;
资源构建模块,用于利用所述启停控制信息,构建与所述目标应用具有映射关系的启停资源和启停控制程序;将所述启停控制信息中的具体信息写入到cronupcrd,以及基于所述启停控制信息具体化CronupController;其中,所述cronupcrd为通用的定时启停CRD资源,所述CronupController为启停控制流程;所述cronupcrd保存作用对象、定时启动时间表、定时停止时间表、定时启动时实例数;所述CronupController用于根据所述cronupcrd的策略执行定时启动、停止操作;
启停控制模块,用于调用所述启停控制程序,并结合所述启停资源对所述目标应用进行启停控制;
其中,所述资源构建模块,包括:
资源构建单元,用于利用所述启停控制信息,构建所述启停资源和所述启停控制程序;
映射关系建立单元,用于建立所述目标应用与所述启停资源和所述启停控制程序的映射关系;
其中,所述资源构建单元,具体用于利用所述Kubernetes中的自定义注册接口和所述启停控制信息,构建所述启停资源和所述启停控制程序;
其中,所述启停控制信息获取模块,具体用于调用API接口获取所述启停控制信息;
其中,所述启停控制信息包括:启停策略;所述启停控制模块,具体用于从所述启停资源中获取启停策略时间;利用所述启停策略时间,对所述目标应用的工作负载进行检测;若所述工作负载已到所述启停策略时间,则执行启动所述工作负载或停止所述工作负载的操作。
4.一种应用启停控制设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1或2所述应用启停控制方法的步骤。
5.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述应用启停控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470863.0A CN111638942B (zh) | 2020-05-28 | 2020-05-28 | 一种应用启停控制方法、云平台、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010470863.0A CN111638942B (zh) | 2020-05-28 | 2020-05-28 | 一种应用启停控制方法、云平台、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111638942A CN111638942A (zh) | 2020-09-08 |
CN111638942B true CN111638942B (zh) | 2024-04-19 |
Family
ID=72328806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010470863.0A Active CN111638942B (zh) | 2020-05-28 | 2020-05-28 | 一种应用启停控制方法、云平台、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111638942B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487658A (zh) * | 2015-11-24 | 2016-04-13 | 小米科技有限责任公司 | 控制应用运行的方法及装置 |
CN107944259A (zh) * | 2017-11-21 | 2018-04-20 | 广东欧珀移动通信有限公司 | 应用启动的管控方法、装置及存储介质和移动终端 |
CN108614720A (zh) * | 2018-04-27 | 2018-10-02 | 努比亚技术有限公司 | 应用程序启动方法、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101807806B1 (ko) * | 2017-05-02 | 2017-12-11 | 나무기술 주식회사 | 클라우드 플랫폼에서 어플리케이션을 컨테이너화하는 방법 |
-
2020
- 2020-05-28 CN CN202010470863.0A patent/CN111638942B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487658A (zh) * | 2015-11-24 | 2016-04-13 | 小米科技有限责任公司 | 控制应用运行的方法及装置 |
CN107944259A (zh) * | 2017-11-21 | 2018-04-20 | 广东欧珀移动通信有限公司 | 应用启动的管控方法、装置及存储介质和移动终端 |
CN108614720A (zh) * | 2018-04-27 | 2018-10-02 | 努比亚技术有限公司 | 应用程序启动方法、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
杨清波等."基于容器的调控云PaaS平台的设计与实现".《电网技术》.(第06期),第27-34页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111638942A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593149B2 (en) | Unified resource management for containers and virtual machines | |
US11416342B2 (en) | Automatically configuring boot sequence of container systems for disaster recovery | |
CN110413288B (zh) | 应用部署方法、装置、服务器及存储介质 | |
US9678784B2 (en) | Temporal dynamic virtual machine policies | |
Cai et al. | A load management system for running HLA-based distributed simulations over the grid | |
CN112364897B (zh) | 分布式训练方法及装置、存储介质及电子设备 | |
CN109740765B (zh) | 一种基于亚马逊网络服务器的机器学习***搭建方法 | |
CN102246152A (zh) | 保存程序执行状态 | |
CN106897093A (zh) | 一种windows操作***的部署方法及装置 | |
CN112667362A (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与*** | |
CN116541134B (zh) | 多架构集群中容器的部署方法及装置 | |
CN102291445A (zh) | 一种基于虚拟化资源的云计算管理*** | |
CN114880100A (zh) | 容器动态调度方法、装置、计算机设备和存储介质 | |
CN114327881A (zh) | 任务调度方法及装置 | |
CN113377493A (zh) | 一种容器云仿真***及其设计方法 | |
US8977752B2 (en) | Event-based dynamic resource provisioning | |
CN102790788B (zh) | 一种网格资源管理*** | |
CN107528871A (zh) | 存储***中的数据分析 | |
EP3786797A1 (en) | Cloud resource marketplace | |
EP1611523B1 (en) | Controlling usage of system resources by a network manager | |
CN113485830A (zh) | 一种电网监控***微服务自动扩容方法 | |
CN111638942B (zh) | 一种应用启停控制方法、云平台、设备及可读存储介质 | |
CN112948055A (zh) | 一种基于云计算的创新型课程实验自动管理方法及*** | |
CN116881012A (zh) | 一种容器应用垂直扩容方法、装置、设备及可读存储介质 | |
US20230161643A1 (en) | Lifecycle management for workloads on heterogeneous infrastructure |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |