集群docker管理方法、装置、系统及可读存储介质与流程

文档序号:14880190发布日期:2018-07-07 09:34阅读:173来源:国知局

本申请涉及电子技术领域,特别涉及一种集群docker管理方法、装置、系统及计算机可读存储介质。



背景技术:

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,可以实现虚拟化。docker应用广泛,利用docker进行开发与运维主要有持续集成、版本控制、可移植性、隔离性和安全性等优势,是目前较为方便、高效的开源项目。

集群docker管理工具是基于docker构建的容器的调度工具,可以提供资源调度、均衡容灾、服务注册、动态扩缩容等功能套件。集群docker管理工具类型多样,应用广泛,可以有效地对集群docker进行管理。

随着用户需求越来越多样,对集群docker管理工具的要求也越来越高,目前的docker管理工具只适用于单节点的docker管理,有单机操作的局限性,用户对容器的各种操作较为不便、且效率低。

因此,如何使用户方便高效地管理集群docker,是本领域技术人员亟待解决的问题。



技术实现要素:

本申请的目的是提供一种集群docker管理方法,该方法可以实现使用户方便高效地管理集群docker;本申请的另一目的是提供一种集群docker管理装置、系统及计算机可读存储介质,均具有上述有益效果。

为解决上述技术问题,本申请提供了一种集群docker管理方法,该方法包括:

管理节点接收用户输入的操作信息;其中,所述操作信息包括需要操作的节点以及对应的任务操作;

对所述操作信息进行信息解析,获取节点的名称以及对应的操作;其中,所述操作包括单容器类操作以及多容器类操作;

通过ssh-n连接至所述节点;

对所述节点执行对应的操作。

优选地,对所述节点执行对应的操作包括:

当所述操作属于单容器类操作时,登录至所述节点执行对应的操作;

当所述操作属于多容器类操作时,通过调度系统分别在后台对各节点执行对应的操作。

优选地,集群docker管理方法还包括:

通过ssh-t输出远程服务器的虚拟tty终端。

优选地,所述的集群docker管理方法还包括:

接收节点操作任务执行情况反馈信息,以便于根据所述反馈信息监控节点的任务执行情况。

本申请公开一种集群docker管理装置,包括:

信息接收单元,用于接收用户输入的操作信息;其中,所述操作信息包括需要操作的节点以及对应的任务操作;

信息解析单元,用于对所述操作信息进行信息解析,获取节点的名称以及对应的操作;其中,所述操作包括单容器类操作以及多容器类操作;

节点连接单元,用于通过ssh-n连接至所述节点;

操作执行单元,用于对所述节点执行对应的操作。

优选地,所述操作执行单元包括:

单容器操作执行子单元,用于当所述操作属于单容器类操作时,登录至所述节点执行对应的操作;

多容器操作执行子单元,用于当所述操作属于多容器类操作时,通过调度系统分别在后台对各节点执行对应的操作。

优选地,所述集群docker管理装置还包括:

虚拟终端输出单元,用于通过ssh-t输出远程服务器的虚拟tty终端。

优选地,所述集群docker管理装置还包括:

反馈信息接收单元,用于接收节点操作任务执行情况反馈信息,以便于根据所述反馈信息监控节点的任务执行情况。

本申请公开一种集群docker管理系统,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现所述的集群docker管理方法的步骤。

本申请公开一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被所述处理器执行时实现所述的集群docker管理方法的步骤。

本申请所提供的集群docker管理方法,管理节点通过接收用户输入的操作信息;对操作信息进行信息解析后获取节点的名称以及对应的操作;根据获取的节点名称通过ssh-n连接至节点,在管理节点即可对集群中的节点执行对应的操作。通过单一的节点即可实现对集群中docker的统一管理,可以使用户更方便高效地管理集群docker。

本申请还提供了一种实现目标检测的集群管理装置、系统及计算机可读存储介质,均具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的集群docker管理方法的流程图;

图2为本申请实施例提供的集群docker管理装置的结构框图;

图3为本申请实施例提供的集群docker管理系统的结构框图;

图4为本申请实施例提供的集群docker管理系统的结构示意图。

