Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Acelere a criação de pods com ImageCache

Última atualização: Sep 12, 2026

Antes de uma instância ECI ser executada, ela precisa baixar as imagens de contêiner necessárias. Esse download é o principal fator de atraso na inicialização do pod. O ImageCache cria previamente snapshots de cache das imagens de contêiner para que as criações subsequentes de pods reutilizem esse cache e reduzam o tempo de inicialização em nós virtuais.

O tempo real economizado varia conforme a quantidade de imagens, o tamanho delas e as condições da rede.

Faturamento

A criação e o uso de cache de imagem podem gerar custos. Consulte Image caches billing.

Pré-requisitos

Verifique se você tem:

  • Um cluster ACK com nós virtuais habilitados

  • Acesso ao cluster via kubectl

Etapa 1: Ative o suporte ao ImageCache

Verifique se o cluster suporta o ImageCache:

kubectl get crd/imagecaches.eci.alibabacloud.com
  • Se o comando retornar informações sobre imagecaches.eci.alibabacloud.com, o ImageCache tem suporte. Prossiga para a Etapa 2.

  • Se houver retorno de erro, atualize o ACK Virtual Node para a versão mais recente.

Etapa 2: Crie um cache de imagem

Prefira a criação automática, a menos que seja essencial obter velocidade máxima já no primeiro pod.

Método

Quando usar

Como funciona

Automático

Na maioria dos cenários — reduz custos

Se não existir um cache correspondente, o sistema o cria durante a geração do pod. Pods futuros com as mesmas imagens reutilizam esse cache.

Manual

Quando a primeira criação exige velocidade máxima

Crie um cache de imagem antecipadamente por meio de um modelo YAML e referencie-o ao criar o pod.

Para criação manual, consulte Gerencie ImageCaches e Image cache annotations. Compare os métodos em Methods to create an image cache.

Etapa 3: Use um cache de imagem para criar pods

Adicione anotações à seção metadata da especificação do pod (ou em spec.template.metadata no caso de um Deployment) para selecionar um cache de imagem.

Importante

As anotações só têm efeito no momento da criação do pod. Alterar anotações em um pod existente não produz nenhum resultado.

Referência de anotações

O ImageCache é um recurso de nível de cluster utilizável em diferentes namespaces.

Importante
  • Correspondência de imagens: Use as mesmas referências de imagem na especificação do pod e no ImageCache para maximizar o grau de correspondência.

  • Política de pull: Defina imagePullPolicy como IfNotPresent para evitar baixar novamente camadas já armazenadas em cache.

Anotação

Valor de exemplo

Padrão

Descrição

k8s.aliyun.com/eci-auto-imc

"true"

true

Ativa a correspondência automática de cache de imagem. Seleciona a melhor opção com base no grau de correspondência das imagens, no tamanho e no horário de criação. Gera um novo cache caso não haja correspondência.

k8s.aliyun.com/imc-perfect-match

"true"

false

Exige que todas as imagens do pod correspondam totalmente ao cache de imagem. Tem precedência sobre imc-match-count-request.

k8s.aliyun.com/imc-match-count-request

"2"

—

Define a quantidade de imagens do pod que precisam corresponder ao cache de imagem.

k8s.aliyun.com/eci-imc-id

imc-2zebxkiifuyzzlhl****

—

Vincula o pod a um cache de imagem específico por ID. Sobrescreve a correspondência automática.

Precedência de anotações: Se imc-perfect-match e imc-match-count-request estiverem definidos simultaneamente, imc-perfect-match prevalece. Ao especificar eci-imc-id, a correspondência automática é substituída.

Correspondência automática de cache de imagem (recomendado)

Ative eci-auto-imc e, opcionalmente, adicione imc-perfect-match para uma correspondência mais rigorosa:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
      annotations:
        k8s.aliyun.com/eci-auto-imc: "true"          # Enables automatic image cache matching
        k8s.aliyun.com/imc-perfect-match: "true"      # All images in the pod must fully match the cache
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        imagePullPolicy: IfNotPresent

Especifique um cache de imagem

Importante

O cache de imagem especificado deve estar no estado Ready. Caso contrário, a criação do pod falhará.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
      annotations:
        k8s.aliyun.com/eci-imc-id: imc-2ze5tm5gehgtiiga****  # Pins to a specific image cache
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        imagePullPolicy: IfNotPresent

Aplique anotações em massa

Use o recurso Elastic Container Instance Effect no eci-profile para aplicar anotações do ImageCache a todos os pods correspondentes. Consulte Configure eci-profile to automatically use the ImageCache feature.

Próximos passos