更新时间:2025-12-24 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'
    spec:
      buildingConfig:
        namespace: my-namespace-a
        eipID: 3cxxxxe0-xxxx-xxxx-xxxx-8xxxxf3xxxx4
      imageSnapshotSize: 30
      ttlDaysAfterCreated: 7
      images:
        - image: 'nginx:latest'
      registries:
        - imagePullSecret: imagepull-secret
          server: xxxxx.myhuaweicloud.com
          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

    my-namespace-a

    用户命名空间。镜像快照制作过程中,需要在用户命名空间创建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或者6。

    • 4表示IPv4,不填或空字符串时,默认创建IPv4。
    • 6表示IPv6,开启NAT64能力。

    .spec.buildingConfig.TimeoutMinutes

    int

    1440

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

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

    .spec.ttlDaysAfterCreated

    int

    7

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

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

    说明:

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

    .spec.imageSnapshotSize

    int

    30

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

相关文档