基于Docker的管理优化方法及装置与流程

文档序号:14993472发布日期:2018-07-20 23:00阅读:162来源:国知局

本发明涉及通信技术领域,尤其涉及一种基于docker的管理优化方法及装置。



背景技术:

docker是一个开源应用容器引擎,docker采用客户端-服务器(c/s)架构模docker守护进程(dockerdaemon),docker守护进程作为服务端接收来自客户端的请求,并处理这些请求,处理过程包括创建、运行及分发容器等。

在创建docker容器时,所创建的docker容器称之为docker节点,每个docker节点相当于单独的一台linux服务器。在实际应用中,若在docker云平台系统中创建并运行多个docker节点,则可以有效的预防单点故障,但是创建的docker节点的数量过多时,会耗费过多的系统资源。由于目前docker云平台系统中通常是通过人工判断的方式进行docker节点数量的控制,因此无法有效、准确地控制所创建的docker节点的数量,无法使得docker云平台系统运行在最优的状态下。



技术实现要素:

本发明的目的在于提供一种基于docker的管理优化方法及装置,旨在有效、准确地控制docker节点的数量,节省系统资源,使得docker云平台系统运行在最优的状态下。

为实现上述目的,本发明提供一种基于docker的管理优化方法,所述基于docker的管理优化方法包括:

s1,采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据;

s2,根据预先确定的系统负载数据和第一负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第一负载率阈值;

s3,若有所采集的系统负载数据小于对应的第一负载率阈值,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上

优选地,所述系统负载数据包括cpu的使用率、内存使用率及网络带宽占用率。

优选地,所述步骤s3包括:

s31,若有所采集的系统负载数据小于对应的第一负载率阈值,则确定所采集的系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第一预设时间阈值;

s32,若是,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

优选地,所述步骤s1之后还包括:

s4,根据预先确定的系统负载数据和第二负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第二负载率阈值;

s5,若有所采集的系统负载数据大于对应的第二负载率阈值,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流,所述第二负载率阈值大于所述第一负载率阈值。

优选地,所述步骤s5包括:

s51,若有所采集的系统负载数据大于对应的第二负载率阈值,则确定所采集的系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第二预设时间阈值;

s52,若是,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

为实现上述目的,本发明还提供一种基于docker的管理优化装置,所述基于docker的管理优化装置包括:

采集模块,用于采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据;

第一确定模块,用于根据预先确定的系统负载数据和第一负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第一负载率阈值;

删除模块,用于若有所采集的系统负载数据小于对应的第一负载率阈值,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

优选地,所述系统负载数据包括cpu的使用率、内存使用率及网络带宽占用率。

优选地,所述删除模块具体用于若有所采集的系统负载数据小于对应的第一负载率阈值,则确定所采集的系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第一预设时间阈值;若是,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

优选地,所述基于docker的管理优化装置还包括:

第二确定模块,用于根据预先确定的系统负载数据和第二负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第二负载率阈值;

创建模块,用于若有所采集的系统负载数据大于对应的第二负载率阈值,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流,所述第二负载率阈值大于所述第一负载率阈值。

优选地,所述创建模块具体用于若有所采集的系统负载数据大于对应的第二负载率阈值,则确定所采集的系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第二预设时间阈值;若是,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

本发明的有益效果是:本发明首先采集docker云平台系统的各docker节点的各种系统负载数据,然后确定每一系统负载数据对应的第一负载率阈值,如果有系统负载数据小于对应的第一负载率阈值,则在docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上,本发明考虑docker节点的负载情况,能够有效、准确地控制docker节点的数量,防止过多的docker节点耗费系统资源,使得docker云平台系统运行在最优的状态下。

附图说明

图1为本发明基于docker的管理优化方法第一实施例的流程示意图;

图2为图1所示步骤s3的细化流程示意图;

图3为本发明基于docker的管理优化方法第二实施例的流程示意图;

图4为图3所示步骤s5的细化流程示意图;

图5为本发明基于docker的管理优化装置第一实施例的结构示意图;

图6为本发明基于docker的管理优化装置第二实施例的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,图1为本发明基于docker的管理优化方法一实施例的流程示意图,该基于docker的管理优化方法包括以下步骤:

步骤s1,采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据;

