CN107395735B - 一种容器集群的延时缩容调度方法及*** - Google Patents

一种容器集群的延时缩容调度方法及*** Download PDF

Info

Publication number
CN107395735B
CN107395735B CN201710654523.1A CN201710654523A CN107395735B CN 107395735 B CN107395735 B CN 107395735B CN 201710654523 A CN201710654523 A CN 201710654523A CN 107395735 B CN107395735 B CN 107395735B
Authority
CN
China
Prior art keywords
container
module
agent
scheduling
newly
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
Application number
CN201710654523.1A
Other languages
English (en)
Other versions
CN107395735A (zh
Inventor
张行才
何晶
李�雨
晏东
谢斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Ghostcloud Technology Co ltd
Original Assignee
Chengdu Ghostcloud Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Ghostcloud Technology Co ltd filed Critical Chengdu Ghostcloud Technology Co ltd
Priority to CN201710654523.1A priority Critical patent/CN107395735B/zh
Publication of CN107395735A publication Critical patent/CN107395735A/zh
Application granted granted Critical
Publication of CN107395735B publication Critical patent/CN107395735B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种容器集群的延时缩容调度方法及***,属于容器集群缩容调度领域;其包括如下步骤:1)代理监控模块实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块;2)调度模块根据报告的健康状态数据和性能指标决策是否超过设定的阈值,下发指令给代理监控模块新建容器,否则判断是否有新建容器,若有,转到步骤3;3)调度模块判断性能指标是否低于设定的阈值,若是,负载均衡器停止分配服务流量,待其内的数据处理完后调度模块下发指令删除新建的容器,否则,转到步骤1。整个***通过设置延时和重置tcp协议避免现有方式导致的数据丢失的缺点,最大限度的保证在更新负载均衡配置过程中不会产生丢包、服务的短暂中断情况。

Description

