一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

镜像文件共享方法、容器集群管理系统及相关设备与流程

2022-06-01 15:07:22 来源:中国专利 TAG:
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.基于所述文件分布信息,从所述子镜像文件对应的存储节点获得所述子镜像文件,得到至少一个所述子镜像文件;47.基于所述至少一个子镜像文件启动容器。48.在本技术中,容器集群管理系统中的运行节点可以从控制节点获得镜像文件的文件分布信息,在文件分布信息包括镜像文件包括的各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点的基础上,可以基于文件分布信息,从子镜像文件对应的存储节点获取子镜像文件,得到至少一个子镜像文件,实现运行节点之间共享子镜像文件,不需要每个运行节点均本地存储镜像文件,可以节省运行节点本地的存储空间。附图说明49.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。50.图1是本技术实施例1提供的一种镜像文件共享方法的流程示意图;51.图2是本技术提供的一种子镜像文件的存储节点分布场景示意图;52.图3是本技术提供的另一种子镜像文件的存储节点分布场景示意图;53.图4是本技术提供的一种镜像文件共享方法的效果对比示意图;54.图5是本技术实施例2提供的一种镜像文件共享方法的流程示意图;55.图6是本技术实施例3提供的一种镜像文件共享方法的流程示意图;56.图7是本技术实施例4提供的一种镜像文件共享方法的流程示意图;57.图8是本技术实施例5提供的一种镜像文件共享方法的流程示意图;58.图9是本技术提供的一种kubernetes的结构示意图;59.图10是本技术提供的一种运行节点的结构示意图;60.图11是本技术提供的一种控制节点的结构示意图;61.图12是本技术提供的一种容器集群管理系统的结构示意图。具体实施方式62.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。63.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。64.参照图1,为本技术实施例1提供的一种镜像文件共享方法的流程示意图,该方法可以应用于容器集群管理系统中的运行节点,容器集群管理系统可以包括控制节点和至少一个运行节点,如图1所示,该方法可以包括但并不局限于以下步骤:65.步骤s101、从控制节点获得镜像文件的文件分布信息,镜像文件包括至少一个子镜像文件,文件分布信息包括:各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点。66.控制节点可以获取镜像文件,镜像文件包括至少一个子镜像文件,并从至少一个运行节点中确定各子镜像文件对应的存储节点,存储节点属于至少一个运行节点。67.可以理解的是,每个运行节点能够存储的子镜像文件的个数在本技术中并不做限制。例如,运行节点可以存储0个、1个或多个子镜像文件。68.本实施例中,各子镜像文件对应的存储节点可以全部相同。例如,如图2所示,若一个镜像文件包括10个子镜像文件,分别为layer1、layer2、…layer10,容器集群管理系统包括控制节点和10个运行节点,分别为node1、node2、…node10,可以从10个运行节点中选取运行节点node1,作为10个子镜像文件对应的存储节点,即运行节点node1存储10个子镜像文件。69.当然,各子镜像文件对应的存储节点也可以部分相同。例如,若一个镜像文件包括10个子镜像文件,容器集群管理系统包括8个运行节点,可以从8个运行节点中选取5个目标运行节点,作为10个子镜像文件对应的存储节点,每个存储节点存储的子镜像文件的个数不限,只需保证10个子镜像文件全部存储在该5个存储节点中即可。70.另外,若容器集群管理系统包括的至少一个运行节点的个数不小于镜像文件包括的至少一个子镜像文件的个数,不同子镜像文件对应的存储节点可以不同。例如,如图3所示,若一个镜像文件包括10个子镜像文件,分别为layer1、layer2、…layer10,容器集群管理系统包括11个运行节点,分别为node1、node2、…node11。可以从11个运行节点中选取10个目标运行节点node1-node10,分别确定为各子镜像文件对应的存储节点,每个存储节点存储的子镜像文件不同。71.需要说明的是,图2或图3仅为其中一种场景示例,其并不作为对子镜像文件及子镜像文件对应的存储节点的限制。72.在确定各子镜像文件对应的存储节点的基础上,控制节点至少可以记录镜像文件的文件分布信息,文件分布信息包括:各子镜像文件对应的存储节点的信息。存储节点的信息至少可以用于运行节点基于存储节点的信息访问到存储子镜像文件的存储节点。73.存储节点的信息可以包括但不局限于:存储节点的标识信息;或,存储节点的标识信息及存储节点中子镜像文件的存储路径信息。74.本实施例中,运行节点可以但不局限于响应于控制节点的调度指令,从控制节点获得镜像文件的文件分布信息,其中,调度指令用于指示运行节点执行目标任务。75.当然,运行节点也可以基于控制节点的调度策略,在需要本运行节点执行目标任务的情况下,从控制节点获得镜像文件的文件分布信息。76.步骤s102、基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。77.对应存储节点的信息包括:存储节点的标识信息的实施方式,本步骤可以包括但不局限于:78.s1021、基于存储节点的标识信息,向子镜像文件对应的存储节点传输子镜像文件获取请求,以使得子镜像文件对应的存储节点响应子镜像文件获取请求,将其存储的子镜像文件传输给运行节点。79.可以理解的是,在存储节点的信息包括存储节点的标识信息的情况下,运行节点不能直接访问子镜像文件,可以保证子镜像文件存储的安全性。80.对应存储节点的信息包括:存储节点的标识信息及存储节点中子镜像文件的存储路径信息的实施方式,本步骤可以包括但不局限于:81.s1022、基于存储节点的标识信息,访问子镜像文件对应的存储节点;82.s1023、基于存储节点中子镜像文件的存储路径信息,访问子镜像文件对应的存储节点中对应的存储空间,从存储空间中获取子镜像文件。83.可以理解的是,在存储节点的信息包括:存储节点的标识信息及存储节点中子镜像文件的存储路径信息的情况下,运行节点可以不经过与存储节点之间进行交互,即可获取子镜像文件,可以提高获取子镜像文件的效率。84.至少一个子镜像文件可以作为临时文件或永久文件存储在运行节点中。其中,至少一个子镜像文件作为临时文件的存储位置和其作为永久文件的存储位置有所不同。85.步骤s103、基于至少一个子镜像文件启动容器。86.本实施例中,容器集群管理系统中的运行节点可以从控制节点获得镜像文件的文件分布信息,在文件分布信息包括镜像文件包括的各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点的基础上,可以基于文件分布信息,从子镜像文件对应的存储节点获取子镜像文件,得到至少一个子镜像文件,实现运行节点之间共享子镜像文件,不需要每个运行节点均本地存储镜像文件,可以节省运行节点本地的存储空间。87.并且,在项目开发环境中,每个运行节点可以分别基于文件分布信息,获取至少一个子镜像文件,分别基于至少一个子镜像文件启动容器,完成项目测试,保证每个运行节点可以不需要分别本地存储镜像文件,进而不需要复制镜像文件到各个运行节点本地的工作流程,提高了开发效率。同时,也可以避免因运行节点没有存储镜像文件,导致的镜像拉取错误问题。例如,如图4中(a)部分所示,基于现有技术的方式,镜像文件只存储在node1中,node1中可以成功拉取镜像文件,基于镜像文件启动容器,由于node2中没有存储镜像文件,node2则会拉取镜像文件失败,无法启动容器;如图4中(b)部分所示,镜像文件包含的子镜像文件layer1和layer2可以存储在node1和node3中,node1在只存储有layer1的情况下,仍可以基于文件分布信息,从node3中获取layer2,并基于layer1和layer2启动容器,node2在未存储镜像文件的情况下,可以基于文件分布信息,从node1中获取layer1,从node3中获取layer2,基于layer1和layer2启动容器,可以避免因未存储镜像文件导致的镜像文件拉取错误问题。88.作为本技术另一可选实施例,参照图5,为本技术实施例2提供的一种镜像文件共享方法的流程示意图,本实施例主要是对上述实施例1描述的镜像文件共享方法的扩展方案,如图5所示,该方法可以包括但并不局限于以下步骤:89.步骤s201、从控制节点获得镜像文件的文件分布信息,镜像文件包括至少一个子镜像文件,文件分布信息包括:各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点。90.本实施例中,可以由运行节点的代理组件(如,kubelet),从控制节点获得镜像文件的文件分布信息。91.步骤s201的详细过程可以参见实施例1中步骤s101的相关介绍,在此不再赘述。92.步骤s202、将文件分布信息更新到运行节点的数据库中。93.本实施例中,运行节点的代理组件可以调用运行节点的应用容器引擎(如,docker),以使得应用容器引擎将文件分布信息更新到运行节点的数据库中。94.步骤s203、从运行节点的数据库中,获取文件分布信息。95.本实施例中,可以由应用容器引擎从运行节点的数据库中,获取文件分布信息。96.步骤s204、基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。97.本实施例中,同样可以由应用容器引擎基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。98.本步骤的详细过程可以参见实施例1中步骤s1021或步骤s1022-s1023的相关介绍,在此不再赘述。99.步骤s203-s204为实施例1中步骤s102的一种具体实施方式。100.步骤s205、基于至少一个子镜像文件启动容器。101.本实施例中,可以由应用容器引擎基于至少一个子镜像文件启动容器。102.本实施例中,从控制节点获得镜像文件的文件分布信息,将文件分布信息更新到运行节点的数据库中,从运行节点的数据库中获取文件分布信息,在文件分布信息包括镜像文件包括的各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点的基础上,可以基于文件分布信息,从子镜像文件对应的存储节点获取子镜像文件,得到至少一个子镜像文件,实现运行节点之间共享子镜像文件,不需要每个运行节点均本地存储镜像文件,可以节省运行节点本地的存储空间。103.作为本技术另一可选实施例,参照图6,为本技术实施例3提供的一种镜像文件共享方法的流程示意图,本实施例主要是对上述实施例1描述的镜像文件共享方法的扩展方案,如图6所示,该方法可以包括但并不局限于以下步骤:104.步骤s301、从控制节点获得镜像文件的文件分布信息,镜像文件包括至少一个子镜像文件,文件分布信息包括:各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点。105.步骤s302、基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。106.运行节点可以基于文件分布信息,确定子镜像文件对应的存储节点中是否包含该运行节点。107.若确定子镜像文件对应的存储节点中不包含该运行节点,则可以从从子镜像文件对应的存储节点,获得至少一个子镜像文件。108.步骤s303、基于至少一个子镜像文件启动容器。109.基于至少一个子镜像文件启动容器,可以包括但不局限于:110.s3031、将至少一个子镜像文件确定为临时文件,并将至少一个子镜像文件存储到运行节点的临时文件夹。111.s3032、基于临时文件夹存储的至少一个子镜像文件启动容器。112.步骤s304、响应于第一触发事件,若各子镜像文件对应的存储节点不包含运行节点,从运行节点中删除至少一个子镜像文件。113.本实施例中,第一触发事件可以为但不局限于与在启动容器之后,执行与容器关联的操作相关的事件。114.第一触发事件,可以包括但不局限于:删除容器事件;或,驱逐容器事件;或,容器被重新调度到其它运行节点启动的事件。115.可以理解的是,若运行节点确定各子镜像文件对应的存储节点不包含该运行节点,则可以从运行节点中删除至少一个子镜像文件。116.对应步骤s303的实施方式,从运行节点中删除至少一个子镜像文件,可以包括但不局限于:117.从运行节点的临时文件夹中删除至少一个子镜像文件。118.本实施例中,容器集群管理系统中的运行节点可以从控制节点获得镜像文件的文件分布信息,在文件分布信息包括镜像文件包括的各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点的基础上,可以基于文件分布信息,从子镜像文件对应的存储节点获取子镜像文件,得到至少一个子镜像文件,实现运行节点之间共享子镜像文件,不需要每个运行节点均本地存储镜像文件,可以节省运行节点本地的存储空间。119.并且,响应于第一触发事件,若各子镜像文件对应的存储节点不包含运行节点,从运行节点中删除至少一个子镜像文件,可以节省运行节点本地的存储空间。120.作为本技术另一可选实施例,参照图7,为本技术实施例4提供的一种镜像文件共享方法的流程示意图,本实施例主要是对上述实施例1描述的镜像文件共享方法的扩展方案,如图7所示,该方法可以包括但并不局限于以下步骤:121.步骤s401、从控制节点获得镜像文件的文件分布信息,镜像文件包括至少一个子镜像文件,文件分布信息包括:各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点。122.步骤s402、基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。123.运行节点可以基于文件分布信息,确定子镜像文件对应的存储节点中是否包含该运行节点。124.若确定子镜像文件对应的存储节点中包含该运行节点,则可以从该运行节点中获得至少一个第一子镜像文件,从子镜像文件对应的存储节点中不同于该运行节点的第一运行节点中,获得至少一个第二子镜像文件,其中,至少一个第一子镜像文件和至少一个第二子镜像文件组成镜像文件。125.步骤s403、基于至少一个子镜像文件启动容器。126.基于至少一个子镜像文件启动容器,可以包括但不局限于:127.s4031、将至少一个第二子镜像文件确定为临时文件,并将至少一个第二子镜像文件存储到运行节点的临时文件夹。128.s4032、基于运行节点存储的至少一个第一子镜像文件和临时文件夹存储的至少一个第二子镜像文件启动容器。129.步骤s404、响应于第二触发事件,若各子镜像文件对应的存储节点包含运行节点,从运行节点中删除至少一个第二子镜像文件。130.本实施例中,第二触发事件可以为但不局限于与在启动容器之后,执行与容器关联的操作相关的事件。131.第二触发事件,可以包括但不局限于:删除容器事件;或,驱逐容器事件;或,容器被重新调度到其它运行节点启动的事件。132.可以理解的是,若运行节点确定各子镜像文件对应的存储节点包含该运行节点,则可以从运行节点中删除至少一个第二子镜像文件。133.对应步骤s403的实施方式,从运行节点中删除至少一个第二子镜像文件,可以包括但不局限于:134.从运行节点的临时文件夹中删除至少一个第二子镜像文件。135.本实施例中,容器集群管理系统中的运行节点可以从控制节点获得镜像文件的文件分布信息,在文件分布信息包括镜像文件包括的各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点的基础上,可以基于文件分布信息,从子镜像文件对应的存储节点获取子镜像文件,得到至少一个子镜像文件,实现运行节点之间共享子镜像文件,不需要每个运行节点均本地存储镜像文件,可以节省运行节点本地的存储空间。136.并且,响应于第二触发事件,若各子镜像文件对应的存储节点包含运行节点,从运行节点中删除至少一个第二子镜像文件,可以节省运行节点本地的存储空间,并且该运行节点保留运行节点存储的至少一个第一子镜像文件,保证其它运行节点可以从该运行节点获得至少一个第一子镜像文件,保证至少一个第一子镜像文件共享的可靠性。137.作为本技术另一可选实施例,参照图8,为本技术提供的一种镜像文件共享方法实施例5的流程示意图,该方法应用于容器集群管理系统中的控制节点,容器集群管理系统包括:控制节点和至少一个运行节点,该方法可以包括但不局限于以下步骤:138.步骤s501、获取镜像文件,镜像文件包括至少一个子镜像文件。139.获取镜像文件,可以包括但不局限于:140.s5011、确定控制节点的镜像文件数据库中是否包含镜像文件。141.若包含,则执行步骤s5012;若不包含,则执行步骤s5013。142.s5012、从镜像文件数据库中获取镜像文件。143.s5013、确定至少一个第二运行节点是否包含镜像文件。144.第二运行节点为至少一个运行节点中的任意一个运行节点。145.若包含,则执行步骤s5014;若不包含,则执行步骤s5015。146.s5014、从至少一个第二运行节点中获取镜像文件。147.s5015、从镜像容器仓库中获取镜像文件。148.步骤s502、从至少一个运行节点中确定各子镜像文件对应的存储节点,存储节点属于至少一个运行节点。149.本实施例中,从至少一个运行节点中确定各子镜像文件对应的存储节点,可以包括但不局限于:150.s5021、基于各运行节点的状态信息,从至少一个运行节点中选取满足设定条件的运行节点,将选取出的运行节点确定为子镜像文件对应的存储节点。151.运行节点的状态信息可以包括但不局限于:运行节点的可用存储空间大小,和/或,运行节点的运行性能信息。152.具体地,步骤s5021可以包括但不局限于:153.s50211、基于各运行节点的可用存储空间大小,从至少一个运行节点中选取可用存储空间大小满足子镜像文件存储要求的运行节点,将选取出的运行节点确定为子镜像文件对应的存储节点。154.步骤s5021也可以包括但不局限于:155.s50212、基于各运行节点的可用存储空间大小及运行性能信息,从至少一个运行节点中选取可用存储空间大小满足子镜像文件存储要求,且运行性能信息超过运行性能阈值的运行节点,将选取出的运行节点确定为子镜像文件对应的存储节点。156.步骤s503、记录镜像注册表信息,镜像注册表信息中至少包含镜像文件的文件分布信息,文件分布信息包括:各子镜像文件对应的存储节点的信息。157.本实施例中,存储节点的信息至少可以用于运行节点基于存储节点的信息访问到存储子镜像文件的存储节点。158.存储节点的信息可以包括但不局限于:存储节点的标识信息;或,存储节点的标识信息及存储节点中子镜像文件的存储路径信息。159.镜像注册表信息还可以包括但不局限于:镜像文件的标识信息。镜像文件的标识信息可以用于查询到镜像文件。160.步骤s504、从至少一个运行节点中确定出目标运行节点,以使得目标运行节点从控制节点获得镜像文件的文件分布信息,基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件,基于至少一个子镜像文件启动容器。161.目标运行节点从控制节点获得镜像文件的文件分布信息,基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件,基于至少一个子镜像文件启动容器的详细过程可以参见实施例1-5中任意一个实施例中的相关介绍,在此不再赘述。162.本实施例中,容器集群管理系统可以为但不局限于:kubernetes,如图9所示,kubernetes可以包括:scheduler(调度组件)、imagecontroller(控制组件)、apiserver(接口组件)和etcdimagetable(镜像注册表信息),scheduler可以提供调度服务,具体可以调用获取镜像文件;imagecontroller可以调用apiserver,从至少一个运行节点中确定各子镜像文件对应的存储节点,并记录etcdimagetable;schedule可以从至少一个运行节点(如图9中node1、node2、node3和node4)中确定出目标运行节点(如图9中node4),并调用apiserver向目标运行节点发送调度指令。163.如图9所示,对应kubernetes,目标运行节点可以包括kubelet、docker和imagerepository(本地数据库),kubelet可以响应控制节点的调度指令,调用目标运行节点的接口组件从控制节点的etcdimagetable中获取镜像文件的文件分布信息,将镜像文件的文件分布信息更新到目标运行节点的imagerepository中,kubelet调用docker从imagerepository中获取文件分布信息,以及基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件,及基于至少一个子镜像文件启动pod(即,一个容器或一组容器)。具体地,文件分布信息包括node1、node2和node3的信息,node4基于node1、node2的信息和node3的信息,从node1、node2和node3获得子镜像文件,得到至少一个子镜像文件,并基于至少一个子镜像文件启动pod。164.需要说明的是,kubernetes中每个运行节点均包括kubelet、docker和imagerepository,如图9中node1、node2、node3和node4中均包括kubelet、docker和imagerepository。165.接下来对本技术提供的运行节点进行介绍,下文介绍的运行节点与上文介绍的镜像文件共享方法可相互对应参照。166.请参见图10,运行节点可以包括:处理组件100和存储组件200。167.存储组件,用于至少存储一组指令集;168.处理组件,用于调用并执行第一存储组件中的指令集,通过执行指令集执行如实施例1-4中任意一个实施例所介绍的镜像文件共享方法。169.在本技术的另一个实施例中,提供一种控制节点,请参见图11,控制节点包括:控制组件300和调度组件400。170.控制组件300,可以用于:171.获取镜像文件,镜像文件包括至少一个子镜像文件;172.确定各子镜像文件对应的存储节点,存储节点属于至少一个运行节点;173.记录镜像注册表信息,镜像注册表信息中至少包含镜像文件的文件分布信息,文件分布信息包括:各子镜像文件对应的存储节点的信息;174.调度组件400,可以用于从至少一个运行节点中确定出目标运行节点,以使得目标运行节点从控制节点获得镜像文件的文件分布信息,基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件,基于至少一个子镜像文件启动容器。175.在本技术的另一个实施例中,提供一种容器集群管理系统,请参见图12,容器集群管理系统包括:控制节点10和至少一个运行节点20。176.控制节点10,可以用于:177.获取镜像文件,镜像文件包括至少一个子镜像文件;178.从至少一个运行节点20中确定各子镜像文件对应的存储节点,存储节点属于至少一个运行节点20;179.记录镜像注册表信息,镜像注册表信息中至少包含镜像文件的文件分布信息,文件分布信息包括:各子镜像文件对应的存储节点的信息;180.从至少一个运行节点20中确定出目标运行节点;181.目标运行节点,可以用于:182.从控制节点获得镜像文件的文件分布信息,镜像文件包括至少一个子镜像文件,文件分布信息包括:各子镜像文件对应的存储节点的信息,存储节点属于至少一个运行节点;183.基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件;184.基于至少一个子镜像文件启动容器。185.本实施例中,若至少一个运行节点的个数不小于至少一个子镜像文件的个数,不同子镜像文件对应的存储节点不同。186.本实施例中,目标运行节点还可以用于:187.将文件分布信息更新到运行节点的数据库中;188.相应地,目标运行节点基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件的过程,具体可以包括:189.从运行节点的数据库中,获取文件分布信息;190.基于文件分布信息,从子镜像文件对应的存储节点获得子镜像文件,得到至少一个子镜像文件。191.本实施例中,目标运行节点,还可以用于:192.响应于第一触发事件,若各子镜像文件对应的存储节点不包含运行节点,从运行节点中删除至少一个所述子镜像文件,第一触发事件与在启动容器之后,执行与容器关联的操作相关。193.本实施例中,目标运行节点,还可以用于:194.响应于第二触发事件,若各子镜像文件对应的存储节点包含运行节点,从运行节点中删除至少一个第二子镜像文件;195.其中,至少一个第一子镜像文件存储在运行节点中,至少一个第二子镜像文件存储在不同于运行节点的第一运行节点中,至少一个第一子镜像文件和至少一个第二子镜像文件组成镜像文件。196.需要说明的是,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。197.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。198.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。199.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本技术各个实施例或者实施例的某些部分所述的方法。200.以上对本技术所提供的一种镜像文件共享方法、容器集群管理系统及相关设备进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献