基于集群的容器控制方法及系统与流程

    专利查询2022-08-15  91



    1.本公开涉及计算机技术领域,尤其涉及一种基于集群的容器控制方法及系统。


    背景技术:

    2.现有的集群技术中,无法实现对容器的控制操作,即,容器在运行过程中,如果想要远程服务控制容器内的进程操作,需要通过重启资源调度单元或者重建资源调度单元的方式,实现控制容器内的进程。而资源调度单元的重启或重建过程复杂,需要调度、挂载、容器初始化等多步操作,易出现失败风险,且整个过程耗时较长。


    技术实现要素:

    3.本公开提供一种基于集群的容器控制方法及系统,用以解决现有技术中只能通过控制资源调度单元来实现控制容器的缺陷,实现容器的单独控制。
    4.本公开提供一种基于集群的容器控制方法,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述方法应用于所述执行服务端,所述方法包括:
    5.接收所述管理服务端发送的容器控制指令;
    6.获取所述容器控制指令中包括的压缩文件;
    7.控制与执行服务端对应的容器执行与所述压缩文件对应的操作。
    8.根据本公开提供的一种基于集群的容器控制方法,
    9.所述获取所述容器控制指令中包括的压缩文件,包括:
    10.解析所述容器控制指令,得到所述压缩文件;
    11.所述获取所述容器控制指令中包括的压缩文件之后,还包括:
    12.解压所述压缩文件,得到可执行文件,所述可执行文件为能够控制所述容器完成与所述容器控制指令对应的操作的文件。
    13.根据本公开提供的一种基于集群的容器控制方法,
    14.所述容器控制指令包括:指令控制类型,所述指令控制类型包括:脚本文件类型和二进制文件类型;
    15.所述控制与执行服务端对应的容器执行与所述压缩文件对应的操作,包括:
    16.确定所述可执行文件对应的指令控制类型;
    17.当所述可执行文件对应的指令控制类型为所述脚本文件类型时,基于脚本文件执行策略执行所述可执行文件,控制执行服务端对应的容器执行与所述可执行文件对应的操作;
    18.当所述可执行文件对应的指令控制类型为所述二进制文件类型时,基于二进制文件执行策略执行所述可执行文件,控制执行服务端对应的容器执行与所述可执行文件对应的操作。
    19.根据本公开提供的一种基于集群的容器控制方法,所述方法还包括:
    20.接收所述管理服务端发送的服务更新指令,所述服务更新指令携带服务更新内容;
    21.基于所述服务更新内容,执行更新操作。
    22.根据本公开提供的一种基于集群的容器控制方法,每个所述容器还包括监控服务,所述监控服务用于在确定所述执行服务端出现异常时,控制所述执行服务端恢复正常。
    23.本公开还提供一种基于集群的容器控制方法,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述方法应用于所述管理服务端,所述方法包括:
    24.生成容器控制指令,所述容器控制指令包括压缩文件,所述压缩文件用于指示所述执行服务端对应的容器执行对应的操作;
    25.通过第一通信接口,将所述容器控制指令发送给与所述容器控制指令对应的执行服务端。
    26.根据本公开提供的一种基于集群的容器控制方法,所述生成容器控制指令之前,还包括:
    27.获取需要安装所述执行服务端的容器对应的网络标识;
    28.生成执行服务端安装指令;
    29.通过第二通信接口,将所述执行服务端安装指令发送给与所述网络标识对应的容器。
    30.根据本公开提供的一种基于集群的容器控制方法,所述方法还包括:
    31.向至少一个所述执行服务端发送服务更新指令,所述服务更新指令携带服务更新内容。
    32.本公开还提供一种基于集群的容器控制系统,所述系统包括:管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接;
    33.所述管理服务端,用于生成容器控制指令,通过第一通信接口,将所述容器控制指令发送给与所述容器控制指令对应的执行服务端,其中,所述容器控制指令包括压缩文件,所述压缩文件用于指示所述执行服务端对应的容器执行对应的操作;
    34.所述执行服务端,用于接收所述管理服务端发送的容器控制指令;获取所述容器控制指令中包括的所述压缩文件;控制与执行服务端对应的容器执行与所述压缩文件对应的操作。
    35.本公开还提供一种基于集群的容器控制装置,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述装置包括:
    36.接收模块,用于接收所述管理服务端发送的容器控制指令;
    37.获取模块,用于获取所述容器控制指令中包括的压缩文件;
    38.控制模块,用于控制与执行服务端对应的容器执行与所述压缩文件对应的操作。
    39.本公开还提供一种基于集群的容器控制装置,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述装置包括:
    40.生成模块,用于生成容器控制指令,所述容器控制指令包括压缩文件,所述压缩文
    件用于指示所述执行服务端对应的容器执行对应的操作;
    41.发送模块,用于通过第一通信接口,将所述容器生成指令发送给与所述容器控制指令对应的执行服务端。
    42.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述应用于执行服务端的基于集群的容器控制方法的步骤,或,所述应用于管理服务端的基于集群的容器控制方法的步骤。
    43.本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述应用于执行服务端的基于集群的容器控制方法的步骤,或,所述应用于管理服务端的基于集群的容器控制方法的步骤。
    44.本公开提供的基于集群的容器控制方法及系统,集群包括:管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,可见,本公开利用管理服务端和执行服务端之间的通信,实现管理服务端对容器的控制;执行服务端接收管理服务端发送的容器控制指令;获取容器控制指令中包括的压缩文件;执行服务端控制对应的容器执行与压缩文件对应的操作,实现了远程服务对容器的控制操作,避免了现有技术通过控制资源调度单元来实现控制容器的缺陷,降低了作业时长,提高了用户体验。
    附图说明
    45.为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
    46.图1是本公开提供的应用于执行服务端的基于集群的容器控制方法的流程示意图之一;
    47.图2是本公开提供的应用于执行服务端的基于集群的容器控制方法的流程示意图之二;
    48.图3是本公开提供的应用于执行服务端的基于集群的容器控制方法的流程示意图之三;
    49.图4是本公开提供的应用于管理服务端的基于集群的容器控制方法的流程示意图之一;
    50.图5是本公开提供的应用于管理服务端的基于集群的容器控制方法的流程示意图之二;
    51.图6是本公开提供的基于集群的容器控制系统的结构示意图之一;
    52.图7是本公开提供的基于集群的容器控制系统的结构示意图之二;
    53.图8是本公开提供的基于集群的容器控制装置的结构示意图之一;
    54.图9是本公开提供的基于集群的容器控制装置的结构示意图之二;
    55.图10是本公开提供的电子设备的结构示意图。
    具体实施方式
    56.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开实施例一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
    57.下面结合图1-图6描述本公开实施例的基于集群的容器控制方法。
    58.简单介绍一下集群:一个集群就是由一个或多个节点组织在一起。
    59.简单介绍一下k8s,k8s是用于管理云平台中多个主机(节点)上的容器化的应用,kubernetes的目标是让部署容器化的应用简单并且高效,并且提供了应用部署、规划、更新、维护的一种机制。
    60.pod是k8s的资源调度单元,为最小调度单元和资源单元,pod是由一个或多个容器组成,运行的各个节点上。一个pod是一个容器环境下的“逻辑主机”,它可能包括一个或者多个紧密相连的应用,这些应用可能是在同一个物理主机或虚拟机上。
    61.本公开可以通过k8s快速部署elasticsearch(es集群),es集群是一个点对点技术(peer-to-peer,简称p2p)的分布式系统。当然,本公开的集群也可以为在k8s上部署的redis、kafka等业务集群。
    62.其中,elasticsearch是一种搜索服务器,提供了一种分布式多用户能力的全文搜索引擎;redis是一个开源的内存数据结构存储,用作数据库、缓存和消息代理,用于提供数据结构,例如,字符串、哈希、列表、集合、带范围查询的排序集合、位图、地理空间索引和流;kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。
    63.下面,本公开的集群以es集群为例进行说明。
    64.本公开实施例提供了一种应用于执行服务端的基于集群的容器控制方法,集群包括:管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法的具体实现如图1所示:
    65.步骤101,接收管理服务端发送的容器控制指令。
    66.其中,管理服务端可以以pod的方式部署在k8s集群中,或者部署在其他物理机上或虚拟机上,即,管理服务端的部署地址没有严格的要求,只要保证与部署在pod内的执行服务端进行通信即可。管理服务端提供了多个应用程序接口(application programming interface,简称api),来为执行服务端下发的容器控制指令。
    67.其中,执行服务端等待、解析、执行管理服务端下发的容器控制指令。执行服务端也提供了多个api来接收管理服务端下发的容器控制指令。
    68.本公开设计管理服务端和执行服务端通信的模式,利用管理服务端的api和执行服务端的api来进行容器控制指令的发送和接收,方便、快捷,有效的提高了用户体验。
    69.步骤102,获取容器控制指令中包括的压缩文件。
    70.其中,压缩文件包括tar包、zip压缩包等,压缩文件通过打包工具对文件进行打包得到。
    71.一个具体实施例中,通过识别、验证、解析容器控制指令,得到压缩文件,并在得到
    压缩文件之后,解压压缩文件,得到可执行文件,可执行文件为能够控制容器完成与容器控制指令对应的操作的文件。
    72.其中,可执行文件包括脚本文件和二进制文件。
    73.具体的,管理服务端通过api接口向执行服务端发送容器控制指令。
    74.其中,针对不同的压缩文件的压缩格式,进行对应的解压缩操作。
    75.步骤103,控制与执行服务端对应的容器执行与压缩文件对应的操作。
    76.一个具体实施例中,容器控制指令包括:指令控制类型,指令控制类型包括:脚本文件类型和二进制文件类型。
    77.其中,控制与执行服务端对应的容器执行与压缩文件对应的操作的具体实现如图2所示:
    78.步骤201,确定可执行文件对应的指令控制类型。
    79.具体的,指令控制类型可以和可执行文件共同被压缩至压缩包中,在进行解压缩操作时,得到可执行文件和指令控制类型。
    80.具体的,指令控制类型可以记载在可执行文件中,对记载有指令控制类型的可执行文件进行压缩,在进行解压缩操作时,得到可执行文件以及可执行文件中记载的指令控制类型。
    81.具体的,还可以在接收管理服务端发送的容器控制指令时,同时接收管理服务端发送的指令控制类型。
    82.具体的,在确定可执行文件对应的指令控制类型之后,确定与指令控制类型对应的文件执行策略,其中,文件执行策略包括:脚本文件解析策略和二进制文件解析策略。其中,脚本文件类型对应脚本文件解析策略,二进制文件类型对应二进制文件解析策略。
    83.步骤202,当可执行文件对应的指令控制类型为脚本文件类型时,基于脚本文件执行策略执行可执行文件,控制执行服务端对应的容器执行与可执行文件对应的操作。
    84.具体的,当可执行文件对应的指令控制类型为脚本文件类型时,得到可执行文件为脚本文件,执行脚本文件的脚本代码,以控制执行服务端对应的容器执行与脚本文件对应的操作。
    85.其中,脚本文件可以为shell文件。
    86.步骤203,当可执行文件对应的指令控制类型为二进制文件类型时,基于二进制文件执行策略执行可执行文件,控制执行服务端对应的容器执行与可执行文件对应的操作。
    87.具体的,当可执行文件对应的指令控制类型为二进制文件类型时,得到可执行文件为二进制文件,执行二进制文件的程序代码,以控制执行服务端对应的容器执行与二进制文件对应的操作。
    88.其中,二进制文件可以为利用多种编程语言进行编码,来生成的二进制可执行文件。
    89.本公开通过执行服务器解析容器控制指令,得到容器控制指令携带的可执行文件,来实现容器的控制,具有很强的通用性和适应性,能够有效的提高用户体验。并且,本公开无需修改容器内的容器镜像,仅需要修改容器控制指令中的可执行文件的内容,便可实现容器的自定义控制,对容器内镜像的入侵性非常小。并且,在管理服务端通过执行服务端控制容器的整个过程中,容器内的其他进程或服务都可以正常的运行,整个容器控制过程,
    方便、安全和高效。
    90.下面,通过图3对执行服务端的处理流程进行具体说明:
    91.步骤301,接收管理服务端发送的容器控制指令。
    92.步骤302,解析容器控制指令中的tar包,得到指令控制类型。
    93.步骤303,判断指令控制类型是否为脚本文件类型,若是,执行步骤304,否则,执行步骤305。
    94.步骤304,得到脚本文件。
    95.步骤305,得到二进制文件。
    96.步骤306,确定执行完毕,并清除脚本文件。
    97.步骤307,确定执行完毕,并清除二进制文件。
    98.一个具体实施例中,接收管理服务端发送的服务更新指令,服务更新指令携带服务更新内容;基于服务更新内容,执行更新操作。
    99.其中,服务更新内容包括:增加新的功能、更改新的功能、优化新的功能等。
    100.一个具体实施例中,每个容器还包括监控服务,监控服务用于在确定执行服务端出现异常时,控制执行服务端恢复正常。
    101.具体的,本公开提供了一个监控服务来实时监控执行服务端的状态,当确定执行服务端的状态为异常状态时,能够重新拉起执行服务端,避免了执行服务端出现异常导致容器控制受到影响的问题,提高了用户体验。
    102.具体的,在k8s中没有对外提供控制容器的命令、api等,即,k8s使用者不能通过k8s直接控制集群pod中的容器,而是通过控制pod的方式来间接控制pod内的容器。基于k8s,在控制容器的过程中需要进行pod重建、存储挂载、pod调度等操作,整个过程耗时较长,效率较低,并且,由于对pod进行控制操作,造成集群不稳定,容易出现数据丢失,进而,造成数据不安全的问题。
    103.本公开能够适用部署在k8s中的业务集群中设置的执行服务端和管理服务端,通过管理服务端与执行服务端进行通信,来进行容器的直接控制,以提高容器的控制效率。
    104.本公开提供的基于集群的容器控制方法及系统,集群包括:管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,可见,本公开利用管理服务端和执行服务端之间的通信,实现管理服务端对容器的控制;执行服务端接收管理服务端发送的容器控制指令;获取容器控制指令中包括的压缩文件;执行服务端控制对应的容器执行与压缩文件对应的操作,实现了远程服务对容器的控制操作,避免了现有技术通过控制资源调度单元来实现控制容器的缺陷,降低了作业时长,提高了用户体验。
    105.本公开实施例还提供了一种应用于管理服务端的基于集群的容器控制方法,集群包括:管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法的具体实现如图4所示:
    106.步骤401,生成容器控制指令。
    107.其中,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的容器执行对应的操作。
    108.一个具体实施例中,生成容器控制指令之前,获取需要安装执行服务端的容器对应的网络标识;生成执行服务端安装指令;通过第二通信接口,将执行服务端安装指令发送
    给与网络标识对应的容器。
    109.其中,网络标识为通信协议中的网络地址,例如,可以为pod的唯一标识。
    110.具体的,本公开可能仅需要在一个容器中安装执行服务端,也可能需要在多个容器中安装执行服务端。当仅需要在一个容器中安装执行服务端,根据通信协议,通过网络标识,找到待安装执行服务端的容器,最后,在待安装执行服务端的容器中安装执行服务端。
    111.或者,在容器启动的时候,容器自动运行已经预先存储的执行服务端的安装脚本,完成执行服务端的安装。
    112.或者,容器和管理服务端进行通信,以下载执行服务端,具体如图5所示:
    113.步骤501,容器向管理服务端发送执行服务端的下载请求。
    114.步骤502,管理服务端向容器发送执行服务端安装应用。
    115.步骤503,容器基于执行服务端安装应用,下载并安装执行服务端。
    116.步骤504,执行服务端等待接收管理服务端发送的容器控制指令。
    117.另外,还可以通过手动方式将执行服务端拷贝到对应的容器中,例如,将执行服务端拷贝至物理计算机、虚拟机或存储介质中,然后,利用shell命令,将物理计算机、虚拟机或存储介质中存储的执行服务端拷贝到对应的容器中。还可以通过容器挂载方式,将物理计算机、虚拟机或存储介质中存储的执行服务端映射到容器内。
    118.本公开提供了多种执行服务端的下载安装的方法,用户可以基于实际情况进行选择使用,有效的提高了用户体验。
    119.步骤402,通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端。
    120.具体的,根据通信协议,通过网络标识和请求端口,将容器控制指令发送给目标容器内的执行服务端,其中,通信协议包括超文本传输协议(hyper text transfer protocol,简称http)、传输控制协议(transmission control protocol,简称tcp)等。
    121.并且,需要将可执行文件进行打包,例如,tar包、zip包等,然后,将打包后的可执行文件,封装到容器控制指令中,将携带有可执行文件的容器控制指令,发送给与网络标识对应的执行服务端。
    122.一个具体实施例中,管理服务器向至少一个执行服务端发送服务更新指令,服务更新指令携带服务更新内容。
    123.具体的,根据通信协议,通过网络标识和请求端口,将服务更新指令发送给目标容器内的执行服务端。
    124.其中,可能仅需要向一个执行服务端发送服务更新指令,也可能需要向多个执行服务端发送服务更新指令,基于实际情况处理即可。
    125.本公开提供的基于集群的容器控制方法及系统,集群包括:管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,可见,本公开利用管理服务端和执行服务端之间的通信,实现管理服务端对容器的控制;管理服务端生成容器控制指令,并通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端,以使执行服务端执行与容器控制指令对应的操作,实现了远程服务对容器的控制操作,避免了现有技术通过控制资源调度单元来实现控制容器的缺陷,降低了作业时长,提高了用户体验。
    126.本公开实施例还提供了一种基于集群的容器控制系统,该系统的具体实现方式可参见上述基于集群的容器控制方法的描述,重复之处,不在赘述,具体如图6所示,系统包括:和至少一个容器602,每个容器602包括执行服务端603,管理服务端601和执行服务端603通信连接;
    127.管理服务端601,用于生成容器控制指令,通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端603,其中,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的容器执行对应的操作;
    128.执行服务端603,用于接收管理服务端601发送的容器控制指令;获取容器控制指令中包括的压缩文件;控制与执行服务端603对应的容器执行与压缩文件对应的操作。
    129.一个具体实施例中,执行服务端603,具体用于解析容器控制指令,得到压缩文件;解析压缩文件,得到可执行文件,可执行文件为能够控制容器完成与容器控制指令对应的操作的文件。
    130.一个具体实施例中,容器控制指令包括:指令控制类型,指令控制类型包括:脚本文件类型和二进制文件类型;执行服务端603,具体用于确定可执行文件对应的指令控制类型;当可执行文件对应的指令控制类型为脚本文件类型时,基于脚本文件执行策略执行可执行文件,控制执行服务端对应的容器执行与可执行文件对应的操作;当可执行文件对应的指令控制类型为二进制文件类型时,基于二进制文件执行策略执行可执行文件,控制执行服务端对应的容器执行与可执行文件对应的操作。
    131.一个具体实施例中,执行服务端603,还用于接收管理服务端发送的服务更新指令,服务更新指令携带服务更新内容;基于服务更新内容,执行更新操作。
    132.一个具体实施例中,每个容器还包括监控服务,监控服务用于在确定执行服务端出现异常时,控制执行服务端恢复正常。
    133.一个具体实施例中,管理服务端601,还用于获取需要安装执行服务端的容器对应的网络标识;生成执行服务端安装指令;通过第二通信接口,将执行服务端安装指令发送给与网络标识对应的容器。
    134.一个具体实施例中,管理服务端601,还用于向至少一个执行服务端发送服务更新指令,服务更新指令携带服务更新内容。
    135.下面,可参见图7理解基于集群的容器控制系统的结构。
    136.系统包括:管理服务端601、容器602,每个容器602包括执行服务端603,并且,容器602运行在pod701中。在图7中以3个pod701,每个pod701中包括一个容器602为例进行说明,但此处仅为举例说明,并不对保护范围进行限定。
    137.本公开提供的基于集群的容器控制系统,利用管理服务端601和执行服务端603之间的通信,实现管理服务端601对容器的控制;管理服务端601发送容器控制指令到执行服务端603,执行服务端603接收管理服务端601发送的容器控制指令;执行服务端603控制对应的容器执行与容器控制指令对应的操作,实现了管理服务端601对容器的控制操作,避免了现有技术通过控制pod701来间接控制容器的缺陷,降低了作业时长,提高了用户体验。
    138.本公开实施例还提供一种基于集群的容器控制装置,下文描述的基于集群的容器控制装置与上文描述的基于集群的容器控制方法和基于集群的容器控制系统可相互对应参照,重复之处,不再赘述,具体如图8所示,该装置包括:
    139.接收模块801,用于接收管理服务端发送的容器控制指令;
    140.获取模块802,用于获取容器控制指令中包括的压缩文件;
    141.控制模块803,用于控制与执行服务端对应的容器执行与压缩文件对应的操作。
    142.本公开实施例还提供一种基于集群的容器控制装置,下文描述的基于集群的容器控制装置与上文描述的基于集群的容器控制方法和基于集群的容器控制系统可相互对应参照,重复之处,不再赘述,具体如图9所示,该装置包括:
    143.生成模块901,用于生成容器控制指令,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的容器执行对应的操作;
    144.发送模块902,用于通过第一通信接口,将容器生成指令发送给与容器控制指令对应的执行服务端。
    145.图10示例了一种电子设备的实体结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1001、通信接口(communications interface)1002、存储器(memory)1003和通信总线1004,其中,处理器1001,通信接口1002,存储器1003通过通信总线1004完成相互间的通信。处理器1001可以调用存储器1003中的逻辑指令,以执行应用于执行服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:接收管理服务端发送的容器控制指令;获取容器控制指令中包括的压缩文件;控制与执行服务端对应的容器执行与压缩文件对应的操作,或,执行应用于管理服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:生成容器控制指令,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的容器执行对应的操作;通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端。
    146.此外,上述的存储器1003中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
    147.另一方面,本公开还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的应用于执行服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:接收管理服务端发送的容器控制指令;获取容器控制指令中包括的压缩文件;控制与执行服务端对应的容器执行与压缩文件对应的操作,或,执行应用于管理服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:生成容器控制指令,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的
    容器执行对应的操作;通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端。
    148.又一方面,本公开还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的应用于执行服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:接收管理服务端发送的容器控制指令;获取容器控制指令中包括的压缩文件;控制与执行服务端对应的容器执行与压缩文件令对应的操作,或,执行应用于管理服务端的基于集群的容器控制方法,其中,集群包括管理服务端和至少一个容器,每个容器包括执行服务端,管理服务端和执行服务端通信连接,该方法包括:生成容器控制指令,容器控制指令包括压缩文件,压缩文件用于指示执行服务端对应的容器执行对应的操作;通过第一通信接口,将容器控制指令发送给与容器控制指令对应的执行服务端。
    149.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
    150.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
    151.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

    技术特征:
    1.一种基于集群的容器控制方法,其特征在于,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述方法应用于所述执行服务端,所述方法包括:接收所述管理服务端发送的容器控制指令;获取所述容器控制指令中包括的压缩文件;控制与执行服务端对应的容器执行与所述压缩文件对应的操作。2.根据权利要求1所述的基于集群的容器控制方法,其特征在于,所述获取所述容器控制指令中包括的压缩文件,包括:解析所述容器控制指令,得到所述压缩文件;所述获取所述容器控制指令中包括的压缩文件之后,还包括:解压所述压缩文件,得到可执行文件,所述可执行文件为能够控制所述容器完成与所述容器控制指令对应的操作的文件。3.根据权利要求2所述的基于集群的容器控制方法,其特征在于,所述容器控制指令包括:指令控制类型,所述指令控制类型包括:脚本文件类型和二进制文件类型;所述控制与执行服务端对应的容器执行与所述压缩文件对应的操作,包括:确定所述可执行文件对应的指令控制类型;当所述可执行文件对应的指令控制类型为所述脚本文件类型时,基于脚本文件执行策略执行所述可执行文件,控制执行服务端对应的容器执行与所述可执行文件对应的操作;当所述可执行文件对应的指令控制类型为所述二进制文件类型时,基于二进制文件执行策略执行所述可执行文件,控制执行服务端对应的容器执行与所述可执行文件对应的操作。4.根据权利要求1-3任一项所述的基于集群的容器控制方法,其特征在于,所述方法还包括:接收所述管理服务端发送的服务更新指令,所述服务更新指令携带服务更新内容;基于所述服务更新内容,执行更新操作。5.根据权利要求1-3任一项所述的基于集群的容器控制方法,其特征在于,每个所述容器还包括监控服务,所述监控服务用于在确定所述执行服务端出现异常时,控制所述执行服务端恢复正常。6.一种基于集群的容器控制方法,其特征在于,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述方法应用于所述管理服务端,所述方法包括:生成容器控制指令,所述容器控制指令包括压缩文件,所述压缩文件用于指示所述执行服务端对应的容器执行对应的操作;通过第一通信接口,将所述容器控制指令发送给与所述容器控制指令对应的执行服务端。7.根据权利要求6所述的基于集群的容器控制方法,其特征在于,所述生成容器控制指令之前,还包括:获取需要安装所述执行服务端的容器对应的网络标识;生成执行服务端安装指令;
    通过第二通信接口,将所述执行服务端安装指令发送给与所述网络标识对应的容器。8.根据权利要求6或7所述的基于集群的容器控制方法,其特征在于,所述方法还包括:向至少一个所述执行服务端发送服务更新指令,所述服务更新指令携带服务更新内容。9.一种基于集群的容器控制系统,其特征在于,所述系统包括:管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接;所述管理服务端,用于生成容器控制指令,通过第一通信接口,将所述容器控制指令发送给与所述容器控制指令对应的执行服务端,其中,所述容器控制指令包括压缩文件,所述压缩文件用于指示所述执行服务端对应的容器执行对应的操作;所述执行服务端,用于接收所述管理服务端发送的容器控制指令;获取所述容器控制指令中包括的所述压缩文件;控制与执行服务端对应的容器执行与所述压缩文件对应的操作。10.一种基于集群的容器控制装置,其特征在于,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述装置包括:接收模块,用于接收所述管理服务端发送的容器控制指令;获取模块,用于获取所述容器控制指令中包括的压缩文件;控制模块,用于控制与执行服务端对应的容器执行与所述压缩文件对应的操作。11.一种基于集群的容器控制装置,其特征在于,所述集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,所述装置包括:生成模块,用于生成容器控制指令,所述容器控制指令包括压缩文件,所述压缩文件用于指示所述执行服务端对应的容器执行对应的操作;发送模块,用于通过第一通信接口,将所述容器生成指令发送给与所述容器控制指令对应的执行服务端。12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述应用于执行服务端的基于集群的容器控制方法的步骤,或,实现如权利要求6至8任一项所述应用于管理服务端的基于集群的容器控制方法的步骤。13.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述应用于执行服务端的基于集群的容器控制方法的步骤,或,实现如权利要求6至8任一项所述应用于管理服务端的基于集群的容器控制方法的步骤。14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述应用于执行服务端的基于集群的容器控制方法的步骤,或,实现如权利要求6至8任一项所述应用于管理服务端的基于集群的容器控制方法的步骤。

    技术总结
    本公开提供一种基于集群的容器控制方法及系统,其中,集群包括管理服务端和至少一个容器,每个所述容器包括执行服务端,所述管理服务端和所述执行服务端通信连接,方法应用于执行服务端,方法包括:接收所述管理服务端发送的容器控制指令;获取所述容器控制指令中包括的压缩文件;控制与执行服务端对应的容器执行与所述压缩文件对应的操作。本公开用以解决现有技术中只能通过控制资源调度单元来实现控制容器的缺陷,实现容器的单独控制。实现容器的单独控制。实现容器的单独控制。


    技术研发人员:李彦帅
    受保护的技术使用者:京东科技信息技术有限公司
    技术研发日:2022.02.18
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-8037.html

    最新回复(0)