全部产品

使用镜像缓存创建实例

镜像缓存可以加速拉取镜像,减少ECI实例启动耗时。本文介绍如何通过弹性容器实例控制台和OpenAPI来创建镜像缓存,并使用镜像缓存创建ECI实例。

背景信息

在运行容器前,ECI需要先拉取您指定的容器镜像,但因网络和容器镜像大小等因素,镜像拉取耗时往往成了ECI实例启动的主要耗时。通过镜像缓存功能,可以提前拉取镜像,大大减少实例启动耗时。

镜像缓存涉及创建费用和使用费用,包括:

  • 创建镜像缓存的过程中,系统将自动创建一个ECI实例(2 vCPU、4 GiB内存)和一块ESSD PL1类型的云盘用于中转创建镜像缓存。创建完成后,该实例和云盘将自动释放并停止计费。

  • 系统将生成一份镜像缓存快照,快照按容量和使用时长收费,即镜像缓存的大小和保留时长。

  • 使用镜像缓存创建ECI实例时,系统将基于镜像缓存快照创建一块ESSD PL1类型的云盘,并自动挂载到创建的ECI实例上。即除了实例费用外,您还需要支付镜像缓存对应的云盘费用。

更多信息,请参见镜像缓存计费

使用镜像缓存加速创建ECI实例有以下两种方式:

  • 手动创建镜像缓存

    您可以根据需要创建镜像,然后使用镜像缓存来创建ECI实例。

  • 自动创建镜像缓存

    支持自动创建镜像缓存。开启该功能后,在创建ECI实例时,如果设置了自动匹配镜像缓存,则在未匹配到镜像缓存的情况下,系统会自动创建镜像缓存。您可以跳过创建镜像缓存的步骤,直接创建ECI实例。

    说明

    该功能默认关闭,如果需要,请提交工单开启。

如果您使用的是阿里云容器服务Kubernetes(ACK或ASK),支持通过CRD的方式使用镜像缓存,更多信息,请参见使用镜像缓存CRD加速创建Pod

创建镜像缓存

如果您开启了自动创建镜像缓存功能,可跳过该步骤直接创建ECI实例。

创建镜像缓存前,请了解以下信息:

  • 单个镜像缓存最多包含20个镜像,镜像缓存大小支持自定义设置。

  • 镜像缓存支持设置保留时长,过期后自动删除,该功能默认不启用,如需使用请设置保留天数。

    说明

    镜像缓存对应一份快照,保留镜像缓存需要支付相应的快照费用。对于不再使用的镜像缓存,如果在创建时未设置保留时长,建议您及时手动删除。

  • 如果所选的镜像为私有镜像(非阿里云容器镜像服务ACR托管的镜像),则需要提供私有镜像仓库的访问凭证,包括地址、用户名和密码。

  • 如果所选的镜像由于远程仓库超时等原因导致拉取失败,推荐您使用容器镜像服务ACR,将镜像上传至阿里云仓库。

  • 如果所选的镜像需要通过公网拉取(如Docker官方镜像),则需要为ECI实例配置EIP或者NAT来访问公网。更多信息,请参见外网访问

您可以通过弹性容器实例控制台或者OpenAPI来创建镜像缓存,相关操作如下:

  • 控制台

    1. 弹性容器实例控制台镜像缓存页面,单击创建镜像缓存

    2. 在弹出页面,配置相关参数。

      镜像缓存
    3. 选中服务协议,单击确认创建,并根据提示完成后续操作。

    4. 镜像缓存页面查看创建结果。

      状态列显示创建进度,当状态变为创建完成时,表示镜像缓存创建成功。单击镜像缓存ID,可以打开详情页面,查看基本信息和相关事件。

  • OpenAPI

    您可以调用CreateImageCache接口来创建镜像缓存,主要参数说明如下表所示。更多信息,请参见CreateImageCache

    名称

    类型

    是否必选

    示例值

    描述

    RegionId

    String

    cn-hangzhou

    地域ID。

    ImageCacheName

    String

    testcache

    镜像缓存名称。

    Image.N

    RepeatList

    registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl

    用于制作镜像缓存的容器镜像。

    SecurityGroupId

    String

    sg-uf66jeqopgqa9hdn****

    安全组ID。

    VSwitchId

    String

    vsw-uf6h3rbwbm90urjwa****

    交换机ID。

    ImageCacheSize

    Integer

    20

    镜像缓存的大小。

    RetentionDays

    Integer

    7

    镜像缓存保留时间,过期将会被清理。单位为:天。

    创建成功后,您可以调用DescribeImageCaches接口来查询镜像缓存信息。更多信息,请参见DescribeImageCaches

使用镜像缓存创建实例

您可以通过弹性容器实例控制台或者OpenAPI来使用镜像缓存创建ECI实例。相关操作如下:

注意

  • 如果未匹配到镜像缓存,系统将正常拉取镜像。建议您将容器的镜像拉取策略配置为按需拉取(IfNotPresent),否则可能影响使用效果。

  • 如果您开启了自动创建镜像缓存功能,则在创建ECI实例时,如果设置了自动匹配镜像缓存,在未匹配到镜像缓存的情况下,系统会自动创建镜像缓存。

  • 控制台

    1. 弹性容器实例控制台容器组页面,单击创建弹性容器组

    2. 配置实例相关参数,。

      您可以在容器组配置区域内,选中自动匹配镜像缓存。系统将自动匹配和使用最佳的镜像缓存。

    3. 单击配置确认,并按提示完成后续操作。

  • OpenAPI

    调用CreateContainerGroup接口创建ECI实例时,您可以通过ImageSnapshotId参数来指定具体的镜像缓存,或者通过AutoMatchImageCache参数来开启自动匹配镜像缓存。相关参数说明如下表所示。更多信息,请参见CreateContainerGroup

    名称

    类型

    是否必选

    示例值

    描述

    ImageSnapshotId

    String

    imc-2zebxkiifuyzzlhl****

    镜像缓存ID。

    AutoMatchImageCache

    Boolean

    true

    设置是否开启自动匹配镜像缓存。

查看使用效果

弹性容器实例控制台容器组页面,找到使用镜像缓存创建的实例,单击ID进入详情页面。在事件页签下,您可以看到该实例匹配了镜像缓存,镜像拉取耗时几乎为0。

镜像缓存1