一种容器集群的延时缩容调度方法及***
技术领域
本发明涉及容器集群缩容调度领域,特别是一种容器集群的延时缩容调度方法及***。
背景技术
目前,出现了很多开源的应用容器引擎,比如docker,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,docker是集群世界中的“进程”;docker成为了需要实现跨多个不同环境运行的应用程序的理想容器技术选择,通过docker我们可以非常方便的管理服务以及服务之间的依赖。
在docker产生过后,大多数企业开始利用容器来构建服务,以便于更好的节省资源,但是当服务遇到一些高峰期,如果此时容器过少或者CPU内存过低,那么就会导致服务的运行速度急剧下降,严重的甚至会导致服务***的崩溃;另一方面如果将容器的CPU和内存设置的过高,那么在低峰值期会导致资源极大的浪费;这时出现了动态伸缩,主要原理就是对容器设定一个阀值,当容器的CPU或者内存超过所设定的阀值时,***就会在产生一个或者多个具有相同功能的容器来一起分担服务;当峰值下降时***将会把多余的容器删除达到了最大限度的合理利用资源;许多产品在这一步选择的是将容器直接停止然后将其删除,可能会导致在其内部所运行的数据丢失或者服务的的异常中断,给用户带来不必要的损失。所以需要一种容器集群的动态缩容调度方法能够避免现有存在问题,实现最大限度的利用资源的同时还能够最大限度的避免客户资源不会丢失。
发明内容
基于以上技术问题,本发明提供了一种容器集群的延时缩容调度方法及***,从而解决了现有动态缩容采取直接停止容器方式导致的容器内部数据丢失和服务暂时中断的技术问题,该容器集群的延时缩容调度方法及***采用延时有效避免了直接停止容器导致的数据丢失和服务暂时中断的缺点。
本发明采用的技术方案如下:
一种容器集群的延时缩容调度方法包括以下步骤:
步骤1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块ms_server;
步骤2:调度模块ms_server根据报告的健康状态数据和性能指标决策是否超过设定的阈值,若超过下发指令给代理监控模块agent新建容器,并转到步骤1,否则判断是否有新建容器,若有,转到步骤3;
步骤3:调度模块ms_server判断新建容器后容器性能指标是否低于设定的阈值,若是,负载均衡器停止分配服务流量给新建容器,待新建容器内的数据处理完后调度模块ms_server下发指令删除新建的容器,负载均衡器完成重载,否则,直接转到步骤1。
优选地,所述步骤2新建容器跳至步骤1包括以下步骤:
步骤2.1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块;
步骤2.2:判断新建容器的性能指标是否在设定阈值范围内;
步骤2.3:若是,将新建容器信息指令添加进存储模块etcd,负载均衡器中配置模块confd监测到存储模块etcd中容器数据添加,重新生成配置文件重载负载均衡器流量分配情况;若不是,则转到步骤1。
优选地,所述步骤3包括以下步骤:
步骤3.1:调度模块ms_server根据代理监控模块agent上传的新建容器后容器的性能指标和健康状态数据判断是否低于设定阈值,若是,则调度模块ms_sever向负载均衡器下达重置负载均衡器与新建容器之间传输控制协议tcp指令,同时调度模块ms_sever指令删除存储模块etcd中的新建容器信息;
步骤3.2:负载均衡器中配置模块confd监控到存储模块etcd中新建容器信息数据删除,负载均衡器停止对新建容器的流量传输;
步骤3.3:调度模块ms_server计算新建容器完成流量传输剩余时间且下发删除新建容器指令给代理监控模块agent;
步骤3.4:剩余时间截止时,代理监控模块agent接收指令删除新建容器,负载均衡器中配置模块confd导出存储模块etcd数据重新生成配置文件重载负载均衡器服务流量分配情况。
优选地,所述步骤3.3中新建容器完成流量传输剩余时间还可通过调度模块ms_server直接设置剩余时间。
优选地,一种应用在权利要求1至4任一项的所述容器集群的延时缩容调度方法的***包括调度模块ms_server、代理监控模块agent、存储模块etcd、配置模块confd、负载均衡器和容器,其中
所述调度模块ms_server用于收集来自代理监控模块agent的数据,并计算集群状态判断是否需要根据设置的调度策略,生成调度计划,下发指令到代理监控模块agent;
所述代理监控模块agent用于监控服务器和容器流量以及CPU、内存和IO使用情况,检测容器服务健康状态,并上报相关检测数据到调度模块ms_server;
所述存储模块etcd用于共享配置和服务发现,存储容器数据和服务健康状态数据;
所述配置模块confd用于监控存储模块etcd数据变化,若etcd数据发生变化,配置模块confd根据模板重新生成服务的配置文件并重置到负载均衡器中。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
(1)本发明容器集群实现动态缩容采用调度模块下发指令给监控代理模块,通过调度模块根据数据判断作出调度计划且在新建容器性能指标低于下降阈值时计算剩余时间等待新建容器内数据传输完,延时结束后删除容器确保容器内运行数据传输的完整性,避免现有技术采取直接删除新建容器导致的容器内运行数据丢失和服务暂时中断的缺点;
(2)本发明采用在配置模块重新配置了负载均衡器配置文件后,在通知负载均衡器之前,重置负载均衡器和新建容器之间的传输控制协议tcp,由linux内核接管所有流量,可以控制数据包是如何入队和出队,提供了速率限制、优先或指定输出数据包的能力,最终可以最大限度的保证在加载过程中不会产生丢包、服务的短暂的中断情况,避免了现有技术中存在加载过程中出现暂时服务中断的缺点;
(3)本发明的延时可以通过调度模块根据数据判断计算,同时也通过设置剩余时间来产生延时,提高实用性的同时避免了现有技术采取直接删除新建容器导致的容器内运行数据丢失和服务暂时中断的缺点。
附图说明
图1是本发明方法的流程图;
图2是本发明方法的步骤2新建容器跳至步骤1的流程图
图3是本发明方法的步骤4流程图;
图4是本发明容器性能指标在设定阈值内的***结构框图;
图5是本发明容器性能指标超过设定阈值时的***结构框图。
具体实施方式
本说明书中公开的所有特征,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合附图1-5对本发明作详细说明。
本发明的工作原理是:
一种容器集群的延时缩容调度方法包括以下步骤:
步骤1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块ms_server;
步骤2:调度模块ms_server根据报告的健康状态数据和性能指标决策是否超过设定的阈值,下发指令给代理监控模块agent新建容器,并转到步骤1,否则判断是否有新建容器,若有,转到步骤3;
步骤3:调度模块ms_server判断新建容器后容器性能指标是否低于设定的阈值,若是,负载均衡器停止分配服务流量给新建的容器,待其内的数据处理完后调度模块ms_server下发指令删除新建的容器,否则,直接转到步骤1。
下面,结合具体实施例来对本发明做进一步详细说明。
具体实施例
实施例1
步骤1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据,并将发送所有监控数据给调度模块ms_server;步骤2:调度模块ms_server根据报告的健康状态数据和性能指标决策是否超过设定的阈值?若超过,调度模块ms_server下发新建容器指令给代理监控模块agent,代理监控模块agent接收指令完成新建容器;代理监控模块agent实时监控承载服务的新建容器性能指标和健康状态数据并发送给调度模块ms_server,判断新建容器的性能指标是否在设定阈值范围内,若是,将新建容器信息指令添加进存储模块etcd,负载均衡器中配置模块confd监测到存储模块etcd中容器数据添加,重新生成配置文件重载负载均衡器;若不是,则转到步骤1;代理监控模块agent接着实时监控数据,调度模块ms_server继续判断作出调度计划,当新建容器完成配置之后容器中的性能指标没有超过设定阈值,接着判断是否有新建容器;步骤3:若新建容器成功则判断新建容器后容器的性能指标是否低于设定阈值,若低于表示高峰期弱化消失需要删除容器促进资源最有效利用,调度模块ms_sever向负载均衡器下达重置负载均衡器与新建容器之间传输控制协议tcp指令,且下发删除新建容器指令给代理监控模块agent;若不低于,则回到步骤1;负载均衡器中配置模块confd监控到存储模块etcd新建容器信息数据删除,负载均衡器停止对新建容器的流量传输;调度模块ms_server计算新建容器完成流量传输剩余时间;剩余时间截止即新建容器内运行数据传输结束时,代理监控模块agent自动接收指令删除新建容器,负载均衡器中配置模块confd导出etcd数据重新生成配置文件重载负载均衡器服务流量分配情况。整个***通过设置代理监控模块agent监控上传数据、调度模块ms_server接收数据下达指令删除或者新建容器和配置模块confd监控数据重置配置文件到负载均衡器中实现动态缩容,解决了高峰期和低峰期的难点,同时通过设置延时避免现有方式导致的容器内运行数据丢失的缺点,重置负载均衡器和容器之间的传输控制协议tcp,最大限度的保证在加载过程中不会产生丢包、服务的短暂的中断情况,实现资源利用最大化和避免客户丢失数据。
如上所述即为本发明的实施例。本发明不局限于上述实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (5)