本实施例可应用于控制服务器中,由控制服务器采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据,其中,在某一docker节点上可能采集到一种类型的系统负载数据,也可能在某一docker节点上采集到多种类型的系统负载数据。

其中,系统负载数据包括但不限定于cpu的使用率、内存使用率及网络带宽占用率。

本实施例中,可以由控制服务器实时地采集系统负载数据,以通过所采集的系统负载数据实现对docker云平台系统的docker节点的数量的实时管控;或者,可以由控制服务器定时地采集系统负载数据,并通过所采集的系统负载数据定时管理优化docker云平台系统的docker节点的数量,可减轻系统负担。

步骤s2,根据预先确定的系统负载数据和第一负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第一负载率阈值;

本实施例中,对于每一种类型的系统负载数据具有对应的第一负载率阈值,例如,cpu的使用率对应的第一负载率阈值可以为20%,内存使用率对应的第一负载率阈值可以为25%,网络带宽占用率对应的第一负载率阈值可以为20%等。将每一种类型的系统负载数据与对应的第一负载率阈值进行映射并将映射关系进行存储。

其中,第一负载率阈值的含义在于,如果某一docker节点的某一系统负载数据小于该第一负载率阈值时,虽然可以使得对应的数据的通信处于良好的状态,但是实际上该docker节点利用率很小,可以将该docker节点上的数据分流至其他的docker节点上;但如果系统负载数据大于该第一负载率阈值,则说明该docker节点已经被充分利用,不需要进行分流。

在采集到系统负载数据,根据所上述的映射关系可以获取到所采集的系统负载数据对应的第一负载率阈值。

步骤s3,若有所采集的系统负载数据小于对应的第一负载率阈值,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

本实施例中,由控制服务器对系统负载数据与第一负载率阈值两者的大小进行判断,以判断系统负载数据是否小于对应的第一负载率阈值。若有所采集的系统负载数据小于对应的第一负载率阈值,例如cpu的使用率小于对应的第一负载率阈值20%,或者内存使用率小于对应的第一负载率阈值25%,或者网络带宽占用率小于对应的第一负载率阈值20%,则在docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

与现有技术相比,本实施例首先采集docker云平台系统的各docker节点的各种系统负载数据,然后确定每一系统负载数据对应的第一负载率阈值,如果有系统负载数据小于对应的第一负载率阈值,则在docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上,本实施例考虑docker节点的负载情况,能够有效、准确地控制docker节点的数量,防止过多的docker节点耗费系统资源,使得docker云平台系统运行在最优的状态下。

在一优选的实施例中,如图2所示,在上述图1的实施例的基础上,上述步骤s3包括:

步骤s31,若有所采集的系统负载数据小于对应的第一负载率阈值,则确定所采集的系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第一预设时间阈值;

步骤s32,若是,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

本实施例进一步对系统负载数据在小于对应的第一负载率阈值的状态下的持续时间进行判断,即判断该持续时间是否大于等于第一预设时间阈值,第一预设时间阈值例如为10分钟,只有在持续时间大于等于第一预设时间阈值时,才删除小于第一负载率阈值的系统负载数据对应的docker节点并进行分流。

当然,如果该持续时间较小,小于第一预设时间阈值时,可以对docker节点不做任何处理。

本实施例进一步考虑系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,如果持续时间较长,则删除对应的docker节点,如果持续时间较短,不做处理,能够进一步准确地控制docker节点的数量。

在一优选的实施例中,如图3所示,在上述图1的实施例的基础上,在上述步骤s1之后还包括:

步骤s4,根据预先确定的系统负载数据和第二负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第二负载率阈值;

本实施例中,对于每一种类型的系统负载数据具有对应的第二负载率阈值,第二负载率阈值大于第一负载率阈值,例如,cpu的使用率对应的第二负载率阈值可以为60%,内存使用率对应的第二负载率阈值可以为70%,网络带宽占用率对应的第二负载率阈值可以为60%等。将每一种类型的系统负载数据与对应的第二负载率阈值进行映射并将映射关系进行存储。

其中,第二负载率阈值的含义在于,如果某一docker节点的某一系统负载数据小于或等于该第二负载率阈值,且大于第一负载率阈值时,可以使得对应的数据的通信处于良好的状态,但如果系统负载数据大于该第二负载率阈值时,则使得对应的数据的通信处于不良的状态,或者需要更多的系统资源来使得对应的数据的通信处于良好的状态。

