一种基于哨兵模式实现应用迁移的系统及其方法技术方案

技术编号:26375510 阅读:21 留言:0更新日期:2020-11-19 23:44
本发明专利技术涉及应用迁移领域,具体是一种基于哨兵模式实现应用迁移的系统,包括调度引擎和哨兵模块,一种应用迁移方法,采用一种基于哨兵模式实现应用迁移的系统,包括如下步骤:S1、哨兵模块监控节点的应用资源和节点资源使用情况,如发生异常使用情况,哨兵模块将异常使用情况上报给调度引擎;S2、调度引擎寻找新节点,并将异常使用情况的应用调度到新节点;S3、异常使用情况节点的哨兵模块清除本节点下异常使用情况的应用;解决了无法快速感知应用的使用情况,并且在不中断服务的情况下迁移应用的问题。

【技术实现步骤摘要】
一种基于哨兵模式实现应用迁移的系统及其方法
本专利技术涉及应用迁移领域,具体是指一种基于哨兵模式实现应用迁移的系统及其方法。
技术介绍
在容器技术快速发展的今天,云计算领域的基础技术已跨入了新的发展方向,各大主流厂商都在储备云原生相关的技术,而容器调度引擎是其中最核心的一项技术,目前市面上主流的容器调度引擎为美国谷歌公司的Kubernetes。开发或运维人员可以通过Kubernetes来部署、管理、运维容器实例,通过调度引擎平台,极大简化了运维工作复杂度,不需要再像传统虚拟化运维一样进入到具体业务进程中,才能操作运维操作。基于容器技术的分布式应用的创建、销毁、迁移都交由了容器编排系统来实现,当一个应用创建的时候,由容器编排系统决定它在哪一台主机上创建,当节点的资源不再满足应用需要时,或者集群中有的节点负载较高,有的节点负载较低时应该怎样迁移应用,因此怎样快速感知到应用的状态,并且在不中断服务的情况下迁移应用到更加合适的节点。
技术实现思路
基于以上问题,本专利技术提供了一种基于哨兵模式实现应用迁移的系统及其方法,解决了无法快速感知应用的使用情况,并且在不中断服务的情况下迁移应用的问题。为解决以上技术问题,本专利技术采用的技术方案如下:一种基于哨兵模式实现应用迁移的系统,包括调度引擎,用于各个节点间应用的分配;哨兵模块,用于监控节点资源和应用资源的使用情况并上报给调度引擎,还用于应用的消除和克隆。进一步,所述每个节点只对应一个哨兵模块。进一步,所述调度引擎包括核心组件、客户端组件和外部组件。进一步,所述核心组件包括服务器端、指挥端、调度端和代理端;所述客户端组件包括CLI命令行客户端和Web客户端;所述外部组件包括一致性组件、授权认证服务组件、容器网络实现组件、容器镜像分发服务和容器存储服务。一种应用迁移方法,采用一种基于哨兵模式实现应用迁移的系统,包括如下步骤:S1、哨兵模块监控节点的应用资源和节点资源使用情况,如发生异常使用情况,哨兵模块将异常使用情况上报给调度引擎;S2、调度引擎寻找新节点,并将异常使用情况的应用调度到新节点;S3、异常使用情况节点的哨兵模块清除本节点下异常使用情况的应用。进一步,所述步骤S2中,调度引擎将异常使用情况的应用调度到新节点的方法包括:S21、该异常使用情况节点的哨兵模块将异常情况上报给调度引擎,调度引擎寻找新节点;S22、新节点处的哨兵模块克隆需要被迁移的应用,新应用被创建成功并应用时,通知调度引擎调度成功,执行步骤S3。与现有技术相比,本专利技术的有益效果是:在调度引擎的基础上实现对应用的迁移,用户在使用过程中感受不到应用的迁移,对于用户来说他无法控制应用迁移到哪一个节点,而且在应用迁移过程中,如果是因为资源问题导致的迁移,那么原来的应用也继续提供服务直到新的应用状态变为正常。附图说明图1为本专利技术的流程图。具体实施方式下面结合附图对本专利技术作进一步的说明。本专利技术的实施方式包括但不限于下列实施例。本实施例中,一种基于哨兵模式实现应用迁移的系统,包括调度引擎,采用newben调度引擎,用于各个节点间应用的分配,其中,调度引擎包括核心组件、客户端组件和外部组件,具体地,核心组件包括服务器端CoreServer、指挥端Commanders、调度端Dispather和代理端Agent;客户端组件包括CLI命令行客户端和BizApplication+WebClient(WebUI)组成的Web客户端;外部组件包括一致性组件ETCD、授权认证服务组件(CAS)、容器网络实现组件(Calico)、容器镜像分发服务(Docker)和容器存储服务。哨兵模块,用于监控节点资源和应用资源的使用情况并上报给调度引擎,还用于应用的消除和克隆,具体地,每个节点只对应一个哨兵模块,监控的主要内容包括处理器、内容和网络等。一种应用迁移方法,采用一种基于哨兵模式实现应用迁移的系统,包括如下步骤:S1、哨兵模块监控节点的应用资源和节点资源使用情况,如发生异常使用情况,哨兵模块将异常使用情况上报给调度引擎;异常使用情况包括两种,其一是节点资源不够而应用设置了可以动态扩容,导致节点负载很高,不在满足应用资源需求,其二是集群中的应用资源利用率不均衡,导致一些节点资源紧张,一些节点空载的情况,当哨兵模块监控到如上情况,就判定为异常使用情况,并上报给调度引擎。哨兵模块判断是否达到异常使用情况有两种算法,其一是应用的资源使用情况达到了申请的上限,并且设置了可以动态扩容,且集群中存在满足扩容的应用资源的节点;其二是集群中的应用资源使用情况不均匀,调度引擎会计算需要迁移的应用,使得整个集群中的节点资源使用情况基本均衡S2、调度引擎寻找新节点,并将异常使用情况的应用调度到新节点;当发生步骤S1的异常使用情况时,调度引擎将异常使用情况的应用调度到新节点的方法包括:S21、该异常使用情况节点的哨兵模块将异常情况上报给调度引擎,调度引擎寻找新节点;S22、新节点处的哨兵模块克隆需要被迁移的应用,新应用被创建成功并应用时,通知调度引擎调度成功,执行步骤S3。S3、异常使用情况节点的哨兵模块清除本节点下异常使用情况的应用。在应用迁移过程中,由于是新节点处的哨兵模块克隆需要被迁移的应用,因此,原异常使用情况的应用依旧继续使用,这个迁移过程用户是无法感知的,可以继续使用该应用,当新节点处的哨兵模块完成克隆并应用时,调度模块才发送通知给异常使用情况的节点处的哨兵模块将原异常使用情况应用清除,用户继续使用新节点处被克隆的应用,因此,整个过程对外的服务是不会中断的。如上即为本专利技术的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述专利技术人的专利技术验证过程,并非用以限制本专利技术的专利保护范围,本专利技术的专利保护范围仍然以其权利要求书为准,凡是运用本专利技术的说明书及附图内容所作的等同结构变化,同理均应包含在本专利技术的保护范围内。本文档来自技高网...