1.一种容器集群的延时缩容调度方法,其特征在于:一种容器集群的延时缩容调度方法包括以下步骤:
步骤1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块ms_server;
步骤2:调度模块ms_server根据报告的健康状态数据和性能指标决策是否超过设定的阈值,若超过下发指令给代理监控模块agent新建容器,并转到步骤1,否则判断是否有新建容器,若有,转到步骤3;
步骤3:调度模块ms_server判断新建容器后容器性能指标是否低于所述设定的阈值,若是,负载均衡器停止分配服务流量给新建的容器,待新建容器内的数据处理完后调度模块ms_server下发指令删除新建的容器,负载均衡器完成重载,否则,直接转到步骤1。
2.根据权利要求1所述的一种容器集群的延时缩容调度方法,其特征在于:所述步骤2新建容器跳至步骤1包括以下步骤:
步骤2.1:代理监控模块agent实时监控承载服务的容器性能指标和健康状态数据并发送结果给调度模块;
步骤2.2:判断新建容器的性能指标是否在设定阈值范围内;
步骤2.3:若是,将新建容器信息指令添加进存储模块etcd,负载均衡器中配置模块confd监测到存储模块etcd中容器数据添加,重新生成配置文件重载负载均衡器流量分配情况;若不是,则转到步骤1。
3.根据权利要求1所述的一种容器集群的延时缩容调度方法,其特征在于:所述步骤3包括以下步骤:
步骤3.1:调度模块ms_server根据代理监控模块agent上传的新建容器后容器的性能指标和健康状态数据判断是否低于设定阈值,若是,则调度模块ms_sever向负载均衡器下达重置负载均衡器与新建容器之间传输控制协议tcp指令,同时调度模块ms_sever指令删除存储模块etcd中的新建容器信息;
步骤3.2:负载均衡器中配置模块confd监控到存储模块etcd中新建容器信息数据删除,负载均衡器停止对新建容器的流量传输;
步骤3.3:调度模块ms_server计算新建容器完成流量传输剩余时间且下发删除新建容器指令给代理监控模块agent;
步骤3.4:剩余时间截止时,代理监控模块agent接收指令删除新建容器,负载均衡器中配置模块confd导出存储模块etcd数据重新生成配置文件重载负载均衡器服务流量分配情况。
4.根据权利要求3所述的一种容器集群的延时缩容调度方法,其特征在于:所述步骤3.3中新建容器完成流量传输剩余时间还可通过调度模块ms_server直接设置剩余时间。
5.一种应用在权利要求1至4任一项的所述容器集群的延时缩容调度方法的***,其特征在于:包括调度模块ms_server、代理监控模块agent、存储模块etcd、配置模块confd、负载均衡器和容器,其中
所述调度模块ms_server用于收集来自代理监控模块agent的数据,并计算集群状态判断是否需要根据设置的调度策略,生成调度计划,下发指令到代理监控模块agent;
所述代理监控模块agent用于监控服务器和容器流量以及CPU、内存和IO使用情况,检测容器服务健康状态,并上报相关检测数据到调度模块ms_server;
所述存储模块etcd用于共享配置和服务发现,存储容器数据和服务健康状态数据;
所述配置模块confd用于监控存储模块etcd数据变化,若etcd数据发生变化,配置模块confd根据模板重新生成服务的配置文件并重置到负载均衡器中。
CN201710654523.1A 2017-08-03 2017-08-03 一种容器集群的延时缩容调度方法及*** Active CN107395735B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710654523.1A CN107395735B (zh) 2017-08-03 2017-08-03 一种容器集群的延时缩容调度方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710654523.1A CN107395735B (zh) 2017-08-03 2017-08-03 一种容器集群的延时缩容调度方法及***

