CN112559115A - 一种容器镜像的删除方法、装置及设备 - Google Patents

一种容器镜像的删除方法、装置及设备 Download PDF

Info

Publication number
CN112559115A
CN112559115A CN201910911911.2A CN201910911911A CN112559115A CN 112559115 A CN112559115 A CN 112559115A CN 201910911911 A CN201910911911 A CN 201910911911A CN 112559115 A CN112559115 A CN 112559115A
Authority
CN
China
Prior art keywords
container
image
mirror image
target
deleted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910911911.2A
Other languages
English (en)
Inventor
张敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910911911.2A priority Critical patent/CN112559115A/zh
Publication of CN112559115A publication Critical patent/CN112559115A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)

Abstract

本申请提供一种容器镜像的删除方法、装置及设备,该方法包括:从主机存在的多个容器镜像中选择至少一个目标容器镜像;根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;对待删除容器镜像进行删除操作。通过本申请的技术方案,能够对主机的容器镜像进行删除操作,节省存储资源。

Description

一种容器镜像的删除方法、装置及设备
技术领域
本申请涉及通信技术领域,尤其是一种容器镜像的删除方法、装置及设备。
背景技术
随着云计算技术的不断成熟,容器技术逐步成为业界的发展热点,各主流云计算平台均提供容器服务。容器镜像是容器服务的重要组成部分,容器镜像是用于打包应用程序的运行环境的文件包,也就是说,通过镜像方式将应用程序的运行环境进行打包,得到容器镜像。然后,将容器镜像分发到真实运行的主机,而主机通过加载容器镜像对外提供服务。当需要更新应用程序时,重新对应用程序的运行环境进行打包,得到新容器镜像,并将新容器镜像分发到主机,以此类推,每次更新应用程序时,均会将新容器镜像分发到主机。
显然,随着应用程序的不断更新,在主机上下发的容器镜像也会越来越多,这些容器镜像会占用主机的大量存储资源,导致主机的可用的存储资源越来越少,甚至导致主机没有可用的存储资源,使得主机无法对外提供服务。
发明内容
本申请提供一种容器镜像的删除方法,所述方法包括:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;对所述待删除容器镜像进行删除操作。
本申请提供一种容器镜像的删除方法,所述方法包括:
资源检查器在到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
如果是,镜像选择器从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;镜像清理器对所述待删除容器镜像进行删除操作。
本申请提供一种容器镜像的删除方法,所述方法包括:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
从所述至少一个目标容器镜像中选择待删除容器镜像;
对所述待删除容器镜像进行删除操作。
本申请提供一种容器镜像的删除装置,所述装置包括:
选择模块,用于从主机存在的多个容器镜像中选择至少一个目标容器镜像;根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;删除模块,用于对所述待删除容器镜像进行删除操作。
本申请提供一种容器镜像的删除装置,所述装置包括:
资源检查器,用于在到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
镜像选择器,用于当所述资源检查器的判断结果为执行容器镜像的删除操作时,则从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
镜像清理器,用于对所述待删除容器镜像进行删除操作。
本申请提供一种容器镜像的删除设备,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;对所述待删除容器镜像进行删除操作。
基于上述技术方案,本申请实施例中,能够对主机的容器镜像进行删除操作,节省主机的存储资源。在不影响主机正常运行的情况下,将容器镜像占用的存储资源回收,解决容器镜像占用存储空间导致的存储空间不足问题,避免存储空间不足带来的运行故障问题,而且能够删除最需要清理的容器镜像。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的容器镜像的删除方法的流程示意图;
图2是本申请另一种实施方式中的容器镜像的删除方法的流程示意图;
图3是本申请一种实施方式中的容器镜像的删除操作的应用场景示意图;
图4是本申请另一种实施方式中的容器镜像的删除方法的流程示意图;
图5是本申请一种实施方式中的容器镜像的删除装置的结构示意图;
图6是本申请一种实施方式中的容器镜像的删除设备的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种容器镜像的删除方法,可以应用于容器镜像的删除设备(如存在多个容器镜像的主机),容器镜像是用于打包应用程序的运行环境的文件包。参见图1所示,为该方法的流程示意图,该方法可以包括:
步骤101,从主机存在的多个容器镜像中选择至少一个目标容器镜像。
具体的,从主机存在的多个容器镜像中选择未被使用的空闲容器镜像(如至少一个空闲容器镜像),并从空闲容器镜像中选择至少一个目标容器镜像。
可选地,可以预先配置白名单,所述白名单包括不能被删除的容器镜像(即主机需要保留的容器镜像)。基于此,可以从所有空闲容器镜像中排除所述白名单中的容器镜像,并从剩余的空闲容器镜像中选择至少一个目标容器镜像。
步骤102,根据目标容器镜像的特征参数从至少一个目标容器镜像中选择待删除容器镜像。例如,当存在一个目标容器镜像时,则可以将所述一个目标容器镜像作为待删除容器镜像。当存在至少两个目标容器镜像时,则可以基于每个目标容器镜像的特征参数,从所有目标容器镜像中选择待删除容器镜像。
具体的,根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。例如,在按照特征参数值从高到低的顺序对所述至少一个目标容器镜像进行排序时,则可以选择排序靠后的目标数量个目标容器镜像作为待删除容器镜像;在按照特征参数值从低到高的顺序对所述至少一个目标容器镜像进行排序时,则可以选择排序靠前的目标数量个目标容器镜像作为待删除容器镜像。
其中,特征参数可以包括但不限于以下之一或者任意组合:
最后一次使用时间(即目标容器镜像最后一次被容器使用的时间)、被引用次数(即目标容器镜像被容器使用的次数)、被删除次数(即目标容器镜像被删除的次数)、被下载次数(即目标容器镜像被下载的次数)。
在一个可能的实施方式中,针对每个目标容器镜像来说,当目标容器镜像的最后一次使用时间越靠后,则所述目标容器镜像的特征参数值越高。当目标容器镜像的被引用次数越多,则所述目标容器镜像的特征参数值越高。当目标容器镜像的被删除次数越多,则所述目标容器镜像的特征参数值越高。当目标容器镜像的被下载次数越多,则所述目标容器镜像的特征参数值越高。
其中,目标数量的确定方式包括:根据保留副本数确定目标数量;保留副本数表示需要保留的容器镜像数量。例如,目标数量为目标容器镜像的数量与保留副本数的差值。当然,上述方式只是确定目标数量的示例,对此不做限制。
步骤103,对待删除容器镜像进行删除操作。
具体的,根据各待删除容器镜像的大小确定各待删除容器镜像的删除顺序;基于各待删除容器镜像的删除顺序依次删除各待删除容器镜像。
例如,当待删除容器镜像越大时,则该待删除容器镜像的删除顺序越靠前,即越早被删除,因此,能够优先删除比较大的待删除容器镜像。
可选地,在一个例子中,步骤101之前,在每次到达容器镜像删除周期时,则根据主机的负载信息判断是否执行容器镜像的删除操作。如果是,则执行步骤101-步骤103的容器镜像删除过程。如果否,则等待到达下一个容器镜像删除周期,重新根据主机的负载信息判断是否执行容器镜像的删除操作。
在一个例子中,所述负载信息可以包括存储空间利用率和资源利用率,所述资源利用率可以包括但不限于以下之一或者任意组合:CPU资源利用率、内存资源利用率、带宽资源利用率。基于此,若所述存储空间利用率大于存储空间阈值,则可以确定执行容器镜像的删除操作。若所述存储空间利用率不大于所述存储空间阈值、且任一资源利用率大于资源阈值,则可以确定不执行容器镜像的删除操作。若所述存储空间利用率不大于所述存储空间阈值、且各资源利用率均不大于资源阈值,则可以确定执行容器镜像的删除操作。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,能够对主机的容器镜像进行删除操作,节省主机的存储资源。在不影响主机正常运行的情况下,将容器镜像占用的存储资源回收,解决容器镜像占用存储空间导致的存储空间不足问题,避免存储空间不足带来的运行故障问题,而且能够删除最需要清理的容器镜像。
基于与上述方法同样的申请构思,本申请实施例提出另一种容器镜像的删除方法,可以应用于容器镜像的删除设备,该设备包括资源检查器、镜像选择器和镜像清理器,参见图2所示,为该方法的流程示意图,该方法可以包括:
步骤201,资源检查器在每次到达容器镜像删除周期时,则根据主机的负载信息判断是否执行容器镜像的删除操作。如果否,则等待到达下一个容器镜像删除周期,重新执行步骤201;如果是,则执行步骤202。
在一个例子中,负载信息可以包括存储空间利用率和资源利用率,资源利用率可以包括但不限于以下之一或者任意组合:CPU资源利用率、内存资源利用率、带宽资源利用率。基于此,若存储空间利用率大于存储空间阈值,则资源检查器确定执行容器镜像的删除操作。若存储空间利用率不大于所述存储空间阈值、且任一资源利用率大于资源阈值,则资源检查器确定不执行容器镜像的删除操作。若存储空间利用率不大于所述存储空间阈值、且各资源利用率均不大于资源阈值,则资源检查器确定执行容器镜像的删除操作。
步骤202,镜像选择器从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像。
镜像选择器从主机存在的多个容器镜像中选择至少一个目标容器镜像,包括:镜像选择器从主机存在的多个容器镜像中选择未被使用的空闲容器镜像,并从空闲容器镜像中选择至少一个目标容器镜像。
例如,可以预先配置白名单,所述白名单包括不能被删除的容器镜像(即主机需要保留的容器镜像)。基于此,镜像选择器从所有空闲容器镜像中排除白名单中的容器镜像,并从剩余的空闲容器镜像中选择至少一个目标容器镜像。
镜像选择器根据目标容器镜像的特征参数从至少一个目标容器镜像中选择待删除容器镜像,可以包括:镜像选择器根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;镜像选择器基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。
在一个例子中,特征参数包括但不限于以下之一或者任意组合:最后一次使用时间、被引用次数、被删除次数、被下载次数。目标数量的确定方式包括:根据保留副本数确定目标数量;保留副本数表示需要保留的容器镜像数量。
步骤203,镜像清理器对所述待删除容器镜像进行删除操作。
具体的,镜像清理器根据各待删除容器镜像的大小确定各待删除容器镜像的删除顺序;基于各待删除容器镜像的删除顺序依次删除各待删除容器镜像。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,能够对主机的容器镜像进行删除操作,节省主机的存储资源。在不影响主机正常运行的情况下,将容器镜像占用的存储资源回收,解决容器镜像占用存储空间导致的存储空间不足问题,避免存储空间不足带来的运行故障问题,而且能够删除最需要清理的容器镜像。
基于与上述方法同样的申请构思,本申请实施例中提出另一种容器镜像的删除方法,该方法可以应用于容器镜像的删除设备(如存在多个容器镜像的主机),容器镜像是用于打包应用程序的运行环境的文件包,该方法可以包括:
从主机存在的多个容器镜像中选择至少一个目标容器镜像。
从至少一个目标容器镜像中选择待删除容器镜像;例如,当存在一个目标容器镜像时,将该目标容器镜像作为待删除容器镜像;当存在至少两个目标容器镜像时,基于每个目标容器镜像的特征参数,从所有目标容器镜像中选择待删除容器镜像。
对待删除容器镜像进行删除操作。
以下结合具体应用场景,对上述容器镜像的删除方法进行详细说明。
容器镜像是用于打包应用程序的运行环境的文件包,通过镜像方式将应用程序的运行环境进行打包,得到容器镜像。例如,容器镜像包括基础环境文件、资源文件、代码可执行文件、库文件等,对容器镜像的内容不做限制。在得到容器镜像后,将容器镜像分发到真实运行的主机,而主机通过加载容器镜像对外提供服务。当需要更新应用程序时,重新对应用程序的运行环境进行打包,得到新容器镜像,并将新容器镜像分发到主机,以此类推,每次更新应用程序时,均会将新容器镜像分发到主机。显然,随着应用程序的不断更新,在主机上下发的容器镜像越来越多,这些容器镜像会占用主机的大量存储资源。
本申请实施例中,能够对主机的容器镜像进行删除操作,节省主机的存储资源,在不影响主机正常运行的情况下,将容器镜像占用的存储资源回收。
例如,CDN(Content Delivery Network,内容分发网络)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的CDN节点,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN节点包括内容缓存设备、内容交换机、内容路由器等。为了提高各CDN节点的资源利用率,可以在各CDN节点部署容器镜像,通过这些容器镜像实现与CDN有关的服务。
基于上述应用场景,CDN节点可以是本实施例中的主机,CDN节点通过加载容器镜像对外提供与CDN有关的服务。本实施例中,能够对CDN节点的容器镜像进行删除操作,节省CND节点的存储资源,在不影响CND节点正常运行的情况下,将容器镜像占用的存储资源回收,具体的容器镜像删除过程参见后续实施例,在后续实施例中,可以将CND节点记为主机。
又例如,物联网技术的快速发展和云服务的推动,目前提出一种新型计算模型,即边缘计算,边缘计算是指在网络边缘来处理数据,减少请求响应时间、提升电池续航能力、减少网络带宽、同时保证数据的安全性和私密性。例如,在云卸载、智能家居、智慧城市等场景中,均可以由边缘计算节点实现,边缘计算节点包括路由器、交换机等。为了提高边缘计算节点的资源利用率,可以在边缘计算节点部署容器镜像,通过这些容器镜像实现与边缘计算有关的服务。
基于上述应用场景,边缘计算节点可以是本实施例中的主机,边缘计算节点通过加载容器镜像对外提供与边缘计算有关的服务。本实施例中,能够对边缘计算节点的容器镜像进行删除操作,节省边缘计算节点的存储资源,在不影响边缘计算节点正常运行的情况下,将容器镜像占用的存储资源回收,具体的容器镜像删除过程参见后续实施例,后续实施例将边缘计算节点记为主机。
参见图3所示,为本申请实施例的应用场景示意图,本申请实施例提出一种容器镜像的删除方法,可以应用于容器镜像的删除设备(如存在多个容器镜像的主机),该设备可以包括资源检查器、镜像选择器和镜像清理器。
在一个例子中,在启动容器镜像的删除操作之前,可以预先配置如下参数:
1、保留副本数,表示需要保留的容器镜像数量,通过保留副本数解决容器镜像的版本回滚问题。例如,保留副本数为3,表示主机需要保留3个容器镜像。
具体的,当前不再使用的容器镜像不一定是适合回收的容器镜像,可能存在版本回退的场景,即可能回退到老版本的容器镜像,如果老版本的容器镜像被回收,那么需要重新下载老版本的容器镜像,降低了回退场景的效率。
针对上述发现,可以预先配置保留副本数(如3),使得主机保留3个容器镜像,如果需要回退到老版本的容器镜像,那么,在所述3个容器镜像中会存在老版本的容器镜像,避免重新下载老版本的容器镜像,提高回退场景的效率。
2、白名单(即容器镜像白名单),白名单包括不能被删除的容器镜像(即主机需要保留的容器镜像),通过白名单避免基础容器镜像被删除。例如,白名单包括容器镜像1和容器镜像2,表示容器镜像1和容器镜像2不能被删除。
具体的,有些容器镜像被其它容器镜像共享,将这些容器镜像称为基础容器镜像。例如,假设容器镜像3的运行过程中,需要调用容器镜像1实现相关处理,容器镜像4的运行过程中,也需要调用容器镜像1实现相关处理,那么,可以将容器镜像1称为基础容器镜像,且容器镜像1不适合频繁的删除。
针对上述发现,可以预先配置白名单,且白名单可以包括不能被删除的容器镜像(即基础容器镜像),这样,可以避免基础容器镜像被删除,即保留基础容器镜像。例如,白名单包括容器镜像1,避免容器镜像1被删除。
3、负载阈值,如存储空间阈值、CPU资源阈值、内存资源阈值、带宽资源阈值等。通过负载阈值避免主机在高负载的情况下进行容器镜像的清理。
具体的,容器镜像的删除过程,会对主机造成一定的资源开销,如果主机当前的负载比较高,那么,容器镜像的删除操作会加剧主机的高负载问题。
针对上述发现,为了避免在高负载情况下进行容器镜像的删除操作,则可以配置存储空间阈值(如存储空间利用率阈值80%,表示被使用的存储空间是总存储空间的80%)、CPU资源阈值(如CPU资源利用率阈值80%,表示被使用的CPU资源是总CPU资源的80%)、内存资源阈值(如内存资源利用率阈值80%,表示被使用的内存资源是总内存资源的80%)、带宽资源阈值(如带宽资源利用率阈值80%,表示被使用的带宽资源是总带宽资源的80%)。
当存储空间利用率大于存储空间阈值时,则可以进行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、CPU资源利用率大于CPU资源阈值时,则可以不进行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、内存资源利用率大于内存资源阈值时,则可以不进行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、带宽资源利用率大于带宽资源阈值时,则可以不进行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、CPU资源利用率不大于CPU资源阈值、内存资源利用率不大于内存资源阈值、且带宽资源利用率不大于带宽资源阈值时,则可以进行容器镜像的删除操作。
基于上述参数,参见图4所示,容器镜像的删除方法可以包括以下步骤:
步骤401,资源检查器在每次到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作。如果否,则可以等待到达下一个容器镜像删除周期,重新执行步骤401;如果是,则可以执行步骤402。
具体的,可以为资源检查器设置定时器,定时器的超时时间可以根据经验配置,定时器每次超时,表示到达容器镜像删除周期,资源检查器开始收集主机的负载信息,并根据主机的负载信息判断是否执行容器镜像的删除操作。
负载信息包括但不限于:存储空间利用率、CPU资源利用率、内存资源利用率、带宽资源利用率。当存储空间利用率大于存储空间阈值时,资源检查器确定执行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、CPU资源利用率大于CPU资源阈值时,资源检查器确定不执行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、内存资源利用率大于内存资源阈值时,资源检查器确定不执行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、带宽资源利用率大于带宽资源阈值时,资源检查器确定不执行容器镜像的删除操作。当存储空间利用率不大于存储空间阈值、CPU资源利用率不大于CPU资源阈值、内存资源利用率不大于内存资源阈值、且带宽资源利用率不大于带宽资源阈值时,资源检查器确定执行容器镜像的删除操作。
步骤402,镜像选择器从主机存在的多个容器镜像(即主机存在的所有容器镜像)中选择未被使用的空闲容器镜像,如至少一个空闲容器镜像。
具体的,主机可以包括镜像列表和容器列表,镜像列表包括主机存在的所有容器镜像,如容器镜像1-容器镜像10,容器列表包括正在被使用的容器镜像,如容器镜像9和容器镜像10。因此,镜像列表中存在、且容器列表中不存在的容器镜像,就是未被使用的空闲容器镜像,如容器镜像1-容器镜像8。
步骤403,镜像选择器从空闲容器镜像中选择目标容器镜像,目标容器镜像的数量可以为一个或者至少两个,后续以至少两个目标容器镜像为例。
具体的,镜像选择器从所有空闲容器镜像中排除白名单中的容器镜像,从剩余的空闲容器镜像中选择目标容器镜像,例如,将剩余的空闲容器镜像均作为目标容器镜像,或将剩余的空闲容器镜像的部分容器镜像作为目标容器镜像。
例如,空闲容器镜像包括容器镜像1-容器镜像8,白名单中的容器镜像包括容器镜像1和容器镜像2,在从所有空闲容器镜像(容器镜像1-容器镜像8)中排除白名单中的容器镜像(容器镜像1和容器镜像2)后,剩余的空闲容器镜像为容器镜像3-容器镜像8,因此,将容器镜像3-容器镜像8作为目标容器镜像。
步骤404,镜像选择器根据每个目标容器镜像的特征参数对所有目标容器镜像进行排序。具体的,可以根据每个目标容器镜像的特征参数确定该目标容器镜像的特征参数值,并根据特征参数值对所有目标容器镜像进行排序。
其中,目标容器镜像的特征参数也可以称为目标容器镜像的活跃度参数,也就是说,通过目标容器镜像的特征参数表示目标容器镜像的活跃度。
该特征参数可以包括但不限于以下之一或者任意组合:最后一次使用时间、被引用次数、被删除次数、被下载次数。其中,针对每个目标容器镜像来说,当目标容器镜像的最后一次使用时间越靠后,则目标容器镜像的特征参数值越高。当目标容器镜像的被引用次数越多,则目标容器镜像的特征参数值越高。当目标容器镜像的被删除次数越多,则目标容器镜像的特征参数值越高。当目标容器镜像的被下载次数越多,则目标容器镜像的特征参数值越高。
例如,目标容器镜像的特征参数值可以采用如下方式确定:A1*B1+A2*B2+A3*B3+A4*B4,A1为最后一次使用时间的权重,A2为被引用次数的权重,A3为被删除次数的权重,A4为被下载次数的权重,A1、A2、A3和A4均可以根据经验配置,对此不做限制。B1是最后一次使用时间对应的数值,最后一次使用时间距离当前时间越近,则B1的值越大,最后一次使用时间距离当前时间越远,则B1的值越小,B2为被引用次数,B3为被删除次数,B4为被下载次数。
当然,上述特征参数值的确定方式只是示例,还可以采用其它方式确定目标容器镜像的特征参数值,只要目标容器镜像的特征参数值与目标容器镜像的最后一次使用时间、目标容器镜像的被引用次数、目标容器镜像的被删除次数、目标容器镜像的被下载次数中的至少一个有关即可,对此不做限制。
在确定每个目标容器镜像的特征参数值后,可以根据每个目标容器镜像的特征参数值对所有目标容器镜像进行排序,特征参数值越高,则目标容器镜像作为待删除容器镜像的概率越低。例如,按照特征参数值从高到低的顺序对所有目标容器镜像进行排序,或者,按照特征参数值从低到高的顺序对所有目标容器镜像进行排序。
步骤405,镜像选择器基于所有目标容器镜像的排序结果,从所有目标容器镜像中选择特征参数值低的目标数量个目标容器镜像作为待删除容器镜像。
例如,在按照特征参数值从高到低的顺序对所有目标容器镜像进行排序时,镜像选择器可以选择排序靠后的目标数量个目标容器镜像作为待删除容器镜像;在按照特征参数值从低到高的顺序对所有目标容器镜像进行排序时,镜像选择器可以选择排序靠前的目标数量个目标容器镜像作为待删除容器镜像。
其中,目标数量的确定方式可以包括:根据保留副本数确定目标数量。例如,目标数量为目标容器镜像的数量与保留副本数的差值。例如,保留副本数为3,目标容器镜像(即容器镜像3-容器镜像8)的数量为6,则目标数量为3。
当然,上述方式只是确定目标数量的示例,对此不做限制。
步骤406,镜像选择器根据每个待删除容器镜像的大小确定所有待删除容器镜像的删除顺序;例如,当待删除容器镜像越大时,则该待删除容器镜像的删除顺序越靠前,即越早被删除,因此,能够优先删除比较大的待删除容器镜像。
具体的,由于不同的待删除容器镜像占用的磁盘空间大小不同,当存储空间不足时,若先删除占用空间大的待删除容器镜像,则能够尽快解决磁盘空间不足导致的程序异常问题。基于此,可以根据每个待删除容器镜像的大小确定所有待删除容器镜像的删除顺序,当待删除容器镜像越大时,则该待删除容器镜像的删除顺序越靠前,从而能够优先删除比较大的待删除容器镜像。
步骤407,镜像清理器基于各待删除容器镜像的删除顺序依次删除各待删除容器镜像,例如,当待删除容器镜像越大时,则该待删除容器镜像的删除顺序越靠前,这样,镜像清理器基于删除顺序优先删除比较大的待删除容器镜像。
镜像清理器可以通过调用容器管理引擎(如pouch-container)对待删除容器镜像进行删除操作,对此删除过程不做限制,只要能够删除容器镜像即可。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于与上述方法同样的申请构思,本申请实施例提供一种容器镜像的删除装置(即镜像回收装置),如图5所示,为所述装置的结构图,所述装置包括:
选择模块51,用于从主机存在的多个容器镜像中选择至少一个目标容器镜像;根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
删除模块52,用于对所述待删除容器镜像进行删除操作。
所述选择模块51从主机存在的多个容器镜像中选择至少一个目标容器镜像时具体用于:从主机存在的多个容器镜像中选择未被使用的空闲容器镜像;
从所述空闲容器镜像中选择至少一个目标容器镜像。
所述选择模块51从所述空闲容器镜像中选择至少一个目标容器镜像时具体用于:从所述空闲容器镜像中排除白名单中的容器镜像,并从剩余的空闲容器镜像中选择至少一个目标容器镜像;所述白名单包括不能被删除的容器镜像。
所述选择模块51根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像时具体用于:
根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;
基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。
所述删除模块52对所述待删除容器镜像进行删除操作时具体用于:
根据各待删除容器镜像的大小确定各待删除容器镜像的删除顺序;
基于各待删除容器镜像的删除顺序依次删除各待删除容器镜像。
基于与上述方法同样的申请构思,本申请实施例提供一种容器镜像的删除装置(即镜像回收装置),所述容器镜像的删除装置可以包括:
资源检查器,用于在到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
镜像选择器,用于当所述资源检查器的判断结果为执行容器镜像的删除操作时,则从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
镜像清理器,用于对所述待删除容器镜像进行删除操作。
基于与上述方法同样的申请构思,本申请实施例还提供一种容器镜像的删除设备,包括:处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;对所述待删除容器镜像进行删除操作。
本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令;所述计算机指令被执行时进行如下处理:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;对所述待删除容器镜像进行删除操作。
参见图6所示,为本申请实施例中的容器镜像的删除设备的结构图,所述容器镜像的删除设备可以包括:处理器61,网络接口62,总线63,存储器64。存储器64可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器64可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (16)

