文档中心 > 商家经营工具-开发指引

镜像缓存使用说明

更新时间:2023/04/20 访问次数:4596

一、背景


在普通的 ECS 节点上,启动的 pod,都会首先检查本地是否存在相应的镜像,存在则直接使用,不存在在会通过网络 IO 进行下载,并在之后需要时,直接提供。

由于每一次启动 ECI,实际上都是新启动了一台 ECS,并在其基础上启动了一个 pod,因此导致 ECI 每次启动的时候都需要通过网络 IO 进行镜像下载,所以 ECI 的启动时间与镜像大小正相关,1G左右的镜像需要100s左右的时间进行下载,严重影响启动时间。


二、解决方案原理简介


为了解决上述问题,我们提供了一套镜像缓存的解决方案,主要的原理是:

1)提前准备镜像缓存:通过一台 1C2G 的 ECI,以及一块固定大小的磁盘(目前默认为 20G 的 ESSD),将指定的镜像镜像下载至硬盘上,并将其制作为硬盘快照。

2)ECI启动时挂载:ECI 启动前会首先根据快照生成相应的 ESSD 磁盘,并挂在到 ECI 上,在 ECI 正式启动时,会首先检查本地是否存在镜像,存在则直接使用。


三、使用流程

1. 制作镜像缓存


通过 运维中心 - 镜像缓存 进入镜像缓存列表页,如下图所示:


image


点击 新建镜像缓存 ,如下图:


image


参数说明

基本信息

-名称:用于区分镜像名称,可以使用英文、数字、中划线。

-集群:会使用指定集群的安全组,公网带宽,秘钥等配置。

(镜像缓存是全局有效的,生成的镜像缓存快照在主账号下所有集群都是共享的,与该出选择的集群无关)

官方镜像/自定义镜像:选择相应镜像与指定版本,可以同时配置多个官方镜像与自定义镜像。


2. 允许应用使用镜像缓存


由于ECI使用镜像缓存使需要挂载磁盘,因此需要花费额外费用(例如 20G ESSD 磁盘,每小时大约 0.04 元),所以需要设置其允许使用 镜像缓存 后,ECI 才会使用。

通过 运维中心 - 集群管理 - 资源分配策略 找到对应条目,点击管理进入如下页面:


image


首先需要在 调度到虚拟节点 处选择 可以,接着会看到 镜像缓存 选项,选择使用后,重新部署,该应用会在使用 ECI 时自动选择匹配度最高的镜像缓存镜像挂载。


3. 检查镜像缓存是否生效


首先找到刚启动 ECI (最长不要超过1个小时,否则实时日志中的事件将被清楚),如下图所示:


image


接着前往 应用日志 - 实时日志 查找该实例所对应的事件,如下图所示:


a)未匹配成功


image


如果出现上图所示事件,说明未能匹配到 镜像缓存,请检查该实例所需镜像与版本是否被制作为 镜像缓存。


image


通过上图可以看出拉取镜像时间为 36s 左右。


b)匹配成功


image


如果出现上图所示事件,说明已匹配到 镜像缓存,其中 s-8vb6y5jaf9msx7fm4gz2 表示快照 id(后面会优化为镜像 id )。


image


通过上图可以看出拉取镜像时间为 1s 左右(时间消耗为镜像检查时间)。


四、费用

1. 创建费用


1)ECI:1C2G的ECI资源费用,镜像缓存创建完成后停止计费。ECI实例计费参见计费概述

2)ESSD:申明的镜像快照盘费用,默认使用ESSD PL1云盘,20G大小。云盘计费参见这里

3)快照:您每创建一次镜像缓存,会提交一份云盘快照,快照的计费参见快照计费方式


2. 使用费用


ESSD:创建ECI实例过程中,若指定使用镜像缓存特性,会为每个ECI实例挂载一块基于镜像缓存快照生成的云盘,费用请参见计费概述

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


FAQ

关于此文档暂时还没有FAQ
返回
顶部