当前位置: 首页 > 专利查询>红帽公司专利>正文

使用基于存储库的策略重置镜像层制造技术

技术编号:39183203 阅读:9 留言:0更新日期:2023-10-27 08:30
一种对容器的镜像层执行重置动作的系统和方法。该方法包括接收第一容器的镜像更新可用的第一指示。第一容器包括基层和一个或多个第一层。该方法包括响应于接收到第一指示,基于镜像更新来更新基层以创建更新的基层。该方法包括由处理设备使用更新的基层重置一个或多个第一层以创建一个或多个重置的第一层。该方法包括将一个或多个重置的第一层存储在存储库中以重用于更新第二容器。储库中以重用于更新第二容器。储库中以重用于更新第二容器。

【技术实现步骤摘要】
使用基于存储库的策略重置镜像层


[0001]本公开总体上涉及容器,并且更具体地,涉及通过重置(rebase)镜像层来更新容器。

技术介绍

[0002]容器是在操作系统上执行的活动组件,其为应用提供运行环境,同时与主机、网络或数据中心等的任何其他组件隔离。多个容器可以在单个操作系统内核上执行并共享操作系统正在其上运行的硬件的资源。在容器中运行应用所需的所有文件、库和依赖性可以由容器镜像提供。
[0003]虚拟机和容器之间的主要区别在于虚拟机旨在被维护和更新,而容器旨在被重建。然而,容器现在是部署策略的一部分,并且比它们预期的短期性质寿命更长。因此,容器保持运行得越多,容器可能变得越过时。因此,容器包含安全漏洞的风险越高。
附图说明
[0004]通过结合附图参考以下说明书,可以最好地理解所描述的实施例及其优点。在不脱离所描述的实施例的精神和范围的情况下,这些附图决不限制本领域技术人员可以对所描述的实施例进行的形式和细节上的任何改变。
[0005]图1是示出根据本公开的一些实施例的示例系统的框图。
[0006]图2A是示出根据一些实施例的图1中的计算设备的示例的框图。
[0007]图2B示出了根据本公开的一些实施例的在图2A中的计算设备中执行的容器的实例。
[0008]图3是示出根据本公开的一些实施例的在图2A中的计算设备中重置容器的一个或多个镜像层的示例的框图。
[0009]图4是示出根据本公开的一些实施例的在图2A中的计算设备中重置容器的一个或多个镜像层的过程的示例的框图。
[0010]图5A和图5B是根据本公开的一些实施例的重置容器的一个或多个镜像层的方法的流程图。
[0011]图6是根据本公开的一些实施例的可以执行本文描述的一个或多个操作的示例计算设备的框图。
具体实施方式
[0012]虚拟机和容器之间的二分法是前者旨在被维护和更新,而后者旨在被重建。容器可具有一个或多个层或镜像层。当容器内存在新版本的层或镜像层时,整个容器需要从地上(ground up)重建。然而,容器现在是部署策略的一部分,并且比它们预期的短期性质寿命更长。容器保持运行得越多,容器可能变得越过时。因此,容器包含安全漏洞的风险越高。长期保持运行容器并有效地处理容器的更新是具有挑战性的。
[0013]存在诸如Kubernetest
TM
或OpenShift
TM
的工具,其可以帮助管理容器的车队(fleet)。然而,从生命周期管理的角度来看,这些工具是昂贵的并且被设计用于管理成百上千个容器。在仅存在少量容器并且这些容器可能不会经常更换的情况下,由于高开销,可能不会部署诸如Kubernetest
TM
或OpenShift
TM
的工具。因此,少量容器具有变得过时并且在容器内的各个层处包含安全漏洞的风险。
[0014]本公开通过响应于新的基本镜像或容器更新可用而执行重置动作以重置容器的镜像层,而不是重建整个容器,来解决上述和其他缺陷。存在诸如静态分析工具或主动服务ping的机制来发送容器的镜像更新可用的指示。一旦接收到指示,就可以更新容器的基层以创建新的基层。然后,可以对下一层执行重置动作,类似于面向GIT的世界中那样。例如,可以将下一层的功能和内容集成到新的基层中以创建第一级更新,其是重置的层(新的基层+下一层)。可以例如通过使用存储库命令将重置的层存储在存储库中,以供在计算系统中的其他地方重用。可以对以后续层重复相同的过程以创建更多的重置的层。作为新基层与一个或多个层的集成或组合的重置的层可以存储在存储库中以重用于更新计算系统中的其他容器。为了更新可能具有相同服务可以在其中执行的相同层的其他容器需要更新,可以从存储库中检索并重用所存储的重置的层。以这种方式,可以节省计算开销。可以在本地计算设备中而不是在远程服务器中节省重置的层,从而可以节省网络往返和计算资源。因此,本公开的实施例减少了更新容器所需的联网资源量,以及减少了整个网络基础设施的网络拥塞和功耗。
[0015]图1是示出根据本公开的一些实施例的示例系统100的框图。如图1所示,系统100包括计算设备120、注册服务器130和网络140。计算设备120和注册服务器130可以经由网络140彼此耦合(例如,可以可操作地耦合、通信地耦合、可以彼此通信数据/消息)。网络140可以是公共网络(例如,因特网)、专用网络(例如,局域网(LAN)或广域网(WAN))或其组合。在一个实施例中,网络140可以包括有线或无线基础设施,其可以由一个或多个无线通信系统提供,诸如与网络140连接的WiFI
TM
热点和/或可以使用各种数据处理设备、通信塔(例如,蜂窝塔)等实现的无线载波系统。网络140可以承载计算设备120和注册服务器130之间的通信(例如,数据、消息、分组、帧等)。计算设备120(和注册服务器130)可以包括诸如处理设备102(例如,处理器、中央处理单元(CPU))、存储器(例如,随机存取存储器(RAM)、存储设备(例如,硬盘驱动器(HDD))和固态驱动器(SSD)等)的硬件,以及其他硬件设备(例如,声卡、视频卡等)。存储设备可以包括能够存储数据的持久性存储。持久性存储可以是本地存储单元或远程存储单元。持久性存储可以是磁存储单元、光存储单元、固态存储单元、电子存储单元(主存储器)或类似的存储单元。持久性存储还可以是单片/单个设备或分布式设备集。
[0016]通信网络140可以是公共网络(例如,互联网)、专用网络(例如,局域网(LAN)或广域网(WAN))或其组合。在一个实施例中,通信网络140可以包括有线或无线基础设施,其可以由一个或多个无线通信系统提供,诸如到通信网络140的无线保真(Wi

Fi)连接和/或可以使用各种数据处理设备、通信塔(例如,蜂窝塔)等实现的无线载波系统。通信网络140可以承载任何其他计算设备之间的通信(例如,数据、消息、分组、帧等)。
[0017]计算设备120和注册服务器130可以包括具有可编程处理器的任何合适类型的计算设备或机器,包括例如服务器计算机、台式计算机、膝上型计算机、平板计算机、智能电话、机顶盒等。在一些示例中,计算设备120和注册服务器130可以包括单个机器或可以包括
多个互连的机器(例如,配置在集群中的多个服务器)。计算设备120和注册服务器130可以由共同的实体/组织实现,或者可以由不同的实体/组织实现。例如,计算设备120可以由第一公司/企业操作,并且注册服务器130可以由第二公司/企业操作。计算设备120和注册服务器130可以各自执行或包括操作系统(OS)。计算设备120和注册服务器130的OSS可以管理其他组件(例如,软件、应用等)的执行和/或可以管理对计算设备的硬件(例如,处理器、存储器、存储设备等)的访问。
[0018]如图1所示,计算设备120可以运行一个或多个容器,例如容器111。在一些实施例中,容器111可以在容器引擎上本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收第一容器的镜像更新可用的第一指示,所述第一容器包括基层和一个或多个第一层;响应于接收到所述第一指示,基于所述镜像更新来更新所述基层以创建更新的基层;由处理设备使用所述更新的基层来重置所述一个或多个第一层以创建一个或多个重置的第一层;以及将所述一个或多个重置的第一层存储在存储库中以重用于更新第二容器。2.根据权利要求1所述的方法,其中,所述重置所述一个或多个第一层包括:将所述一个或多个第一层中的每个第一层与所述更新的基层集成以创建相应的重置的第一层。3.根据权利要求2所述的方法,其中,所述重置所述一个或多个第一层还包括:将每个第一层与先前层的至少一个重置的第一层集成以创建所述相应的重置的第一层,并且其中每个重置的第一层包括第一层、所述先前层的所述至少一个重置的第一层和所述更新的基层的集成。4.根据权利要求1所述的方法,其中,存储库命令用于将所述一个或多个重置的第一层存储在所述存储库中。5.根据权利要求1所述的方法,其中,所述一个或多个重置的第一层中的每个重置的第一层与唯一标识符相关联。6.根据权利要求1所述的方法,还包括:接收所述第二容器的镜像更新可用的第二指示,所述第二容器包括所述基层和一个或多个第二层。7.根据权利要求6所述的方法,还包括:确定在所述存储库中存在所述至少一个重置的第二层,其中所述至少一个重置的第二层与至少一个重置的第一层相匹配,并且其中所述至少一个重置的第二层对应于与至少一个第一层相同的至少一个第二层;从所述存储库检索所述至少一个重置的第一层;以及基于从所述存储库检索到的所述至少一个重置的第一层来更新所述至少一个第二层。8.一种系统,包括:存储器;以及处理设备,所述处理设备可操作地耦合到所述存储器,所述处理设备:接收第一容器的镜像更新可用的第一指示,所述第一容器包括基层和一个或多个第一层;响应于接收到所述第一指示,基于所述镜像更新来更新所述基层以创建更新的基层;使用所述更新的基层来重置所述一个或多个第一层以创建一个或多个重置的第一层;以及将所述一个或多个重置的第一层存储在存储库中以重用于更新第二容器。9.根据权利要求8所述的系统,其中,所述处理设备:将所述一个或多个第一层中的每个第一层与所述更新的基层集成以创建相应的重置的第一层。
10.根据权利要求9所述的系统,其中,所述处理设备还:将每个第一层与先前层的至少一个重置的第一层集成以创建所述相应的重置的第一层,并且其中每个重置的第一层包括第一层、所述先前层的所述至少一个重置的第一层和所述更新的基层的集成。11.根据权利要求8所述的系统,其中,存储库命令用于将所...

【专利技术属性】
技术研发人员:PY奇邦L格里芬
申请(专利权)人:红帽公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1