Compartir a través de


Reducción del tiempo de extracción de imágenes con el streaming de artefactos en Azure Kubernetes Service (AKS) (versión preliminar)

Las cargas de trabajo de informática de alto rendimiento suelen implicar imágenes grandes, lo que puede provocar tiempos de extracción de imágenes largos y ralentizar las implementaciones de las cargas de trabajo. El streaming de artefactos en AKS permite transmitir imágenes de contenedor desde Azure Container Registry (ACR) a AKS. AKS solo extrae las capas necesarias para el inicio del pod original, lo que reduce el tiempo necesario para extraer imágenes e implementar las cargas de trabajo.

El streaming de artefactos puede reducir el tiempo de preparación del pod en más del 15 %, dependiendo del tamaño de la imagen, y funciona mejor para las imágenes de <30 GB. Tras realizar nuestras pruebas, observamos una reducción del tiempo de inicio del pod para las imágenes de <10 GB de minutos a segundos. Si tiene un pod que necesita acceso a un archivo grande (>30 GB), debe montarlo como un volumen en lugar de compilarlo como una capa. Esto se debe a que si el pod requiere ese archivo para iniciarse, congestiona el nodo. El streaming de artefactos no es ideal para leer imágenes pesadas del sistema de archivos si lo necesita durante el inicio. Con el streaming de artefactos, el inicio del pod se realiza de forma simultánea, mientras que sin él, los pods se inician en serie.

En este artículo se describe cómo habilitar la característica de streaming de artefactos en los grupos de nodos de AKS para transmitir artefactos desde ACR.

Importante

Las características en versión preliminar de AKS están disponibles como opción de participación y autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Importante

A partir del 30 de noviembre de 2025, Azure Kubernetes Service (AKS) ya no admite ni proporciona actualizaciones de seguridad para Azure Linux 2.0. La imagen de nodo de Linux 2.0 de Azure está congelada en la versión 202512.06.0. A partir del 31 de marzo de 2026, se quitarán las imágenes de nodo y no podrá escalar los grupos de nodos. Migre a una versión compatible de Azure Linux mediante la actualización de los grupos de nodos a una versión de Kubernetes compatible o la migración a osSku AzureLinux3. Para más información, consulte [Retirada] Grupos de nodos de Azure Linux 2.0 en AKS.

Importante

Artifact Streaming (versión preliminar) es una alternativa sugerida para los clientes que anteriormente usaban Teleport (versión preliminar). Teleport (versión preliminar) en AKS se retirará el 15 de julio de 2025. Migre a Artifact Streaming (versión preliminar) en AKS o actualice los grupos de nodos para establecer --aks-custom-headers EnableACRTeleport=false. Azure Container Registry quitó la API de Teleport, lo que significa que los nodos con Teleport habilitado extraerán imágenes de Azure Container Registry como cualquier otro nodo de AKS sin Teleport. Después del 15 de julio de 2025, los grupos de nodos de AKS con Teleport habilitado podrían experimentar interrupciones y fallos de aprovisionamiento de nodos. Para obtener más información, consulte aka.ms/aks/teleport-retirement.

Limitaciones

Requisitos previos

Nota:

El streaming de artefactos solo es compatible con los grupos de nodos de Ubuntu 22.04, Ubuntu 20.04 y Azure Linux. No se admiten los grupos de nodos de Windows.

Instalación de la extensión aks-preview de la CLI

  1. Instale la extensión aks-preview de la CLI mediante el comando az extension add.

    az extension add --name aks-preview
    
  2. Actualice la extensión para asegurarse de que tiene instalada la última versión mediante el comando az extension update.

    az extension update --name aks-preview
    

Registre la bandera de funciones ArtifactStreamingPreview en su suscripción

  • Registre la marca de características ArtifactStreamingPreview en su suscripción con el comando az feature register.

    az feature register --namespace Microsoft.ContainerService --name ArtifactStreamingPreview
    

Habilitar el streaming de artefactos en ACR

La habilitación en ACR es un requisito previo para el streaming de artefactos en AKS. Para más información, consulte Streaming de artefactos en ACR.

  1. Cree un grupo de recursos de Azure para que aloje su instancia de ACR mediante el comando az group create.

    az group create --name myStreamingTest --location westus
    
  2. Cree una SKU Premium de Azure Container Registry mediante el comando az acr create con la marca --sku Premium.

    az acr create --resource-group myStreamingTest --name mystreamingtest --sku Premium
    
  3. Configure la instancia de ACR predeterminada para la suscripción mediante el comando az configure.

    az configure --defaults acr="mystreamingtest"
    
  4. Inserte o importe una imagen en el Registro mediante el comando az acr import.

    az acr import --source docker.io/jupyter/all-spark-notebook:latest --repository jupyter/all-spark-notebook:latest
    
  5. Cree un artefacto de streaming a partir de la imagen mediante el comando az acr artifact-streaming create.

    az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
    
  6. Compruebe el streaming de artefactos generado mediante el comando az acr manifest list-referrers.

    az acr manifest list-referrers --name jupyter/all-spark-notebook:latest
    

Habilitar el streaming de artefactos en AKS

Habilitar el streaming de artefactos en un grupo de nodos nuevo

  • Cree un grupo de nodos con el streaming de artefactos habilitado mediante el comando az aks nodepool add con la marca --enable-artifact-streaming.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myNodePool \
        --enable-artifact-streaming
    

Habilitación del streaming de artefactos en un grupo de nodos existente

  • Actualice un grupo de nodos existente para habilitar el streaming de artefactos mediante el comando az aks nodepool update con --enable-artifact-streaming.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name myNodePool \
        --enable-artifact-streaming
    

Comprobar si el streaming de Artifact está habilitado

Ahora que ha habilitado el streaming de artefactos en un ACR prémium y lo ha conectado a un grupo de nodos de AKS con el streaming de artefactos habilitado, las nuevas implementaciones de pods de este clúster con una extracción de imágenes de ACR con el streaming de artefactos habilitado experimentarán reducciones en los tiempos de extracción de imágenes.

  • Compruebe si el grupo de nodos tiene el streaming de artefactos habilitado mediante el comando az aks nodepool show.

    az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster --name myNodePool --query artifactStreamingProfile
    

    En la salida, compruebe que el campo Enabled está establecido en true.

Pasos siguientes

En este artículo se describe cómo habilitar el streaming de artefactos en los grupos de nodos de AKS para transmitir artefactos desde ACR y reducir el tiempo de extracción de imágenes. Para más información sobre cómo trabajar con imágenes de contenedor en AKS, consulte Procedimientos recomendados para la administración y la protección de las imágenes de contenedor en AKS.