使用镜像缓存加速ACS Windows Pod启动

更新时间:
复制为 MD 格式

使用镜像缓存(ImageCache)创建ACS Pod可以加速拉取镜像,减少ACS Pod的启动耗时。本文介绍如何在ACS Windows Pod中使用镜像缓存。

功能介绍

在运行容器前,ACS Pod需要先拉取指定的容器镜像,但因网络和容器镜像大小等因素,镜像拉取耗时往往成了ACS Pod启动的主要耗时。为加速实例的启动速度,ACS提供镜像缓存功能。通过预先将需要使用的镜像制作成镜像缓存,然后基于该镜像缓存来创建ACS Pod,避免或者减少镜像层的下载,从而提升实例的启动速度。

具体提升速度由 ACS Pod 中使用的容器镜像大小和镜像仓库网络因素等决定。
image

每个镜像缓存中可以包含一个镜像。镜像缓存状态制作中表示正处于制作镜像缓存阶段。稍等一段时间,当状态变成制作完成后即可支持使用镜像缓存。

具体镜像缓存制作时间与容器镜像大小与配置的网络带宽相关。如果由于网络不通、认证失败、仓库/Tag 不存在等原因,可能会导致超时制作失败。

适用范围

ACS Windows Pod暂不支持使用 GPU 镜像缓存。

创建镜像缓存

目前 ACS 控制台仅支持创建linux/amd64类型的镜像缓存。如需制作Windows镜像缓存,请使用OpenAPI并指定Platformwindows/amd64

OpenAPI

使用镜像缓存

Pod注解

说明

image.alibabacloud.com/enable-image-cache: "true"

Pod开启镜像缓存匹配能力。

功能开启后,Pod将自动匹配使用最优的镜像缓存:

  • 镜像匹配度:选择镜像名完全匹配的镜像缓存。

  • 创建时间:优先选择创建时间最近且可用的镜像缓存。

  1. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择工作负载 > 容器组,然后单击使用YAML创建资源

  2. 使用以下YAML创建Windows Pod并添加image.alibabacloud.com/enable-image-cache: "true"注解开启镜像缓存匹配能力。

    请确保网络配置和密钥信息能够访问到所配置的镜像仓库,目前支持的imagePullPolicyAlways
    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"
  3. 创建成功后,单击Pod名称进入基本信息页面。开启镜像缓存匹配能力之后,创建的Pod会根据镜像名称尝试匹配镜像缓存,匹配成功的Pod会自动追加当前匹配的镜像缓存的注解。

    功能

    参数

    示例值

    说明

    镜像缓存命中信息

    image.alibabacloud.com/matched-image-caches

    [{"imageCacheId":"imc-*****t15xuii6tz*****","size":1}]

    命中的镜像缓存ID及大小(GiB)。

相关文档

关于镜像缓存的注意事项和计费等信息,请参见使用镜像缓存加速ACS Pod启动