Tous les produits
Search
Centre de documentation

Container Registry:Chargement des images de conteneur à la demande

Dernière mise à jour :Aug 18, 2026

Traditionnellement, l'exécution d'un conteneur nécessite de télécharger et de décompresser l'intégralité de l'image avant le démarrage. Or, un conteneur n'a souvent besoin que d'une fraction des données de l'image pour démarrer, ce qui allonge les temps de démarrage. La fonctionnalité de chargement à la demande de Container Registry Enterprise Edition résout ce problème en téléchargeant et en décompressant uniquement les données d'image essentielles au démarrage, et non l'image complète. Cette méthode accélère considérablement le déploiement des applications et améliore l'élasticité de la mise à l'échelle.

Prérequis

  • Un cluster ACK pris en charge est disponible.

    Remarque

    Vous pouvez utiliser des images accélérées dans les clusters ACK managés ou dédiés de version 1.16.9 ou ultérieure, ainsi que dans les clusters ACK Edge, les clusters ACK Serverless, les clusters ACK Lingjun et les clusters Alibaba Cloud Container Compute Service (ACS) de version 1.26.3 ou ultérieure. Lors de la création du cluster, le système d'exploitation doit être Alibaba Cloud Linux 2.1903, Alibaba Cloud Linux 3.2104, Alibaba Cloud Linux 3.2104 LTS édition 64 bits ARM, Alibaba Cloud Linux UEFI 2.1903 ou CentOS 7.9.

  • Vous avez créé une instance Container Registry Enterprise Edition. Pour plus d'informations, consultez la rubrique Créer une instance Container Registry Enterprise Edition.

    Important

    Les éditions d'instance Container Registry Enterprise Edition prises en charge varient selon le mode d'accélération d'image :

    • Mode complet : les éditions Standard ou Advanced sont prises en charge.

    • Mode index-only : les éditions Basic, Standard ou Advanced sont prises en charge.

  • Le VPC de votre cluster ACK ou cluster ACK Serverless est configuré pour votre instance Container Registry Enterprise Edition. Les images accélérées doivent être utilisées au sein d'un VPC. Pour plus d'informations, consultez la rubrique Configurer le contrôle d'accès pour un VPC.

Contexte

La fonctionnalité de chargement à la demande de Container Registry Enterprise Edition vous permet d'utiliser des images accélérées dans vos déploiements. Cela élimine le besoin de télécharger l'image complète et permet une décompression à la volée, ce qui améliore considérablement l'efficacité de la distribution des applications et l'élasticité de la mise à l'échelle. L'effet d'accélération dépend de facteurs tels que la taille de l'image et les conditions réseau du dépôt. Lors d'un test, une application utilisant une image NodeBB de 1,34 Go provenant de Docker Hub a mis 36 secondes pour extraire l'image, avec un temps de démarrage total de 38 secondes. En utilisant une image accélérée, le temps d'extraction a été réduit à 4 secondes et le temps de démarrage total n'était que de 9 secondes.

Limites

  • Si votre runtime de conteneur est containerd, les dépôts d'images accélérées peuvent utiliser des noms de domaine personnalisés. En raison des limitations de Docker, cette fonctionnalité n'est pas prise en charge si vous utilisez le runtime Docker. Pour plus d'informations, consultez la rubrique Utiliser un nom de domaine personnalisé pour accéder à une instance Container Registry Enterprise Edition.

  • Le mode index-only ne peut pas être utilisé dans les scénarios Function Compute (FC) ou Serverless App Engine (SAE).

  • Vous devez convertir manuellement les images existantes en images accélérées.

Disponibilité régionale

La fonctionnalité de chargement à la demande n'est pas disponible dans les régions Alibaba Finance Cloud et Alibaba Gov Cloud.

Convertir en image accélérée

Vous pouvez configurer un dépôt pour convertir automatiquement les images originales envoyées en images accélérées. Le temps de conversion varie selon la taille de l'image. L'image originale n'est pas affectée.

Remarque