1.一种容器镜像的删除方法,其特征在于,所述方法包括:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
对所述待删除容器镜像进行删除操作。
2.根据权利要求1所述的方法,其特征在于,
所述从主机存在的多个容器镜像中选择至少一个目标容器镜像,包括:
从主机存在的多个容器镜像中选择未被使用的空闲容器镜像;
从所述空闲容器镜像中选择至少一个目标容器镜像。
3.根据权利要求2所述的方法,其特征在于,
所述从所述空闲容器镜像中选择至少一个目标容器镜像,包括:
从所述空闲容器镜像中排除白名单中的容器镜像,并从剩余的空闲容器镜像中选择至少一个目标容器镜像;所述白名单包括不能被删除的容器镜像。
4.根据权利要求1所述的方法,其特征在于,所述根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像,包括:
根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;
基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述特征参数包括以下之一或者任意组合:
最后一次使用时间、被引用次数、被删除次数、被下载次数。
6.根据权利要求4所述的方法,其特征在于,目标数量的确定方式包括:根据保留副本数确定目标数量,所述保留副本数表示需要保留的容器镜像数量。
7.根据权利要求1所述的方法,其特征在于,
所述对所述待删除容器镜像进行删除操作,包括:
根据各待删除容器镜像的大小确定各待删除容器镜像的删除顺序;
基于各待删除容器镜像的删除顺序依次删除各待删除容器镜像。
8.根据权利要求1-4任一项所述的方法,其特征在于,所述从主机存在的多个容器镜像中选择至少一个目标容器镜像之前,所述方法还包括:
在到达容器镜像删除周期时,则根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
如果是,则执行从主机存在的多个容器镜像中选择至少一个目标容器镜像。
9.根据权利要求8所述的方法,其特征在于,
所述负载信息包括存储空间利用率和资源利用率,所述资源利用率包括以下之一或者任意组合:CPU资源利用率、内存资源利用率、带宽资源利用率;
所述根据主机的负载信息判断是否执行容器镜像的删除操作,包括:
若存储空间利用率大于存储空间阈值,则确定执行容器镜像的删除操作;
若存储空间利用率不大于存储空间阈值、且任一资源利用率大于资源阈值,则确定不执行容器镜像的删除操作;若存储空间利用率不大于存储空间阈值、且各资源利用率均不大于资源阈值,则确定执行容器镜像的删除操作。
10.一种容器镜像的删除方法,其特征在于,所述方法包括:
资源检查器在到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
如果是,镜像选择器从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
镜像清理器对所述待删除容器镜像进行删除操作。
11.根据权利要求10所述的方法,其特征在于,所述镜像选择器根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像,包括:
镜像选择器根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;
镜像选择器基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。
12.一种容器镜像的删除方法,其特征在于,所述方法包括:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
从所述至少一个目标容器镜像中选择待删除容器镜像;
对所述待删除容器镜像进行删除操作。
13.一种容器镜像的删除装置,其特征在于,所述装置包括:
选择模块,用于从主机存在的多个容器镜像中选择至少一个目标容器镜像;根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
删除模块,用于对所述待删除容器镜像进行删除操作。
14.根据权利要求13所述的装置,其特征在于,
所述选择模块根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像时具体用于:
根据各目标容器镜像的特征参数对所述至少一个目标容器镜像进行排序;
基于所述至少一个目标容器镜像的排序结果,从所述至少一个目标容器镜像中选择目标数量个目标容器镜像作为待删除容器镜像。
15.一种容器镜像的删除装置,其特征在于,所述装置包括:
资源检查器,用于在到达容器镜像删除周期时,根据主机的负载信息判断是否执行容器镜像的删除操作,如果否,则等待到达下一个容器镜像删除周期;
镜像选择器,用于当所述资源检查器的判断结果为执行容器镜像的删除操作时,则从主机存在的多个容器镜像中选择至少一个目标容器镜像,并根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
镜像清理器,用于对所述待删除容器镜像进行删除操作。
16.一种容器镜像的删除设备,其特征在于,包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
从主机存在的多个容器镜像中选择至少一个目标容器镜像;
根据目标容器镜像的特征参数从所述至少一个目标容器镜像中选择待删除容器镜像;
对所述待删除容器镜像进行删除操作。
CN201910911911.2A 2019-09-25 2019-09-25 一种容器镜像的删除方法、装置及设备 Pending CN112559115A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910911911.2A CN112559115A (zh) 2019-09-25 2019-09-25 一种容器镜像的删除方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910911911.2A CN112559115A (zh) 2019-09-25 2019-09-25 一种容器镜像的删除方法、装置及设备

