Todos los productos
Search
Centro de documentos

Container Registry:Cargar imágenes de contenedor bajo demanda

Última actualización: Sep 02, 2026

Tradicionalmente, ejecutar un contenedor requiere descargar y descomprimir la imagen completa antes del inicio. Sin embargo, un contenedor a menudo necesita solo una fracción de los datos de la imagen para arrancar, lo que provoca tiempos de inicio prolongados. La función de carga bajo demanda de Container Registry Enterprise Edition soluciona esto al descargar y descomprimir únicamente los datos de la imagen esenciales para el arranque, en lugar de la imagen completa. Este método acelera significativamente el despliegue de aplicaciones y mejora la elasticidad del escalado.

Requisitos previos

  • Debe contar con un clúster de ACK compatible disponible.

    Nota

    Puede usar imágenes aceleradas en clústeres administrados o dedicados de ACK versión 1.16.9 o posterior, así como en clústeres ACK Edge, clústeres ACK Serverless, clústeres ACK Lingjun y clústeres de Alibaba Cloud Container Compute Service (ACS) versión 1.26.3 o posterior. Al crear el clúster, el sistema operativo debe ser Alibaba Cloud Linux 2.1903, Alibaba Cloud Linux 3.2104, Alibaba Cloud Linux 3.2104 LTS 64 bit ARM edition, Alibaba Cloud Linux UEFI 2.1903 o CentOS 7.9.

  • Debe haber creado una instancia de Container Registry Enterprise Edition. Para obtener más información, consulte Create a Container Registry Enterprise Edition instance.

    Importante

    Las ediciones compatibles de Container Registry Enterprise Edition varían según el modo de aceleración de imágenes:

    • Modo completo: se admiten las ediciones Standard y Advanced.

    • Modo solo índice: se admiten las ediciones Basic, Standard y Advanced.

  • La VPC de su clúster de ACK o ACK Serverless está configurada para su instancia de Container Registry Enterprise Edition. Las imágenes aceleradas deben usarse dentro de una VPC. Para obtener más información, consulte Configure access control for a VPC.

Contexto

La función de carga bajo demanda de Container Registry Enterprise Edition permite utilizar imágenes aceleradas en sus despliegues. Esto elimina la necesidad de descargar imágenes completas y habilita la descompresión sobre la marcha, lo cual mejora significativamente la eficiencia en la distribución de aplicaciones y la elasticidad del escalado. El efecto de la aceleración depende de factores como el tamaño de la imagen y las condiciones de red del repositorio. En una prueba, una aplicación que utilizaba una imagen de NodeBB de 1.34 GB desde Docker Hub tardó 36 segundos en extraer la imagen, con un tiempo total de inicio de 38 segundos. Al utilizar una imagen acelerada, el tiempo de extracción se redujo a 4 segundos y el tiempo total de inicio fue de solo 9 segundos.

Limitaciones

  • Si su entorno de ejecución de contenedores es containerd, los repositorios de imágenes aceleradas pueden usar nombres de dominio personalizados. Debido a limitaciones de Docker, esta opción no es compatible si utiliza el entorno de ejecución Docker. Para obtener más información, consulte Use a custom domain name to access a Container Registry Enterprise Edition instance.

  • El modo solo índice no puede utilizarse en escenarios de Function Compute (FC) ni Serverless App Engine (SAE).

  • Debe convertir manualmente las imágenes existentes a imágenes aceleradas.

Disponibilidad por región

La función de carga bajo demanda no está disponible en las regiones de Alibaba Finance Cloud ni Alibaba Gov Cloud.

Convertir a una imagen acelerada

Puede configurar un repositorio para que convierta automáticamente las imágenes originales enviadas en imágenes aceleradas. El tiempo de conversión varía según el tamaño de la imagen. La imagen original no se ve afectada.

Nota

