全部产品
云市场

镜像缓存

更新时间:2020-01-13 15:42:34

ECI 在运行容器前,需要先拉取用户指定的容器镜像,而因网络和容器镜像大小等因素,镜像拉取耗时往往成了 ECI 实例启动的主要耗时,用户可以通过镜像缓存技术来解决这个问题。

镜像缓存使用步骤:

  1. 创建镜像缓存
  2. 查询镜像缓存信息
  3. 使用镜像缓存创建 ECI

费用说明

您使用镜像缓存,包括创建费用和使用费用。

创建费用

在您提交镜像缓存创建申请后,阿里云会使用1C2G的ECI资源进行镜像缓存的创建,在创建过程中,包括的费用包括:

  • 1C2G的ECI资源费用,镜像缓存创建完成后停止计费。ECI实例计费参考这里
  • 申明的镜像快照盘费用,默认使用ESSD PL1云盘,20G大小,您可以自定义指定盘的大小(最小20GB)。云盘计费参考这里
  • 您每创建一次镜像缓存,会提交一份云盘快照,快照的计费参考这里

您可以在ECI控制台,查看对应的镜像缓存创建实例。

使用费用

您在创建ECI实例过程中,若指定使用镜像缓存特性,会为每个ECI实例挂载一块基于镜像缓存快照生成的云盘,费用请参考 ESSD磁盘价格(PL1)

以华北2地域为例,您为每个实例使用一个20GB的镜像缓存盘(ESSD PL1 20GB),每小时实例费用增加0.04元。

创建镜像缓存

  • 镜像缓存默认使用 1C2G 规格的 ECI 进行制作,制作过程中会产生一定的费用。
  • 目前单个镜像缓存最多支持包含20个镜像,镜像缓存大小可自定义,默认为20G。
  • 镜像缓存支持设置保留时长,过期后自动删除,该功能默认不启用,如需使用请设置保留时长。
  • 如果选择了私有镜像(非阿里云容器镜像服务托管的镜像),则需要提供私有镜像仓库的地址、用户名和密码,ECI 需要用来拉取镜像。
  • 如果所选镜像需要通过公网拉取(如 Docker官方镜像),则 ECI 需要具备外网访问能力

通过控制台创建

ECI 控制台 方便的创建镜像缓存

create

通过 OpenAPI 创建

可以在 OpenAPI Explorer 上方便的查看和调试镜像缓存的创建接口

相关参数说明如下:

  1. ImageCacheName=normalimage(镜像缓存名称)
  2. Image.1=registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.15.10
  3. Image.2=registry-vpc.cn-beijing.aliyuncs.com/eci_open/node:11
  4. Image.3=registry-vpc.cn-beijing.aliyuncs.com/eci_open/mysql:5.6
  5. RetentionDays=30(保留时长,取值范围1~65536,单位天)
  6. ImageCacheSize=20(镜像缓存大小,默认为20,取值范围20~500,单位GiB

查询镜像缓存信息

可以在 OpenAPI Explorer 上方便的查看和调试镜像缓存的查询接口

接口返回的信息如下:

  1. {
  2. "ImageCaches": [
  3. {
  4. "CreationTime": "2019-12-18T03:18:02Z",
  5. "Status": "Ready",
  6. "ContainerGroupId": "eci-2zehl84ra0em1rzvku1f",
  7. "ImageCacheId": "imc-2zehl84ra0em1rzvku1f",(镜像缓存ID
  8. "ImageCacheName": "normalimage",
  9. "Events": [...
  10. ],
  11. "SnapshotId": "s-2ze10h8c369eb7spa2oe",
  12. "Images": [
  13. "registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.15.10",
  14. "registry-vpc.cn-beijing.aliyuncs.com/eci_open/node:11",
  15. "registry-vpc.cn-beijing.aliyuncs.com/eci_open/mysql:5.6"
  16. ],
  17. "ExpireDateTime": "2020-01-17T20:49:47Z",(保留时间)
  18. "Progress": "100%"(创建进度)
  19. }
  20. ],
  21. "RequestId": "1ABEBF6E-6780-49CA-8C34-EEC6017F3012"
  22. }

使用镜像缓存创建 ECI

使用镜像缓存创建 ECI 支持两种策略:

  • 指定具体的镜像缓存
  • 开启自动匹配,由 ECI 来自动匹配和使用最佳的镜像缓存

可以在 OpenAPI Explorer 上方便的查看和调试 ECI 实例创建接口

注意:使用镜像缓存创建 ECI 时,需将容器的 ImagePullPolicy 参数设置为 IfNotPresent,否者效果将大打折扣。

指定具体的镜像缓存

  1. ImageSnapshotId=imc-2zehl84ra0em1rzvku1f

开启自动匹配

  1. AutoMatchImageCache=true

使用效果

在 ECI 控制台查看实例事件:

event

镜像已经存在于实例中,不再需要从远程拉取,镜像拉取耗时降低为0。

在阿里云容器服务中使用 ECI 镜像缓存,请参阅 使用镜像缓存 CRD 加速创建 Pod