Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Accelerate pod creation with ImageCache

Última atualização: Jun 27, 2026

Antes de executar uma ECI, o sistema 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 para que as criações subsequentes reutilizem esses dados e reduzam o tempo de inicialização em nós virtuais.

A economia real de tempo varia conforme a quantidade de imagens, o tamanho dos arquivos e as condições da rede.

Faturamento

A criação e o uso de caches de imagem podem gerar custos. Consulte Faturamento de caches de imagem.

Pré-requisitos

Verifique se você tem:

  • Um cluster ACK com nós virtuais habilitados

  • Acesso ao cluster via kubectl

Etapa 1: Ative o suporte a ImageCache

Verifique se o cluster oferece suporte ao ImageCache:

kubectl get crd/imagecaches.eci.alibabacloud.com
  • Se o comando retornar informações sobre imagecaches.eci.alibabacloud.com, o recurso está disponível. Prossiga para a Etapa 2.

  • Em caso de erro, atualize o componente ACK Virtual Node para a versão mais recente.

Etapa 2: Crie um cache de imagem

Prefira a criação automática, exceto quando for essencial obter velocidade máxima já no primeiro pod.

Método

Quando usar

Como funciona

Automático

Recomendado para a maioria dos cenários, pois otimiza custos

Na ausência de um cache compatível, o sistema o gera durante a criação do pod. Pods subsequentes com as mesmas imagens reaproveitam esse cache.

Manual

Indicado quando a primeira execução exige desempenho máximo

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

Para criação manual, consulte Gerenciar ImageCaches e Anotações de cache de imagem. Compare as abordagens em Métodos para criar um cache de imagem.

Etapa 3: Usar um cache de imagem na criação de pods

Adicione anotações à seção metadata da especificação do pod (ou em spec.template.metadata para Deployments) para selecionar o cache desejado.

Importante

As anotações têm efeito apenas no momento da criação. Alterá-las em um pod existente não produz resultado.

Referência de anotações

O ImageCache é um recurso no nível do cluster, acessível entre diferentes namespaces.

Importante
  • Correspondência de imagens: Mantenha as referências de imagem idênticas às do ImageCache na especificação do pod para maximizar a taxa de acerto.

  • 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, tamanho e data de criação. Gera um novo cache caso não haja compatibilidade.

k8s.aliyun.com/imc-perfect-match

"true"

false

Exige correspondência total entre todas as imagens do pod e o cache. Sobrescreve a configuração imc-match-count-request.

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

"2"

Define a quantidade mínima de imagens do pod que devem corresponder ao cache.

k8s.aliyun.com/eci-imc-id

imc-2zebxkiifuyzzlhl****

Vincula o pod a um cache específico por ID. Esta definição tem prioridade sobre a correspondência automática.

Prioridade das anotações: Quando imc-perfect-match e imc-match-count-request estiverem configuradas simultaneamente, prevalece a imc-perfect-match. Se você especificar eci-imc-id, ela substituirá qualquer correspondência automática.

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

Ative eci-auto-imc e, opcionalmente, adicione imc-perfect-match para critérios mais rigorosos:

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 indicado precisa 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

Aplicar anotações em massa

Use o recurso Elastic Container Instance Effect no eci-profile para aplicar as anotações de ImageCache a todos os pods correspondentes. Consulte Configure o eci-profile para usar automaticamente o recurso ImageCache.

Próximos passos