【技术保护点】
1.一种基于哨兵模式实现应用迁移的系统,其特征在于:包括/n调度引擎,用于各个节点间应用的分配;/n哨兵模块,用于监控节点资源和应用资源的使用情况并上报给调度引擎,还用于应用的消除和克隆。/n

【技术特征摘要】
1.一种基于哨兵模式实现应用迁移的系统,其特征在于:包括
调度引擎,用于各个节点间应用的分配;
哨兵模块,用于监控节点资源和应用资源的使用情况并上报给调度引擎,还用于应用的消除和克隆。


2.根据权利要求1所述的一种基于哨兵模式实现应用迁移的系统,其特征在于:所述每个节点只对应一个哨兵模块。


3.根据权利要求1所述的一种基于哨兵模式实现应用迁移的系统,其特征在于:所述调度引擎包括核心组件、客户端组件和外部组件。


4.根据权利要求3所述的一种基于哨兵模式实现应用迁移的系统及其方法,其特征在于:所述核心组件包括服务器端、指挥端、调度端和代理端;所述客户端组件包括CLI命令行客户端和Web客户端;所述外部组件包括一致性组件、授权认证服务组件、容器网络实现组件、容器镜像分...

【专利技术属性】
技术研发人员:晏东吴晓勇谢中
申请(专利权)人:成都精灵云科技有限公司
类型:发明
国别省市:四川;51

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

1