手动创建镜像快照
在运行容器前,需要先拉取指定的容器镜像。然而受到网络状况和容器镜像大小等因素影响,镜像拉取过程往往成为Pod启动的主要耗时环节。为加快启动速度,CCI 提供了镜像快照功能,该功能可以预先将所需镜像制作成快照,再基于该快照创建Pod,无需重新下载镜像,从而显著缩短Pod的启动时间。本章介绍如何手动创建镜像快照。如需了解镜像快照的工作原理,请参阅镜像快照概述。
通过控制台创建镜像快照
- 登录云容器实例 CCI2.0控制台。
- 在左侧导航栏,单击“镜像加速”。
- 单击右上角的“创建镜像快照”。
- 在当前界面配置相关参数,具体请参见表1。配置完成后,单击右下角“创建镜像快照”。
表1 创建镜像快照 配置项名称
说明
镜像快照名称
自定义镜像快照名称。
说明:请输入以小写字母开头,小写字母、数字、中划线(-)组成,小写字母或数字结尾的 1 到 190 字符的字符串。
容器镜像
选择用于制作镜像快照的镜像。最多添加10个。
镜像快照大小
设置镜像快照大小。范围 10~400GiB,缓存的对象为解压的后的镜像文件,占用空间与实际镜像压缩率相关,建议镜像快照大小不低于镜像大小总和的 3 倍。
镜像快照保留时间
镜像快照的保留时间,过期将会被清理。“不限制”则表示永久保留。也可以自定义指定天数。
命名空间
选择指定的命名空间。镜像快照制作过程中,需要在用户命名空间创建CCI实例。
使用弹性公网IP缓存公网镜像
设置是否自动为创建镜像快照实例创建弹性公网IP。请根据实际情况进行选择。
- 自动创建弹性公网IP:用户可以自定义线路、公网带宽和带宽大小。镜像快照制作完成后,创建的弹性公网IP会自动释放。
- 绑定弹性公网IP:使用已有弹性公网IP缓存公网镜像。
- 暂不使用:不使用弹性公网IP缓存公网镜像。
镜像仓库访问凭证
添加镜像仓库访问凭证。每个镜像仓库必须配置一个kubernetes.io/dockerconfigjson类型的密钥。最多可添加10个。
通过YAML文件创建镜像快照
- 登录云容器实例 CCI2.0控制台。
- 在左侧导航栏,单击“镜像加速”。
- 单击右上角的“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。