全部产品
Search
文档中心

使用镜像缓存创建实例

更新时间: 2021-07-30

镜像缓存可以加速拉取镜像,减少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创建镜像缓存,支持开启极速镜像缓存功能来缩短创建时长。开启极速镜像缓存功能后,系统将临时创建一份本地快照。本地快照基于快照极速可用功能,可以快速创建,创建完成后即可使用镜像缓存。

    说明

    本地快照创建完成后,系统将自动开始创建普通快照,在此期间,镜像缓存对应使用本地快照;待普通快照创建完成后,系统将自动删除本地快照,在此之后,镜像缓存对应使用普通快照。

通过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

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

Flash

Boolean

true

是否开启极速镜像缓存功能。开启后,可以加速镜像缓存创建。默认为false。

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

通过控制台创建

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

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

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

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

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

使用镜像缓存创建实例

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

注意

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

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

通过OpenAPI创建

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

名称

类型

示例值

描述

ImageSnapshotId

String

imc-2zebxkiifuyzzlhl****

镜像缓存ID。

AutoMatchImageCache

Boolean

true

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

通过控制台创建

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

  2. 配置实例相关参数。

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

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

查看使用效果

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

镜像缓存1