Streaming de artefactos en Azure Container Registry (versión preliminar)
El streaming de artefactos es una característica de Azure Container Registry que permite almacenar imágenes de contenedor dentro de un único registro, así como administrar y transmitir imágenes de contenedor a clústeres de Azure Kubernetes Service (AKS) en varias regiones. Esta característica está diseñada para acelerar las cargas de trabajo contenedorizadas de los clientes de Azure que usen AKS. Con el streaming de artefactos es posible escalar fácilmente cargas de trabajo sin tener que esperar a tiempos de extracción lentos para el nodo.
Casos de uso
Estos son algunos escenarios de uso del streaming de artefactos:
Implementación de aplicaciones contenedorizadas en varias regiones: con el streaming de artefactos, es posible almacenar imágenes de contenedor en un único registro, así como administrar y transmitir imágenes de contenedor a clústeres de AKS en varias regiones. El streaming de artefactos implementa aplicaciones contenedorizadas en varias regiones sin consumir tiempo ni recursos.
Reducción de la latencia de extracción de imágenes: el streaming de artefactos puede reducir el tiempo de preparación del pod en más del 15 %, en función del tamaño de la imagen, y funciona mejor con imágenes < 30 GB. Esta característica reduce la latencia de extracción de imágenes y el inicio rápido de contenedores, lo que resulta beneficioso para desarrolladores de software y arquitectos de sistemas.
Escalado efectivo de aplicaciones contenedorizadas: el streaming de artefactos ofrece la oportunidad de diseñar, compilar e implementar aplicaciones contenedorizadas a gran escala.
Aspectos de streaming de artefactos
Estos son algunos aspectos breves del streaming de artefactos:
Los clientes con registros nuevos y existentes pueden iniciar el streaming de artefactos para etiquetas o repositorios específicos.
Los clientes pueden almacenar tanto el artefacto original como el artefacto de streaming en ACR iniciando el streaming de artefactos.
Los clientes tienen acceso al artefacto original y de streaming incluso después de desactivar el streaming de artefactos para repositorios o artefactos.
Los clientes que tengan el streaming de artefactos y la eliminación temporal habilitadas, eliminarán un repositorio o artefacto y, a continuación, se eliminarán las versiones de streaming de artefactos y los originales. Sin embargo, solo la versión original estará disponible en el portal de eliminación temporal.
Información de disponibilidad y precios
El streaming de artefactos solo está disponible en los niveles Premium (también conocidos como SKU). El streaming de artefactos podría aumentar el consumo general de almacenamiento del registro. Los clientes estarán sujetos a más cargos de almacenamiento, tal y como se describe en los precios, en caso de que el consumo supere el umbral de SKU Premium de 500 GiB incluido.
Limitaciones de vista previa
El streaming de artefactos se encuentra actualmente en versión preliminar. Se presentan las siguientes limitaciones:
- Solo se admiten imágenes con arquitectura AMD64 de Linux en la versión preliminar.
- La versión preliminar no admite imágenes de contenedor basadas en Windows ni imágenes ARM64.
- La versión preliminar admite parcialmente imágenes de arquitectura múltiple y solo se admite la arquitectura AMD64.
- Para crear grupos de nodos basados en Ubuntu en AKS, elija la versión 20.04 o posterior de Ubuntu.
- Para Kubernetes, use la versión 1.26 o posterior de Kubernetes, o bien la versión de Kubernetes > 1.25.
- Solo los registros de SKU Premium admiten la generación de artefactos de streaming en la versión preliminar. Los registros de SKU que no sean premium no ofrecen esta funcionalidad durante la versión preliminar.
- Los registros de CMK (claves administradas por el cliente) NO se admiten en la versión preliminar.
- Kubernetes regcred NO se admite actualmente.
Requisitos previos
Puede usar Azure Cloud Shell o una instalación local de la CLI de Azure para ejecutar los ejemplos de comando de este artículo. Si quiere usarlo de forma local, necesitará la versión 2.54.0 u otra posterior. Ejecute
az --version
para buscar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.Inicie sesión en Azure Portal.
Inicio del streaming de artefactos
Inicie el streaming de artefactos con una serie de comandos de la CLI de Azure y Azure Portal para insertar, importar y generar artefactos de streaming para imágenes de contenedor en Azure Container Registry (ACR). Estas instrucciones describen el proceso para crear una instancia de ACR de SKU Premium, importar una imagen, generar un artefacto de streaming y administrar la operación de streaming de artefactos. Asegúrese de reemplazar los marcadores de posición por los valores reales cuando sea necesario.
Insertar o importar la imagen y generar el artefacto de streaming: CLI de Azure
Esta característica está disponible en el nivel de servicio de registros de contenedores Premium. Para iniciar el streaming de artefactos, actualice un registro mediante la CLI de Azure (versión 2.54.0 o posterior). Para la instalación o la actualización, consulte Instalación de la CLI de Azure.
Inicie el streaming de artefactos siguiendo estos pasos generales:
Nota:
Si ya tiene un registro de contenedor Premium, puede omitir este paso. Si el usuario está en las SKU básicas o estándar, se producirá un error en los siguientes comandos. El código se escribe en la CLI de Azure y se puede ejecutar en modo interactivo. Tenga en cuenta que los marcadores de posición deben reemplazarse por valores reales antes de ejecutar el comando.
Cree una instancia de Azure Container Registry (ACR) con la SKU premium mediante:
Por ejemplo, ejecute el comando az group create para crear un grupo de recursos de Azure con el nombre
my-streaming-test
en la región Oeste de EE. UU. y, a continuación, ejecute el comando az acr create para crear una instancia premium de Azure Container Registry con el nombremystreamingtest
en ese grupo de recursos.az group create -n my-streaming-test -l westus az acr create -n mystreamingtest -g my-streaming-test -l westus --sku premium
Inserte o importe una imagen en el registro mediante:
Por ejemplo, ejecute el comando [az configure] para configurar la instancia de ACR predeterminada y el comando az acr import para importar una imagen de Jupyter Notebook desde Docker Hub en la instancia de ACR
mystreamingtest
.az configure --defaults acr="mystreamingtest" az acr import --source docker.io/jupyter/all-spark-notebook:latest -t jupyter/all-spark-notebook:latest
Creación de un streaming de artefactos a partir de la imagen
Inicia la creación de un artefacto de streaming a partir de la imagen especificada.
Por ejemplo, ejecute los comandos az acr artifact-streaming create para crear un artefacto de streaming a partir de la imagen
jupyter/all-spark-notebook:latest
en la instancia de ACRmystreamingtest
.az acr artifact-streaming create --image jupyter/all-spark-notebook:latest
Nota:
Durante el proceso se genera un identificador de operación para que se haga referencia futura para comprobar el estado de la operación.
Compruebe el streaming de artefactos generado en la CLI de Azure.
Por ejemplo, ejecute el comando az acr manifest list-referrers para enumerar los artefactos de streaming de la imagen
jupyter/all-spark-notebook:latest
en la instancia de ACRmystreamingtest
.az acr manifest list-referrers -n jupyter/all-spark-notebook:latest
Cancelación de la creación del streaming de artefactos (si fuera necesario)
Cancele la creación del artefacto de streaming en caso de que la conversión no haya finalizado aún. Detiene la operación.
Por ejemplo, ejecute el comando az acr artifact-streaming operation cancel para cancelar la operación de conversión de la imagen
jupyter/all-spark-notebook:latest
en la instancia de ACRmystreamingtest
.az acr artifact-streaming operation cancel --repository jupyter/all-spark-notebook --id c015067a-7463-4a5a-9168-3b17dbe42ca3
Iniciar la conversión automática en el repositorio
Inicie la conversión automática en el repositorio para imágenes recién insertadas o importadas. Cuando se inicia, las nuevas imágenes insertadas en ese repositorio desencadenan la generación de artefactos de streaming.
Nota:
La conversión automática no se aplica a las imágenes existentes. Las imágenes existentes se pueden convertir manualmente.
Por ejemplo, ejecute el comando az acr artifact-streaming update para iniciar la conversión automática del repositorio de
jupyter/all-spark-notebook
en la instancia de ACRmystreamingtest
.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming true
Compruebe el progreso de la conversión de streaming después de insertar una nueva imagen
jupyter/all-spark-notebook:newtag
en el repositorio anterior.Por ejemplo, ejecute el comando az acr artifact-streaming operation show para comprobar el estado de la operación de conversión de la imagen
jupyter/all-spark-notebook:newtag
en la instancia de ACRmystreamingtest
.az acr artifact-streaming operation show --image jupyter/all-spark-notebook:newtag
Una vez comprobado el estado de conversión, ahora puede conectarse a AKS. Consulte la documentación de AKS.
Desactive el artefacto de streaming del repositorio.
Por ejemplo, ejecute el comando az acr artifact-streaming update para eliminar el artefacto de streaming de la imagen
jupyter/all-spark-notebook:latest
en ACRmystreamingtest
.az acr artifact-streaming update --repository jupyter/all-spark-notebook --enable-streaming false
Nota:
El streaming de artefactos funciona entre regiones, independientemente de si la replicación geográfica se inició o no. El streaming de artefactos funciona a través de un punto de conexión privado y adjunto a el.
Insertar o importar la imagen y generar el artefacto de streaming: Azure Portal
El streaming de artefactos está disponible en SKU premium de Azure Container Registry. Para iniciar el streaming de artefactos, actualice un registro mediante Azure Portal.
Siga los pasos para crear el streaming de artefactos en Azure Portal.
Navegue a la instancia de Azure Container Registry.
En el Menú lateral, en Servicios, seleccione Repositorios.
Seleccione la imagen importada más reciente.
Convertir la imagen y crear streaming de artefactos en Azure Portal.
Comprobar el artefacto de streaming generado a partir de la imagen en la pestaña Referencias.
También se puede eliminar el streaming de artefactos del repositorio.
También es posible habilitar la conversión automática accediendo al repositorio en el portal. Activo significa que la conversión automática está habilitada en el repositorio. Inactivo significa que la conversión automática está deshabilitada en el repositorio.
Nota:
El estado del streaming de artefactos en un repositorio (Inactivo o Activo) determinará si las imágenes compatibles recién insertadas se convertirán automáticamente. De forma predeterminada, todos los repositorios están en estado Inactivo para el streaming de artefactos. Esto significa que, cuando se inserten nuevas imágenes compatibles en el repositorio, no se desencadenará el streaming de artefactos y las imágenes no se convertirán automáticamente. Si se desea iniciar la conversión automática de imágenes recién insertadas, será necesario establecer el streaming de artefactos del repositorio en estado Activo. Una vez que el repositorio esté en estado Activo, las nuevas imágenes de contenedor compatibles que se inserten en el repositorio desencadenarán el streaming de artefactos. Esto iniciará la conversión automática de esas imágenes.