L'image accélérée utilise le même namespace et le même nom de dépôt que l'image originale. Le format du tag est le suivant :

  • Mode index-only : le tag de l'image accélérée correspond au tag de l'image originale avec le suffixe _accelerated. Ce mode est pris en charge uniquement par le runtime containerd. Vous ne pouvez pas supprimer le tag de l'image originale tant que l'image accélérée est utilisée.

  • Mode complet :

    • Une image accélérée avec le suffixe _accelerated prend en charge les runtimes Docker et containerd.

    • Une image accélérée avec le suffixe _containerd_accelerated est destinée exclusivement au runtime containerd.

      Lorsqu'une image avec le suffixe _containerd_accelerated est utilisée, vous ne pouvez pas supprimer l'image accélérée ni son image originale.

  1. Connectez-vous à la console Container Registry.

  2. Dans la barre de navigation supérieure, sélectionnez une région.

  3. Dans le volet de navigation de gauche, cliquez sur Instances.

  4. Sur la page Instances, cliquez sur l'instance Enterprise Edition que vous souhaitez gérer.

  5. Sur la page des détails de l'instance, dans le volet de navigation de gauche, choisissez Repository > Repositories.

  6. Sur la page Repositories, cliquez sur le nom du dépôt cible ou cliquez sur Manage dans la colonne Actions. Dans le coin supérieur gauche de la page Basic Information, cliquez sur Edit.

  7. Dans la boîte de dialogue Modify Settings, activez l'option Accelerated Image, sélectionnez un mode, puis cliquez sur Confirm.

    • Full Mode : offre une accélération significative du démarrage des conteneurs. La taille de l'image accélérée générée est d'environ 130 % de la taille de l'image originale. Il faut environ 25 secondes pour générer une image accélérée à partir d'une image originale de 1 Go. Les couches d'image existantes ne sont pas régénérées.

    • index-only mode : offre environ 70 % de l'effet d'accélération du mode complet. La taille de l'image accélérée représente environ 3 % de la taille de l'image originale. Il faut environ 3 secondes pour générer une image accélérée à partir d'une image originale de 1 Go. Les couches d'image pour lesquelles un index a déjà été créé ne sont pas réindexées.

      Important

      Le mode index-only est en aperçu public. Nous vous recommandons de le tester dans un environnement de non-production avant de l'utiliser en production.

      Remarque
      • Le mode index-only s'applique uniquement aux images compressées avec tar ou tgz. Ce mode ne s'applique pas aux images compressées avec d'autres méthodes, telles que zstd.

      • Le mode index-only doit être utilisé conjointement avec l'image originale, et celle-ci ne peut pas être supprimée. En mode complet, l'image accélérée peut être utilisée de manière indépendante.

      • Le mode index-only n'est pas pris en charge par le runtime Docker.

    Après avoir configuré l'accélération d'image, les images envoyées déclenchent automatiquement des tâches de conversion. Si vous souhaitez recevoir des notifications lorsque la conversion d'image est terminée, vous pouvez configurer des notifications d'événement. Par exemple, définissez l'expression sur _accelerated$. Pour plus d'informations, consultez la rubrique Configurer des notifications d'événement.

  8. (Facultatif) Spécifiez une Prefetch File List. Les fichiers de cette liste sont préchargés au démarrage de l'image accélérée. Nous vous recommandons d'utiliser cette fonctionnalité lorsque des fichiers volumineux doivent être lus au démarrage du conteneur.

    Remarque

    Chaque ligne doit contenir un chemin absolu vers un fichier. Pour un répertoire, le chemin doit se terminer par une barre oblique (/).

Installer le composant d'accélération d'image

Pour démarrer des conteneurs accélérés, vous devez installer le plugin de stockage pour le chargement à la demande sur vos nœuds de travail.

  1. Clusters ACK managés et dédiés

    Activer pour un nouveau pool de nœuds

    1. Connectez-vous à la console ACK et cliquez sur Clusters dans le volet de navigation de gauche.

    2. Cliquez sur le nom du cluster. Dans le volet de navigation de gauche, choisissez Nodes > Node Pools.

    3. Lors de la création d'un pool de nœuds, développez les Advanced Options et activez l'option Container Image Acceleration.

    Activer pour un pool de nœuds existant

    Important

    Les modifications apportées à l'option Container Image Acceleration ne prennent effet que sur les nœuds ajoutés au pool après la modification. Les nœuds existants ne sont pas affectés ; pour appliquer la fonctionnalité aux nœuds existants, supprimez-les et rajoutez-les. Consultez les rubriques Supprimer un nœud et Ajouter des nœuds existants.

    1. Connectez-vous à la console ACK et cliquez sur Clusters dans le volet de navigation de gauche.

    2. Cliquez sur le nom du cluster. Dans le volet de navigation de gauche, choisissez Nodes > Node Pools.

    3. Recherchez le pool de nœuds et cliquez sur Edit dans la colonne Actions. Dans la section Advanced Options, activez l'option Container Image Acceleration et suivez les instructions à l'écran pour mettre à jour le ConfigMap du pool de nœuds. La colonne Status affiche Updating pendant la mise à jour, puis Active une fois celle-ci terminée.

    Autres types de cluster

    Vous devez ajouter le libellé d'accélération d'image alibabacloud.com/image-accelerate-enabled: true aux nœuds. Cette action active automatiquement la fonctionnalité d'accélération d'image et installe le plugin de stockage d'image lors de l'initialisation du nœud.

    La méthode d'ajout d'un libellé varie selon le type de cluster :

    Type de cluster

    Guide de configuration

    Cluster ACK Serverless

    Cluster ACK Edge

    Cluster ACK Lingjun

    Pools de nœuds Lingjun

    Alibaba Cloud Container Compute Service (ACS)

    Gérer les libellés et les taints des nœuds

  2. Installez le composant d'accélération d'image.

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, cliquez sur Add-ons.

    3. Sur la page Add-ons, recherchez aliyun-acr-acceleration-suite dans la section More et cliquez sur Install.

    4. Dans la boîte de dialogue Tips, cliquez sur OK.

      • Dans le volet de navigation de gauche, choisissez Workloads > DaemonSets. Sur la page DaemonSets, consultez les détails d'installation du DaemonSet du composant.

      • Dans le volet de navigation de gauche, choisissez Workloads > Deployments. Sur la page Deployments, consultez les détails d'installation du Deployment du composant.

      L'installation du composant est terminée lorsque tous ses pods sont en cours d'exécution.