在采集到系统负载数据,根据所上述的映射关系可以获取到所采集的系统负载数据对应的第二负载率阈值。

步骤s5,若有所采集的系统负载数据大于对应的第二负载率阈值,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

本实施例中,由控制服务器对系统负载数据与第二负载率阈值两者的大小进行判断,以判断系统负载数据是否大于对应的第二负载率阈值。若有所采集的系统负载数据大于对应的第二负载率阈值,例如cpu的使用率大于对应的第二负载率阈值60%,或者内存使用率大于对应的第二负载率阈值70%,或者网络带宽占用率大于对应的第二负载率阈值60%,则在docker云平台系统中创建一个或多个新的docker节点,通过新的docker节点,可以对大于第二负载率阈值的系统负载数据对应的docker节点进行数据分流。

通过上述的描述可以看出,本实施例进一步考虑docker节点是否负载过重的情况,如果所采集的系统负载数据大于对应的第二负载率阈值,则创建新的docker节点以实现数据分流,确保通信的正常进行,并进一步有效、准确地控制docker节点的数量。

在一优选的实施例中,如图4所示,在上述图3的实施例的基础上,上述步骤s5包括:

步骤s51,若有所采集的系统负载数据大于对应的第二负载率阈值,则确定所采集的系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第二预设时间阈值;

步骤s52,若是,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

本实施例进一步对系统负载数据在大于对应的第二负载率阈值的状态下的持续时间进行判断,即判断该持续时间是否大于等于第二预设时间阈值,第一预设时间阈值例如为5分钟,只有在持续时间大于等于第二预设时间阈值时,才创建新的docker节点,以通过新的docker节点进行数据分流。

当然,如果该持续时间较小,小于第二预设时间阈值时,可以不创建新的docker节点。

本实施例进一步考虑系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,如果持续时间较长,则创建新的docker节点并分流,能够进一步准确地控制docker节点的数量。

如图5所示,图5为本发明基于docker的管理优化装置一实施例的结构示意图,该基于docker的管理优化装置包括:

采集模块101,用于采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据;

本实施例的基于docker的管理优化装置可置于控制服务器中,控制服务器采集docker云平台系统的各docker节点的至少一种预设类型的系统负载数据,其中,在某一docker节点上可能采集到一种类型的系统负载数据,也可能在某一docker节点上采集到多种类型的系统负载数据。

其中,系统负载数据包括但不限定于cpu的使用率、内存使用率及网络带宽占用率。

本实施例中,可以由控制服务器实时地采集系统负载数据,以通过所采集的系统负载数据实现对docker云平台系统的docker节点的数量的实时管控;或者,可以由控制服务器定时地采集系统负载数据,并通过所采集的系统负载数据定时管理优化docker云平台系统的docker节点的数量,可减轻系统负担。

第一确定模块102,用于根据预先确定的系统负载数据和第一负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第一负载率阈值;

本实施例中,对于每一种类型的系统负载数据具有对应的第一负载率阈值,例如,cpu的使用率对应的第一负载率阈值可以为20%,内存使用率对应的第一负载率阈值可以为25%,网络带宽占用率对应的第一负载率阈值可以为20%等。将每一种类型的系统负载数据与对应的第一负载率阈值进行映射并将映射关系进行存储。

其中,第一负载率阈值的含义在于,如果某一docker节点的某一系统负载数据小于该第一负载率阈值时,虽然可以使得对应的数据的通信处于良好的状态,但是实际上该docker节点利用率很小,可以将该docker节点上的数据分流至其他的docker节点上;但如果系统负载数据大于该第一负载率阈值,则说明该docker节点已经被充分利用,不需要进行分流。

在采集到系统负载数据,根据所上述的映射关系可以获取到所采集的系统负载数据对应的第一负载率阈值。

删除模块103,用于若有所采集的系统负载数据小于对应的第一负载率阈值,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上

本实施例中,由控制服务器对系统负载数据与第一负载率阈值两者的大小进行判断,以判断系统负载数据是否小于对应的第一负载率阈值。若有所采集的系统负载数据小于对应的第一负载率阈值,例如cpu的使用率小于对应的第一负载率阈值20%,或者内存使用率小于对应的第一负载率阈值25%,或者网络带宽占用率小于对应的第一负载率阈值20%,则在docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