具体实施方式

本申请的核心是提供一种集群docker管理方法,该方法可以使用户更方便高效地管理集群docker;本申请的另一核心是提供一种集群docker管理装置、系统及计算机可读存储介质,均具有上述有益效果。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

请参考图1,图1为本申请所提供的一种集群docker管理方法的流程图,该方法可以包括:

步骤s100、管理节点接收用户输入的操作信息;其中,操作信息包括需要操作的节点以及对应的任务操作;

本申请提供的对集群docker的管理在任一单个管理节点即可实现对整个集群的管理工作,包括容器的创建,删除,进入,以及调度任务分配资源等。

管理节点接收用户输入的集群操作信息,包括操作对象以及对应的任务,操作对象即需要操作的节点,接收的操作信息比如“在a节点创建b个容器”、“在a节点以及b节点启动两个容器”等,在此对具体接收的操作信息的形式不做限定。

另外,对接收的集群操作信息的方式不做限定,可以先接收操作对象、也可以同时接收操作对象以及对应的任务等,其中,对用户的节点操作信息进行逐项输入可以大大简化信息识别过程,提高节点管理效率。

步骤s200、对操作信息进行信息解析,获取节点的名称以及对应的操作;其中,操作包括单容器类操作以及多容器类操作;

对接收到的用户输入的操作信息进行关键字解析,解析出用户需要操作的节点名称以及操作类型,其中,操作类型的划分方式在此不做限定,可以根据需要操作的容器个数划分为单容器类操作以及多容器类操作,或者也可以根据任务类型划分为资源分配类操作以及容器操作,资源分配类操作例如调度任务分配的资源,对集群资源比如gpu,mem指定,容器创建个数等的分配工作等,容器操作例如容器的创建,删除,进入等工作等,获取关键信息后以便于针对不同的节点进行不同的操作。

操作类型可参照dockerengine脚本,可以包含dockerrun、dockerenter、dockerdestory、dockermanager等节点操作方法。

步骤s300、通过ssh-n连接至节点;

相对现有的docker管理命令增加了-n的选项,通过ssh-n远程连接至需要进行操作的节点。节点可以为一个,也可以为多个,当节点为多个时,可在后台同时与多个节点相连接,分别对各节点执行对应的操作。

步骤s400、对节点执行对应的操作。

与对应节点建立连接通路后分别对节点发布对应的操作指令,以便于对节点执行相应的操作。

具体地,根据不同的操作类型,对节点执行对应的操作可以包括:

当操作属于单容器类操作时,登录至节点执行对应的操作;

当操作属于多容器类操作时,通过调度系统分别在后台对各节点执行对应的操作。

在此以多容器类操作为同时创建容器为例,执行创建容器命令dockerrun并且启动的容器后台执行,这样运行并行任务,则容器创建成功后返回此容器ip等所需要的容器信息,并进行记录。以便接下来的任务提交工作。

以单容器操作为运行节点a为例介绍操作流程,首先用户输入指定的节点名字“节点a”,管理节点接收并解析识别后远程连接至节点a,连接后就可通过节点a的dockermanage工具集进行操作,dockermanage工具集包括dockerrun、dockerdestory、dockerenter等工具,选择dockerrun命令,即可运行节点a。

以上两种操作类型具体为两种不同的启动方式,单容器操作类为用户启动登录方式,直接登录到容器为交互式。多容器操作类是调度器触发dockerrun,传入指定的节点以及资源,循环启动容器,所启动的容器皆在后台运行。

以上两种操作类型删除容器为两种不同的删除方式,单容器操作类为用户手动删除方式为交互式,需登录删除。多容器操作类为通过调度器将分配的资源进行回收,没有与用户进行交互。直接删除任务所占的节点以及容器,资源等。

本申请中通过ssh-n连接至对应节点并进行相应的管理工作主要可以通过在现有的dockerengine脚本的基础上对-n选项的增加,具体的docker管理命令可以为:

基于上述介绍,本申请中管理节点通过接收用户输入的操作信息;对操作信息进行信息解析后获取节点的名称以及对应的操作;根据获取的节点名称通过ssh-n连接至节点,在管理节点即可对集群中的节点执行对应的操作。通过单一的节点即可实现对集群中docker的统一管理,可以使用户更方便高效地管理集群docker。