Publications (1)

Publication Number Publication Date
CN112559115A true CN112559115A (zh) 2021-03-26

Family

ID=75029584

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910911911.2A Pending CN112559115A (zh) 2019-09-25 2019-09-25 一种容器镜像的删除方法、装置及设备

Country Status (1)

Country Link
CN (1) CN112559115A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116842001A (zh) * 2023-08-29 2023-10-03 合肥中科类脑智能技术有限公司 镜像数据清理方法、装置及电子设备、人工智能平台

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116842001A (zh) * 2023-08-29 2023-10-03 合肥中科类脑智能技术有限公司 镜像数据清理方法、装置及电子设备、人工智能平台

Similar Documents

Publication Publication Date Title
CN112269641B (zh) 一种调度方法、装置、电子设备及存储介质
CN106230997B (zh) 一种资源调度方法和装置
CN108153594B (zh) 一种人工智能云平台的资源碎片整理方法及电子设备
CN113051075A (zh) 一种Kubernetes智能化扩缩容的方法及装置
CN111213343B (zh) 一种主机升级方法及设备
CN111245732A (zh) 一种流量控制方法、装置及设备
CN113672375B (zh) 资源分配预测方法、装置、设备及存储介质
CN107294865B (zh) 一种软件交换机的负载均衡方法及软件交换机
CN112799596A (zh) 一种存储资源的扩容控制方法、装置及电子设备
CN113568586B (zh) 用于分布式图学习架构的数据存取方法及装置
CN112650449B (zh) 缓存空间的释放方法、释放系统、电子设备及存储介质
CN111857992B (zh) 一种Radosgw模块中线程资源分配方法和装置
CN112559115A (zh) 一种容器镜像的删除方法、装置及设备
CN113760549A (zh) 一种pod部署方法及装置
CN110795234A (zh) 一种资源调度方法及装置
CN116302453B (zh) 量子电子混合平台的任务调度方法及装置
CN108287761A (zh) 内存回收方法及装置、终端设备及计算机可读存储介质
CN112230936A (zh) 容器组的部署方法、装置及服务器
CN112231053A (zh) 一种负载均衡服务分配方法及装置
CN112631994A (zh) 数据迁移方法及系统
CN110377430B (zh) 数据迁移方法、设备、存储介质及装置
CN115964181A (zh) 一种数据处理的方法、装置、存储介质及电子设备
CN115714775A (zh) 一种负载均衡方法及装置
CN113986458A (zh) 容器集合调度方法、装置、设备及存储介质
CN115361349A (zh) 资源使用方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination