Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Accelerate pod creation with ImageCache

Dernière mise à jour :Sep 12, 2026

Avant son démarrage, une instance ECI doit télécharger les images de conteneur nécessaires. Cette opération constitue le principal facteur de latence lors du lancement d'un pod. ImageCache crée au préalable des snapshots de cache à partir de ces images. Les créations de pods suivantes réutilisent ainsi ce cache, ce qui réduit considérablement le temps de démarrage sur les nœuds virtuels.

Le gain de temps réel dépend du nombre et de la taille des images, ainsi que des conditions réseau.

Facturation

La création et l'utilisation d'un cache d'image peuvent entraîner des frais. Pour plus d'informations, consultez la rubrique Facturation des caches d'image.

Prérequis

Assurez-vous de disposer des éléments suivants :

  • Un cluster ACK avec des nœuds virtuels activés

  • Un accès kubectl au cluster

Étape 1 : Activer le support d'ImageCache

Vérifiez si votre cluster prend en charge ImageCache :

kubectl get crd/imagecaches.eci.alibabacloud.com
  • Si des informations relatives à imagecaches.eci.alibabacloud.com s'affichent, ImageCache est pris en charge. Passez directement à l'étape 2.

  • En cas d'erreur, mettez à jour le composant ACK Virtual Node vers sa dernière version.

Étape 2 : Créer un cache d'image

Privilégiez la création automatique, sauf si vous recherchez une vitesse maximale dès le premier pod.

Méthode Cas d'usage recommandé Fonctionnement
Automatique Scénarios courants, afin de limiter les coûts En l'absence de cache correspondant, le système en génère un pendant la création du pod. Les pods ultérieurs utilisant les mêmes images s'appuieront ensuite dessus.
Manuelle Première création nécessitant des performances optimales Générez le cache d'image en amont via un modèle YAML, puis référencez-le lors de la création du pod.

Pour la méthode manuelle, reportez-vous aux rubriques Gérer les ImageCaches et Annotations de cache d'image. Vous trouverez une comparaison détaillée dans la section Méthodes de création d'un cache d'image.

Étape 3 : Utiliser un cache d'image pour créer des pods

Ajoutez des annotations dans la section metadata de la spécification de votre pod (ou spec.template.metadata pour un Deployment) afin de cibler un cache d'image.

Important

Ces annotations ne s'appliquent qu'au moment de la création du pod. Toute modification apportée à un pod déjà existant reste sans effet.

Référence des annotations

ImageCache constitue une ressource à l'échelle du cluster, exploitable dans tous les namespaces.

Important
  • Correspondance des images : pour optimiser le taux de correspondance, utilisez exactement les mêmes références d'images dans la spécification du pod et dans l'ImageCache.

  • Politique de téléchargement : définissez imagePullPolicy sur IfNotPresent afin d'éviter le re-téléchargement des couches déjà mises en cache.

Annotation Exemple de valeur Valeur par défaut Description
k8s.aliyun.com/eci-auto-imc "true" true Active la mise en correspondance automatique des caches d'image. Le système retient le cache optimal selon le degré de correspondance des images, leur taille et leur date de création. Il en génère un nouveau si aucune correspondance n'existe.
k8s.aliyun.com/imc-perfect-match "true" false Exige une correspondance totale entre toutes les images du pod et le cache. Ce paramètre prévaut sur imc-match-count-request.
k8s.aliyun.com/imc-match-count-request "2" — Définit le nombre d'images du pod devant correspondre au cache d'image.
k8s.aliyun.com/eci-imc-id imc-2zebxkiifuyzzlhl**** — Associe le pod à un cache d'image précis via son ID. Cette directive supplante la mise en correspondance automatique.

Ordre de priorité des annotations : si imc-perfect-match et imc-match-count-request sont configurées simultanément, imc-perfect-match prime. De même, la présence de eci-imc-id désactive la correspondance automatique.

Mise en correspondance automatique d'un cache d'image (recommandé)

Activez eci-auto-imc et ajoutez éventuellement imc-perfect-match pour appliquer des critères de correspondance plus stricts :

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

Spécifier un cache d'image

Important

Le cache d'image ciblé doit impérativement se trouver à l'état Ready. Dans le cas contraire, la création du pod échoue.

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

Appliquer des annotations en bloc

Exploitez la fonctionnalité Elastic Container Instance Effect du profil eci-profile pour appliquer les annotations ImageCache à l'ensemble des pods correspondants. Consultez la rubrique Configurer eci-profile pour utiliser automatiquement la fonctionnalité ImageCache.

Étapes suivantes