La imagen acelerada utiliza el mismo espacio de nombres y nombre de repositorio que la imagen original. El formato de la etiqueta es el siguiente:

  • Modo solo índice: la etiqueta de la imagen acelerada es la etiqueta de la imagen original con el sufijo _accelerated. Este modo solo es compatible con el entorno de ejecución containerd. No puede eliminar la etiqueta de la imagen original mientras la imagen acelerada esté en uso.

  • Modo completo:

    • Una imagen acelerada con el sufijo _accelerated es compatible con los entornos de ejecución Docker y containerd.

    • Una imagen acelerada con el sufijo _containerd_accelerated es exclusiva para el entorno de ejecución containerd.

      Cuando una imagen con el sufijo _containerd_accelerated está en uso, no puede eliminar la imagen acelerada ni su imagen original.

  1. Inicie sesión en la consola de Container Registry.

  2. En la barra de navegación superior, seleccione una región.

  3. En el panel de navegación izquierdo, haga clic en Instances.

  4. En la página Instances, haga clic en la instancia de Enterprise Edition que desea gestionar.

  5. En la página de detalles de la instancia, en el panel de navegación izquierdo, elija Repository > Repositories.

  6. En la página Repositories, haga clic en el nombre del repositorio destino o haga clic en Manage en la columna Actions. En la esquina superior izquierda de la página Basic Information, haga clic en Edit.

  7. En el cuadro de diálogo Modify Settings, habilite Accelerated Image, seleccione un modo y luego haga clic en Confirm.

    • Full Mode: proporciona una aceleración significativa para el inicio del contenedor. El tamaño de la imagen acelerada generada es aproximadamente el 130 % del tamaño de la imagen original. Generar una imagen acelerada a partir de una imagen original de 1 GB toma alrededor de 25 segundos. Las capas de imagen existentes no se regeneran.

    • Modo solo índice: proporciona aproximadamente el 70 % del efecto de aceleración del modo completo. El tamaño de la imagen acelerada es cerca del 3 % del tamaño de la imagen original. Generar una imagen acelerada a partir de una imagen original de 1 GB toma alrededor de 3 segundos. Las capas de imagen para las cuales ya se creó un índice no se vuelven a indexar.

      Importante

      El modo solo índice se encuentra en vista previa pública. Se recomienda probarlo en un entorno que no sea de producción antes de utilizarlo en un entorno productivo.

      Nota
      • El modo solo índice aplica únicamente a imágenes comprimidas con tar o tgz. El modo no aplica a imágenes comprimidas con otros métodos, como zstd.

      • El modo solo índice debe usarse junto con la imagen original, y la imagen original no puede eliminarse. En el modo completo, la imagen acelerada puede usarse de forma independiente.

      • El entorno de ejecución Docker no admite el modo solo índice.

    Después de configurar la aceleración de imágenes, las imágenes enviadas activan automáticamente tareas de conversión. Si desea recibir notificaciones cuando finalice la conversión de imágenes, puede configurar notificaciones de eventos. Por ejemplo, establezca la expresión en _accelerated$. Para obtener más información, consulte Configure event notifications.

  8. (Opcional) Especifique una Prefetch File List. Los archivos en esta lista se precargan cuando se inicia la imagen acelerada. Se recomienda utilizar esta función cuando sea necesario leer archivos grandes durante el arranque del contenedor.

    Nota

    Cada línea debe contener una ruta absoluta a un archivo. Para un directorio, la ruta debe terminar con una barra diagonal (/).

Instalar el componente de aceleración de imágenes