其中,需要对节点镜像进行操作时默认没有tty终端,为了使用户更方便地获取镜像操作信息,以便于更方便地对节点进行操作,优选地,可以通过ssh-t输出远程服务器的虚拟tty终端,通过提供一个远程服务器的虚拟tty终端将节点返回的结果显示在管理节点。在管理节点提供虚拟终端的参考脚本比如:ssh-tnode。

其中,为了对集群docker操作过程进行监管,以便于提升管理性能,提升用户体验,优选地,可以对接收的节点操作任务执行情况反馈信息进行分析,根据反馈信息监控节点的任务执行情况。例如,当连接到节点a执行dockerrun、dockerdestroy等命令时,执行结果返回并显示到管理节点。其中,返回的信息可以分为两种,一种是手动启动、删除、进入容器,返回信息分别为要启动的容器,要删除的容器,以及要进入的容器;另一种是任务调度需要启动的节点并且指定资源,返回信息为容器的id以及ip等。通过接收节点操作任务执行情况反馈信息,可以方便地监看任务执行情况,以便于对执行情况以及执行结果进行分析以及优化等。

本申请提出的集群docker管理方法实现过程简单,耗费时间短,基本可以实现使用户方便高效地管理集群docker的目的。

下面对本申请提供的集群docker管理装置进行介绍,请参考图2,图2为本申请实施例提供的集群docker管理装置的结构框图;该装置可以包括:

信息接收单元100,用于接收用户输入的操作信息;其中,操作信息包括需要操作的节点以及对应的任务操作;

信息解析单元200,用于对操作信息进行信息解析,获取节点的名称以及对应的操作;其中,操作包括单容器类操作以及多容器类操作;

节点连接单元300,用于通过ssh-n连接至节点;

操作执行单元400,用于对节点执行对应的操作。

本申请提供的集群docker管理装置可以使用户方便高效地管理集群docker。

其中,优选地,本申请提供的集群docker管理装置中操作执行单元单元可以进一步包括单容器操作执行子单元以及多容器操作执行子单元。其中,单容器操作执行子单元可以用于当操作属于单容器类操作时,登录至节点执行对应的操作;多容器操作执行子单元可以用于当操作属于多容器类操作时,通过调度系统分别在后台对各节点执行对应的操作。

优选地,本申请提供的集群docker管理装置可以还包括虚拟终端输出单元。虚拟终端输出单元可以用于通过ssh-t输出远程服务器的虚拟tty终端。

优选地,本申请提供的集群docker管理装置可以还包括反馈信息接收单元。反馈信息接收单元可以用于接收节点操作任务执行情况反馈信息,以便于根据反馈信息监控节点的任务执行情况。

需要说明的是,本申请具体实施方式中的集群docker管理装置中的各个单元,其工作过程请参考图1对应的具体实施方式,在此不再赘述。

下面对本申请提供的集群docker管理系统进行介绍,具体对集群docker管理系统的介绍可参照上述集群docker管理方法的步骤,图3为本申请实施例提供的集群docker管理系统的结构框图;该系统可以包括:

存储器700,用于存储计算机程序;

处理器800,用于执行计算机程序时实现集群docker管理方法的步骤。

请参考图4,本申请实施例提供的集群docker管理系统的结构示意图,该恢复系统可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在管理系统301上执行存储介质330中的一系列指令操作。

管理系统301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上面图1所描述的集群docker管理方法中的步骤可以由集群docker管理系统的结构实现。

下面对本申请实施例提供的可读存储介质进行介绍,下文描述的可读存储介质与上文描述的集群docker管理方法可相互对应参照。

本申请公开的一种可读存储介质,其上存储有程序,程序被处理器执行时实现集群docker管理方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,设备,存储介质和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,系统,存储介质和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个移动终端中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该产品存储在一个存储介质中,包括若干指令用以使得一台移动终端(可以是手机,或者平板电脑等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、终端或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的集群docker管理方法、装置、系统及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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