Activer les images accélérées

  1. Configurez les identifiants d'accès au dépôt.

    Avertissement

    Configurez votre secret d'extraction d'image selon le principe du moindre privilège. Accordez uniquement les autorisations nécessaires pour extraire les images de service utilisées par le cluster. Pour plus d'informations, consultez la rubrique Accorder une politique personnalisée à un utilisateur RAM.

    • Option 1 : Utilisez le composant aliyun-acr-credential-helper.

    • Option 2 : Ajoutez un libellé à un secret d'extraction d'image.

      Remarque

      Cette méthode est prise en charge uniquement par le composant aliyun-acr-acceleration-suite de version 0.2.6 ou ultérieure.

      Créez un Secret de type kubernetes.io/dockerconfigjson et ajoutez le libellé images.alibabacloud.com/accelerated: true au Secret.

      kubectl create secret docker-registry <SecretName> --docker-server=<RegistryVpcDomain> --docker-username=<UserName> --docker-password=<Password>
      kubectl label secrets <SecretName>  images.alibabacloud.com/accelerated="true"
  2. Ajoutez un libellé d'accélération d'image.

    Vous pouvez ajouter un libellé d'accélération d'image à une charge de travail, telle qu'un pod ou un Deployment, ou à un namespace entier dans votre cluster ACK ou cluster ACK Serverless. Lorsque vous appliquez un libellé à un namespace, le chargement à la demande est activé pour toutes les charges de travail éligibles au sein de ce namespace, ce qui élimine le besoin de modifier le fichier YAML pour chaque charge de travail. Choisissez la méthode qui convient le mieux à vos besoins.

    Remarque

    La clé du libellé est k8s.aliyun.com/image-accelerate-mode et la valeur est on-demand.

    • Ajoutez un libellé d'accélération d'image à une charge de travail.

      L'exemple suivant montre comment ajouter un libellé à un pod géré par un Deployment. Exécutez la commande suivante pour modifier le Deployment :

      kubectl edit deployment <DeploymentName> -n <DeploymentNamespace>

      Dans le fichier YAML du Deployment, ajoutez le libellé k8s.aliyun.com/image-accelerate-mode: on-demand.

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nginx-deployment
        labels:
          app: nginx
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
              # enable on-demand mode
              k8s.aliyun.com/image-accelerate-mode: on-demand
          spec:
            containers:
             # your ACR instacne image
             - image: test-registry-vpc.cn-hangzhou.cr.aliyuncs.com/test/nginx:latest
               name: test
               command: ["sleep", "3600"]
    • Ajoutez un libellé d'accélération d'image à un namespace.

      • Ajoutez un libellé d'accélération d'image dans la console.

        1. Connectez-vous à la console ACK, et dans la barre de navigation de gauche, sélectionnez Clusters.

        2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Namespaces and Quotas.

        3. Sur la page Namespace, recherchez le namespace cible et cliquez sur Edit dans la colonne Actions.

        4. Dans la boîte de dialogue Edit Namespace, définissez la Variable Key du Tag sur k8s.aliyun.com/image-accelerate-mode et la Variable Value du Tag sur on-demand, puis cliquez sur Confirm.

      • Ajoutez un libellé d'accélération d'image via la ligne de commande.

    kubectl label namespaces <YOUR-NAMESPACE> k8s.aliyun.com/image-accelerate-mode=on-demand

    Après avoir ajouté le libellé d'accélération et converti une image originale en image accélérée, le composant d'accélération remplace automatiquement l'adresse de l'image originale par l'adresse de l'image accélérée et ajoute un nodeSelector pour planifier les pods sur des nœuds accélérés lors de la création ou des mises à jour de pods au sein du namespace.