Para iniciar contenedores acelerados, debe instalar el plugin de almacenamiento para carga bajo demanda en sus nodos worker.

  1. Para admitir imágenes aceleradas DADI, instale el componente ack-dadi para habilitar la aceleración de imágenes en los nodos de un node pool.

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Nodes > Node Pools.

    3. En la página Node Pools, haga clic en el node pool destino y luego en la pestaña Node Components.

    4. Haga clic en Install Node Components y, en el panel que aparece a la derecha, seleccione el componente ack-dadi e instálelo siguiendo las instrucciones.

  2. Instale el componente de aceleración de imágenes. (Obligatorio solo para clústeres anteriores a la versión 1.34).

    1. Inicie sesión en la consola de ACK. En el panel de navegación izquierdo, haga clic en Clusters.

    2. En la página Clusters, haga clic en el nombre del clúster destino. En el panel de navegación izquierdo, haga clic en Add-ons.

    3. En la página Add-ons, busque aliyun-acr-acceleration-suite en la sección More y haga clic en Install.

    4. En el cuadro de diálogo Tips, haga clic en OK.

      • En el panel de navegación izquierdo, elija Workloads > DaemonSets. En la página DaemonSets, consulte los detalles de instalación del DaemonSet del componente.

      • En el panel de navegación izquierdo, elija Workloads > Deployments. En la página Deployments, consulte los detalles de instalación del Deployment del componente.

      La instalación del componente se completa cuando todos sus pods se encuentran en ejecución.

Habilitar imágenes aceleradas

  1. Configure las credenciales de acceso al repositorio.

    Aviso

    Configure su secreto de extracción de imágenes siguiendo el principio de menor privilegio. Otorgue únicamente los permisos necesarios para extraer las imágenes de servicio utilizadas por el clúster. Para obtener más información, consulte Grant a custom policy to a RAM user.

    • Opción 1: utilice el componente aliyun-acr-credential-helper.

    • Opción 2: agregue una etiqueta a un secreto de extracción de imágenes.

      Nota

      Este método solo es compatible con el componente aliyun-acr-acceleration-suite versión 0.2.6 o posterior.

      Cree un Secret de tipo kubernetes.io/dockerconfigjson y agregue la etiqueta images.alibabacloud.com/accelerated: true al 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. Agregue una etiqueta de aceleración de imágenes.

    Puede agregar una etiqueta de aceleración de imágenes a una carga de trabajo, como un pod o un Deployment, o a un espacio de nombres completo en su clúster de ACK o ACK Serverless. Al etiquetar un espacio de nombres, la carga bajo demanda se habilita para todas las cargas de trabajo elegibles dentro de ese espacio de nombres, lo que elimina la necesidad de modificar el archivo YAML de cada carga de trabajo. Elija el método que mejor se adapte a sus requisitos.

    Nota

    La clave de la etiqueta es k8s.aliyun.com/image-accelerate-mode y el valor es on-demand.

    • Agregue una etiqueta de aceleración de imágenes a una carga de trabajo.

      El siguiente ejemplo muestra cómo agregar una etiqueta a un pod gestionado por un Deployment. Ejecute el siguiente comando para editar el Deployment:

      kubectl edit deployment <DeploymentName> -n <DeploymentNamespace>

      En el archivo YAML del Deployment, agregue la etiqueta 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"]
    • Agregue una etiqueta de aceleración de imágenes a un espacio de nombres.

      • Agregue una etiqueta de aceleración de imágenes desde la consola.

        1. Inicie sesión en la consola de ACK y, en la barra de navegación izquierda, seleccione Clusters.

        2. En la página Clusters, haga clic en el nombre de su clúster. En el panel de navegación izquierdo, haga clic en Namespaces and Quotas.

        3. En la página Namespace, busque el espacio de nombres destino y haga clic en Edit en la columna Actions.

        4. En el cuadro de diálogo Edit Namespace, establezca la Variable Key de la Tag en k8s.aliyun.com/image-accelerate-mode y el Variable Value de la Tag en on-demand, y luego haga clic en Confirm.

      • Agregue una etiqueta de aceleración de imágenes mediante la línea de comandos.

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

    Después de agregar la etiqueta de aceleración y convertir una imagen original en una imagen acelerada, el componente de aceleración reemplaza automáticamente la dirección de la imagen original por la dirección de la imagen acelerada y agrega un nodeSelector para programar pods en nodos acelerados durante la creación o actualización de pods dentro del espacio de nombres.