使用镜像缓存(ImageCache)创建ACS Pod可以加速拉取镜像,减少ACS Pod的启动耗时。本文介绍如何在ACS Windows Pod中使用镜像缓存。
功能介绍
在运行容器前,ACS Pod需要先拉取指定的容器镜像,但因网络和容器镜像大小等因素,镜像拉取耗时往往成了ACS Pod启动的主要耗时。为加速实例的启动速度,ACS提供镜像缓存功能。通过预先将需要使用的镜像制作成镜像缓存,然后基于该镜像缓存来创建ACS Pod,避免或者减少镜像层的下载,从而提升实例的启动速度。
具体提升速度由 ACS Pod 中使用的容器镜像大小和镜像仓库网络因素等决定。
每个镜像缓存中可以包含一个镜像。镜像缓存状态制作中表示正处于制作镜像缓存阶段。稍等一段时间,当状态变成制作完成后即可支持使用镜像缓存。
具体镜像缓存制作时间与容器镜像大小与配置的网络带宽相关。如果由于网络不通、认证失败、仓库/Tag 不存在等原因,可能会导致超时制作失败。
适用范围
ACS Windows Pod暂不支持使用 GPU 镜像缓存。
创建镜像缓存
目前 ACS 控制台仅支持创建linux/amd64类型的镜像缓存。如需制作Windows镜像缓存,请使用OpenAPI并指定Platform为windows/amd64。
OpenAPI
使用镜像缓存
Pod注解 | 说明 |
| 为Pod开启镜像缓存匹配能力。 |
功能开启后,Pod将自动匹配使用最优的镜像缓存:
镜像匹配度:选择镜像名完全匹配的镜像缓存。
创建时间:优先选择创建时间最近且可用的镜像缓存。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 容器组,然后单击使用YAML创建资源。
使用以下YAML创建Windows Pod并添加
image.alibabacloud.com/enable-image-cache: "true"注解开启镜像缓存匹配能力。请确保网络配置和密钥信息能够访问到所配置的镜像仓库,目前支持的imagePullPolicy为
Always。apiVersion: v1 kind: Pod metadata: name: nanoserver annotations: image.alibabacloud.com/enable-image-cache: "true" labels: alibabacloud.com/acs: "true" spec: nodeSelector: kubernetes.io/os: windows containers: - name: nanoserver image: registry-cn-hangzhou.ack.aliyuncs.com/test/nanoserver:ltsc2022 command: ["ping", "-t", "localhost"] resources: requests: cpu: "4" memory: "8Gi" limits: cpu: "4" memory: "8Gi"创建成功后,单击Pod名称进入基本信息页面。开启镜像缓存匹配能力之后,创建的Pod会根据镜像名称尝试匹配镜像缓存,匹配成功的Pod会自动追加当前匹配的镜像缓存的注解。
功能
参数
示例值
说明
镜像缓存命中信息
image.alibabacloud.com/matched-image-caches[{"imageCacheId":"imc-*****t15xuii6tz*****","size":1}]命中的镜像缓存ID及大小(GiB)。
相关文档
关于镜像缓存的注意事项和计费等信息,请参见使用镜像缓存加速ACS Pod启动。