Publications (2)

Publication Number Publication Date
CN107395735A CN107395735A (zh) 2017-11-24
CN107395735B true CN107395735B (zh) 2020-06-09

Family

ID=60343057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710654523.1A Active CN107395735B (zh) 2017-08-03 2017-08-03 一种容器集群的延时缩容调度方法及***

Country Status (1)

Country Link
CN (1) CN107395735B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108469989A (zh) * 2018-03-13 2018-08-31 广州西麦科技股份有限公司 一种基于集群性能的反馈式自动扩缩容方法及***
CN109145163B (zh) * 2018-08-22 2021-08-24 深圳前海微众银行股份有限公司 区块链数据缩容方法、装置及存储介质
CN112068934B (zh) * 2020-09-08 2023-02-10 广州汇智通信技术有限公司 一种容器云服务实例收缩的控制***和方法
CN115174644B (zh) * 2022-06-28 2023-09-12 武汉烽火技术服务有限公司 容器集群服务启停控制方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530189A (zh) * 2013-09-29 2014-01-22 中国科学院信息工程研究所 一种面向流式数据的自动伸缩及迁移的方法及装置
CN104954478A (zh) * 2015-06-23 2015-09-30 普元信息技术股份有限公司 云计算平台中实现服务器自动纵向伸缩的***及方法
CN105554102A (zh) * 2015-12-14 2016-05-04 中电科华云信息技术有限公司 基于容器集群的弹性伸缩方法及其应用***
CN106992887A (zh) * 2017-04-05 2017-07-28 国家电网公司 基于容器的应用实例弹性伸缩的实现方法、装置及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996563B2 (en) * 2015-03-23 2018-06-12 International Business Machines Corporation Efficient full delete operations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530189A (zh) * 2013-09-29 2014-01-22 中国科学院信息工程研究所 一种面向流式数据的自动伸缩及迁移的方法及装置
CN104954478A (zh) * 2015-06-23 2015-09-30 普元信息技术股份有限公司 云计算平台中实现服务器自动纵向伸缩的***及方法
CN105554102A (zh) * 2015-12-14 2016-05-04 中电科华云信息技术有限公司 基于容器集群的弹性伸缩方法及其应用***
CN106992887A (zh) * 2017-04-05 2017-07-28 国家电网公司 基于容器的应用实例弹性伸缩的实现方法、装置及***

Also Published As

Publication number Publication date
CN107395735A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
CN107395735B (zh) 一种容器集群的延时缩容调度方法及***
CN102427475B (zh) 一种云计算环境中负载均衡调度的***
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
EP2715539B1 (en) Distributed computing framework
CN102111337B (zh) 任务调度方法和***
CN111796908B (zh) 一种资源自动弹性伸缩的***、方法及云平台
WO2020015154A1 (zh) 一种突发流量的分配方法、装置及代理服务器
US9778997B2 (en) Server backup method and backup system using the method
CN106133693B (zh) 虚拟机的迁移方法、装置及设备
CN102369688A (zh) 资源动态调整方法和调度设备
CN111522636A (zh) 应用容器的调整方法、调整***、计算机可读介质及终端设备
CN106959893B (zh) 加速器、用于加速器的内存管理方法以及数据处理***
CN106603692B (zh) 一种分布式存储***中的数据存储方法及装置
CN103473142A (zh) 一种云计算操作***下的虚拟机迁移方法及装置
CN103179048A (zh) 云数据中心的主机QoS策略变换方法及***
CN112052072B (zh) 一种虚拟机的调度策略及超融合***
CN111190745A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN109710416B (zh) 资源调度方法及装置
CN105302641B (zh) 虚拟化集群中进行节点调度的方法及装置
TW201818244A (zh) 雲端環境下應用集群資源分配的方法、裝置和系統
CN108268305A (zh) 用于虚拟机自动扩缩容的***和方法
CN112162835A (zh) 一种异构云环境下实时任务的调度优化方法
WO2012100545A1 (zh) 一种业务调度方法、***及设备
CN109960579B (zh) 一种调整业务容器的方法及装置
CN110543355A (zh) 一种自动均衡云平台资源的方法

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
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A scheduling method and system for container cluster

Effective date of registration: 20221021

Granted publication date: 20200609

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: CHENGDU GHOSTCLOUD TECHNOLOGY CO.,LTD.

Registration number: Y2022980018690