tencent cloud

文档反馈

镜像缓存

最后更新时间:2022-06-27 10:53:44

    镜像缓存概述

    使用镜像缓存可以在创建实例时加速拉取镜像,减少实例的启动耗时。该能力适用于 EKS 集群 Pod、超级节点、容器实例。本文主要介绍镜像缓存的工作原理、计费说明、创建和使用方式等。

    工作原理

    镜像缓存加速启动实例速度时会事先启动一个容器实例进行镜像拉取,该镜像存储在一个可自定义大小的数据盘中,同时将该数据盘作为云盘快照缓存,即镜像数据已被保存在快照中。在创建容器实例或 Pod 时选择自动匹配或手动匹配镜像缓存,会基于镜像快照创建相应数量的硬盘(数据盘),并直接挂载到实例上,避免镜像层下载,从而提升容器实例及 Pod 的创建速度。

    相比 镜像复用 能力,镜像缓存的优势如下:

    • 无时效限制,与镜像缓存(快照)的生命周期有关。
    • 只需提前冷启动一个 Pod,创建快照后该 Pod 即被销毁。
    • 无可用区限制,基于快照创建云盘时自动匹配可用区。
    • 无工作负载的限制,相同地域中即可匹配。

    计费说明

    在创建镜像缓存时,会涉及到以下资源,相应的计费情况如下:

    计费项 计费说明 计费文档
    镜像缓存 创建镜像缓存时,需要运行一个 2 核 4GiB 容器实例以拉取镜像。在镜像缓存创建完成后,该容器实例会自动释放并停止计费。 容器实例计费
    CBS 数据盘 创建镜像缓存时,需要绑定一个高性能数据盘存储镜像,该数据盘的大小支持自定义,默认为 20G。在镜像缓存创建完成后,该数据盘会自动释放并停止计费。 云硬盘计费
    快照 基于上述数据盘会创建一个快照,该快照的生命周期与镜像缓存的生命周期一致。快照按照使用时长及容量收费。 快照计费

    使用镜像缓存时,会基于匹配的镜像缓存快照创建一个相同容量的高性能数据盘,并绑定到 Pod 上,因此除去创建 Pod 本身的费用,会额外收取数据盘的费用

    • 数据盘费用 = 容量 * 单价 * 实例运行时长

    操作步骤

    创建镜像缓存

    1. 登录 容器服务控制台
    2. 选择左侧导航栏的弹性容器 > 镜像缓存,进入“镜像缓存”列表页面。
    3. 单击新建实例,配置相关参数。
    • 实例名称:选填。
    • 所在地域:按需选择。
    • 容器网络:为容器实例分配在容器网络地址范围内的 IP 地址。
    • 安全组:安全组具有防火墙的功能,可限制容器实例的网络通信,默认为 default。
    • 镜像:按需选择需要进行缓存的镜像及其版本。
    • 镜像凭证:当选择 Dockerhub 及其他第三方镜像仓库的私有镜像时,必须填写镜像凭证,即仓库的访问地址、用户名及密码。
    • 高级配置:
      • 绑定弹性公网 IP:拉取外网镜像时,需要绑定 EIP 实现与公网互通。
      • 缓存大小:该大小决定快照及之后创建实例时绑定的数据盘的大小。
      • 过期策略:选择镜像缓存的保留时间,默认为永久保留。
    1. 单击创建。创建完成后可在镜像缓存的列表,单击事件名称查看创建进程。

    使用镜像缓存

    创建 EKS Pod 或容器实例时,可在高级配置中,开启使用镜像缓存,主要有以下两种匹配方式,可以根据自身需求选择合适的匹配方式。

    在缓存匹配模式中选择自动匹配时,根据以下匹配策略,将自动匹配最优的镜像缓存。

    • 镜像名称及版本完全相同,则可匹配;
    • 镜像缓存大小,小容量优先匹配;
    • 创建时间,创建时间晚的优先匹配。

    >! 需要注意的时,若双方都为 nginx:latest,依旧可匹配,但是由于创建时间不同,可能存在版本不一致的情况,因此,建议创建时镜像缓存及实例时,明确注明版本。

    若没有匹配到对应的镜像缓存,则会自动正常拉取镜像。

    超级节点使用镜像缓存

    若需要在超级节点中使用镜像缓存,可通过指定 Pod 的 Annotation 来使用镜像缓存,具体可参考 EKS Annotation 说明

    自动匹配:
    eks.tke.cloud.tencent.com/use-image-cache: auto
    手动指定:
    eks.tke.cloud.tencent.com/use-image-cache: imc-xxx
    

    匹配结果

    可从创建实例的事件中,查看是否匹配成功。

    若匹配成功,则显示以下事件:

    若未显示该事件,则表示没有匹配到合适的镜像缓存。

    需要注意的是,若选择手动匹配,但是匹配的镜像缓存中并没有该镜像,会重新在新创建的数据盘中拉取镜像,并显示以下事件:

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持