You need to enable JavaScript to run this app.
导航
概述
最近更新时间:2024.11.22 15:20:25首次发布时间:2023.06.05 16:02:07

在创建容器(Container)过程中,镜像拉取往往耗时较长,目前弹性容器实例支持使用镜像缓存方案加速创建 VCI 实例过程。

说明

邀测·申请试用】:该功能目前处于邀测阶段,如需使用,请提交申请。

背景信息

传统方式下,在容器的开发测试阶段,需要将容器镜像下载到本地并进行解压,然后再启动容器实例。因此整个过程耗时较长。为加速容器实例的创建,弹性容器实例(VCI)提供镜像缓存功能,支持加速创建 VCI 实例。

镜像缓存方法

镜像缓存方案可以将镜像提前下载到数据盘中,制作成缓存快照,再基于该快照来创建 VCI 实例。该方案使容器在启动时,可直接进行挂载,从而避免或减少了镜像层的下载,降低了镜像仓库、云盘的读写压力,大幅缩短了镜像下载的耗时,可以极大节约实例启动耗时。

弹性容器实例支持手动镜像缓存和自动镜像缓存两种方法,两种方案流程类似,但在使用姿势上有区别,详情请见本文下方 手动镜像缓存自动镜像缓存

alt

说明

目前 VCI 镜像缓存支持弹性块存储(EBS)快照极速可用能力,但该功能处于独立邀测阶段,如需使用请按如下说明提交 邀测申请

  • 已开启 VCI 镜像缓存邀测的用户:还需要再次提交 EBS 快照极速可用的邀测申请。
  • 未开启 VCI 镜像缓存邀测的用户:在同一个邀测申请中提交试用说明即可。

手动镜像缓存

该方案需要提前手动创建镜像缓存,然后在创建容器过程中使用镜像缓存。

目前手动镜像缓存功能,支持如下两种使用方式:

自动镜像缓存

开启自动镜像缓存能力后,该方案支持在创建容器过程中自动制作镜像缓存并使用。
自动镜像缓存功能默认不开启,如需开启,需要通过特定的 Annotation(注解):vci.vke.volcengine.com/enable-auto-create-imc: "true"进行使能。详细的操作,请参见 使用自动镜像缓存创建 VCI 实例

镜像缓存方案对比

方案对比项手动镜像缓存自动镜像缓存

优点

  • 支持通过控制台和 OpenAPI 方式使用,可控性和可操作性高。
  • 支持自定义较多的镜像缓存资源的相关参数配置,灵活控制。
  • 镜像缓存时间较长。
  • 无需过多关注和感知镜像缓存,易用性好。
  • 功能逻辑能够完整闭环,覆盖各种潜在的场景。
  • 操作路径短,易于上手。

缺点

有一定的功能理解成本,操作简易性不如自动镜像缓存。

  • 业务首次批量下发创建 Pod 时,拉起较慢,需要人工干预(预热)。
  • 镜像缓存时间较短(15 天)。

使用镜像缓存

使用自动/手动镜像缓存快照创建 VCI 实例,目前支持以下两种方式:

  • 自动匹配已有的镜像缓存
    根据匹配策略自动匹配最优的镜像缓存来创建 VCI 实例。匹配策略如下:
    1. 筛选出您火山引擎账号在当前地域下的所有镜像缓存。
    2. 按照如下优先级顺序,选择最优的镜像缓存:
      1. 镜像匹配度:优先选择匹配度高的镜像缓存,包括查看镜像仓库地址、镜像名称、镜像版本(Tag)是否匹配要求。
      2. 创建时间:优先选择创建时间最新的镜像缓存。
      3. 最近一次匹配的时间:优先选择最近一次匹配成功使用的镜像缓存。

    说明

    如果没有匹配到任何已有的镜像缓存时,系统会根据您火山引擎账号下是否已开启自动镜像缓存(即vci.vke.volcengine.com/enable-auto-create-imc: "true")来判断下一步操作:

    • 已开启自动镜像缓存:系统将在创建 VCI 实例的同时,自动创建一个镜像缓存。
    • 未开启自动镜像缓存:系统从目标镜像仓库拉取镜像,并正常创建 VCI 实例。
  • 明确指定已有的镜像缓存
    通过特定的 Annotation(注解)明确指定使用某个镜像缓存来创建 VCI 实例。该镜像缓存必须处于 [Ready.Ok] 状态。