更新时间:2026-07-31 GMT+08:00
分享

手动创建镜像快照

在运行容器前,需要先拉取指定的容器镜像。然而受到网络状况和容器镜像大小等因素影响,镜像拉取过程往往成为Pod启动的主要耗时环节。为加快启动速度,CCI 提供了镜像快照功能,该功能可以预先将所需镜像制作成快照,再基于该快照创建Pod,无需重新下载镜像,从而显著缩短Pod的启动时间。本章介绍如何手动创建镜像快照。如需了解镜像快照的工作原理,请参阅镜像快照概述

通过控制台创建镜像快照

  1. 登录云容器实例 CCI2.0控制台。
  2. 在左侧导航栏,单击“镜像加速”。
  3. 单击右上角的“创建镜像快照”。
  4. 在当前界面配置相关参数,具体请参见表1。配置完成后,单击右下角“创建镜像快照”。
    表1 创建镜像快照

    配置项名称

    说明

    镜像快照名称

    自定义镜像快照名称。

    说明:

    请输入以小写字母开头,小写字母、数字、中划线(-)组成,小写字母或数字结尾的 1 到 190 字符的字符串。

    容器镜像

    选择用于制作镜像快照的镜像。最多添加10个。

    镜像快照大小

    设置镜像快照大小。范围 10~400GiB,缓存的对象为解压的后的镜像文件,占用空间与实际镜像压缩率相关,建议镜像快照大小不低于镜像大小总和的 3 倍。

    镜像快照保留时间

    镜像快照的保留时间,过期将会被清理。“不限制”则表示永久保留。也可以自定义指定天数。

    命名空间

    选择指定的命名空间。镜像快照制作过程中,需要在用户命名空间创建CCI实例。

    使用弹性公网IP缓存公网镜像

    设置是否自动为创建镜像快照实例创建弹性公网IP。请根据实际情况进行选择。

    • 自动创建弹性公网IP:用户可以自定义线路、公网带宽和带宽大小。镜像快照制作完成后,创建的弹性公网IP会自动释放。
    • 绑定弹性公网IP:使用已有弹性公网IP缓存公网镜像。
    • 暂不使用:不使用弹性公网IP缓存公网镜像。

    镜像仓库访问凭证

    添加镜像仓库访问凭证。每个镜像仓库必须配置一个kubernetes.io/dockerconfigjson类型的密钥。最多可添加10个。

通过YAML文件创建镜像快照

  1. 登录云容器实例 CCI2.0控制台。
  2. 在左侧导航栏,单击“镜像加速”。
  3. 单击右上角的“YAML创建”。

    参考以下示例,创建一个名为my-imagesnapshot的镜像快照。

    apiVersion: cci/v2
    kind: ImageSnapshot
    metadata:
      name: 'my-imagesnapshot'
      labels: cci.io/image-snapshot-architecture: "amd64"    # 指定CPU架构标签
    spec:
      buildingConfig:
        namespace: test
        eipID: 3cxxxxe0-xxxx-xxxx-xxxx-8xxxxf3xxxx4     # 拉取公网镜像或跨VPC拉取时需要的弹性公网IP的ID
      imageSnapshotSize: 30                             # 快照容量大小(GiB)
      ttlDaysAfterCreated: 7                            # 快照生命周期(单位:天),过期自动清理
      images:
        # 非Docker Hub官方镜像仓库的需要写完整地址(域名/组织名称/镜像名称:Tag)     
        - image: 'swr.region.myhuaweicloud.com/your-organization/your-image:latest'
      registries:
        - imagePullSecret: imagepull-secret             # 访问SWR私有镜像仓库的拉取凭证
          server: swr.region.myhuaweicloud.com   # 镜像仓库地址(不带http://或https://前缀)
          plainHTTP: true
    表2 参数说明

    字段

    类型

    必填

    示例值

    描述

    .metadata.name

    string

    my-imagesnapshot

    镜像快照名称。

    .spec.images.image

    string

    nginx:latest

    用于制作镜像快照的镜像。最多可添加10个。

    .spec.registries.server

    string

    xxxxx.myhuaweicloud.com

    不带 http:// 或 https:// 前缀的镜像仓库地址。

    .spec.registries.imagePullSecret

    string

    imagepull-secret

    访问镜像仓库使用的凭证Secret。最多可添加10个。

    .spec.registries.plainHTTP

    boolean

    true

    如果是使用HTTP协议的自建镜像仓库地址,需要设置为true,否则会因协议不同而导致镜像拉取失败。默认值为false。

    .spec.registries.insecureSkipVerify

    boolean

    true

    如果是使用自签发证书的自建镜像仓库地址,需要设置为true来跳过证书认证,否则会因证书认证失败而导致镜像拉取失败。默认值为false。

    .spec.buildingConfig.namespace

    string

    test

    用户命名空间。镜像快照制作过程中,需要在用户命名空间创建CCI实例。

    .spec.buildingConfig.eipID

    string

    3cxxxxe0-xxxx-xxxx-xxxx-8xxxxf3xxxx4

    用于访问拉取公网镜像的EIP。

    .spec.buildingConfig.autoCreateEIP

    boolean

    true

    在制作镜像快照时,是否自动为创建镜像快照实例创建弹性公网IP,当指定了eipId的情况下,autoCreateEIP配置将被忽略。当autoCreateEIP为true时,需通过autoCreateEIPAttribute指定弹性公网IP的配置。

    .spec.buildingConfig.autoCreateEIPAttribute.bandwidthChargeMode

    string

    bandwidth

    按流量计费还是按带宽计费。

    取值范围:bandwidth,traffic,不填或者为空时默认是bandwidth。其中IPv6国外默认是bandwidth,国内默认是traffic。

    .spec.buildingConfig.autoCreateEIPAttribute.bandwidthSize

    int

    1000

    带宽大小。

    取值范围:按带宽计费时,默认为1~2000Mbit/s。按流量计费时,默认为1~300Mbit/s

    .spec.buildingConfig.autoCreateEIPAttribute.type

    string

    5_bgp

    EIP的类型。

    取值范围:5_bgp(全动态BGP),5_sbgp(静态BGP),5_youxuanbgp(优选BGP)。

    .spec.buildingConfig.autoCreateEIPAttribute.ipVersion

    int

    4

    弹性公网IP的版本。

    4表示IPv4。不填或空字符串时,默认创建IPv4。

    .spec.buildingConfig.TimeoutMinutes

    int

    1440

    镜像快照制作完成的超时时间,单位分钟。

    取值范围:[30, 10080] 的整数,表示30分钟~1周。默认值为1440,表示1天。

    .spec.ttlDaysAfterCreated

    int

    7

    镜像快照保留时间,单位为天,过期将会被清理。默认值为0,即永不过期。

    每当快照被负载/容器组资源使用时,其过期时间将被重置为当前时间加上快照保留时间。

    说明:

    快照过期后,仍会占用配额,需定期审核过期镜像快照后删除。

    .spec.imageSnapshotSize

    int

    30

    镜像快照大小,单位为GiB,默认值为20。

    除了配置基础参数外,您还可以通过添加 Labels(标签)来指定制作镜像快照时所使用的 CPU 架构,具体标签说明如表3所示。

    表3 标签(Labels)说明

    字段

    类型

    是否必选

    示例值

    描述

    .labels.cci.io/image-snapshot-architecture

    string

    amd64

    指定镜像对应的CPU架构,取值范围:

    • amd64(默认值)
    • arm64
    说明:

    当指定对应架构时,请确认局点是否开放对应的实例类型:

    • amd64——x86计算通用型
    • arm64——鲲鹏通用型

相关文档