在一优选的实施例中,在上述图5的实施例的基础上,上述删除模块103具体用于若有所采集的系统负载数据小于对应的第一负载率阈值,则确定所采集的系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第一预设时间阈值;若是,则在所述docker云平台系统中删除小于第一负载率阈值的系统负载数据对应的docker节点,并将所删除docker节点的数据分流至其他docker节点上。

本实施例进一步对系统负载数据在小于对应的第一负载率阈值的状态下的持续时间进行判断,即判断该持续时间是否大于等于第一预设时间阈值,第一预设时间阈值例如为10分钟,只有在持续时间大于等于第一预设时间阈值时,才删除小于第一负载率阈值的系统负载数据对应的docker节点并进行分流。

当然,如果该持续时间较小,小于第一预设时间阈值时,可以对docker节点不做任何处理。

本实施例进一步考虑系统负载数据在小于对应的第一负载率阈值的状态下的持续时间,如果持续时间较长,则删除对应的docker节点,如果持续时间较短,不做处理,能够进一步准确地控制docker节点的数量。

在一优选的实施例中,如图6所示,在上述图5的实施例的基础上,该基于docker的管理优化装置还包括:

第二确定模块104,用于根据预先确定的系统负载数据和第二负载率阈值的映射关系确定所采集的每一类型的系统负载数据对应的第二负载率阈值;

本实施例中,对于每一种类型的系统负载数据具有对应的第二负载率阈值,例如,cpu的使用率对应的第二负载率阈值可以为60%,内存使用率对应的第二负载率阈值可以为70%,网络带宽占用率对应的第二负载率阈值可以为60%等。将每一种类型的系统负载数据与对应的第二负载率阈值进行映射并将映射关系进行存储。

其中,第二负载率阈值的含义在于,如果某一docker节点的某一系统负载数据小于或等于该第二负载率阈值,且大于第一负载率阈值时,可以使得对应的数据的通信处于良好的状态,但如果系统负载数据大于该第二负载率阈值时,则使得对应的数据的通信处于不良的状态,或者需要更多的系统资源来使得对应的数据的通信处于良好的状态。

在采集到系统负载数据,根据所上述的映射关系可以获取到所采集的系统负载数据对应的第二负载率阈值。

创建模块105,用于若有所采集的系统负载数据大于对应的第二负载率阈值,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

本实施例中,由控制服务器对系统负载数据与第二负载率阈值两者的大小进行判断,以判断系统负载数据是否大于对应的第二负载率阈值。若有所采集的系统负载数据大于对应的第二负载率阈值,例如cpu的使用率大于对应的第二负载率阈值60%,或者内存使用率大于对应的第二负载率阈值70%,或者网络带宽占用率大于对应的第二负载率阈值60%,则在docker云平台系统中创建一个或多个新的docker节点,通过新的docker节点,可以对大于第二负载率阈值的系统负载数据对应的docker节点进行数据分流。

通过上述的描述可以看出,本实施例进一步考虑docker节点是否负载过重的情况,如果所采集的系统负载数据大于对应的第二负载率阈值,则创建新的docker节点以实现数据分流,确保通信的正常进行,并进一步有效、准确地控制docker节点的数量。

在一优选的实施例中,在上述图5的实施例的基础上,上述创建模块105具体用于若有所采集的系统负载数据大于对应的第二负载率阈值,则确定所采集的系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,并分析该持续时间是否大于等于第二预设时间阈值;若是,则在所述docker云平台系统中创建至少一个新的docker节点,以通过新的docker节点进行数据分流。

本实施例进一步对系统负载数据在大于对应的第二负载率阈值的状态下的持续时间进行判断,即判断该持续时间是否大于等于第二预设时间阈值,第一预设时间阈值例如为5分钟,只有在持续时间大于等于第二预设时间阈值时,才创建新的docker节点,以通过新的docker节点进行数据分流。

当然,如果该持续时间较小,小于第二预设时间阈值时,可以不创建新的docker节点。

本实施例进一步考虑系统负载数据在大于对应的第二负载率阈值的状态下的持续时间,如果持续时间较长,则创建新的docker节点并分流,能够进一步准确地控制docker节点的数量。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1