Solución de problemas de streaming de artefactos
Los pasos de solución de problemas de este artículo pueden ayudarle a resolver problemas comunes que podrían surgir al usar el streaming de artefactos en Azure Container Registry (ACR). Estos pasos y recomendaciones pueden ayudar a diagnosticar y resolver problemas relacionados con el streaming de artefactos, así como proporcionar información sobre los procesos y registros subyacentes con fines de depuración.
Síntomas
- Error en la operación de conversión debido a un error desconocido.
- Solucionar problemas de implementaciones de pods de AKS con errores.
- Las condiciones del pod indican "UpgradeIfStreamableDisabled".
- Uso de resumen en lugar de Etiqueta para artefacto de streaming.
Causas
- Problemas con la autenticación, la latencia de red, la recuperación de imágenes, las operaciones de streaming u otros problemas.
- Problemas con la extracción o streaming de imágenes, configuraciones de artefactos de streaming, orígenes de imágenes y restricciones de recursos.
- Problemas con las configuraciones o permisos de ACR.
Error en la operación de conversión
Código de error | Mensaje de error | Información de solución de problemas |
---|---|---|
UNKNOWN_ERROR | Error en la operación de conversión debido a un error desconocido. | Causado por un error interno. Un reintento sirve de ayuda. Si el reintento no se realiza correctamente, póngase en contacto con el soporte técnico. |
RESOURCE_NOT_FOUND | Error en la operación de conversión porque no se encuentra el recurso de destino. | Si la imagen de destino no se encuentra en el registro, compruebe si hay errores tipográficos en el resumen de la imagen. Si se elimina la imagen o esta falta en la región de destino (por ejemplo, la coherencia de replicación no es inmediata). |
UNSUPPORTED_PLATFORM | La conversión no se admite actualmente para la plataforma de imágenes. | Solo se admiten inicialmente imágenes linux/amd64. |
NO_SUPPORTED_PLATFORM_FOUND | La conversión no se admite actualmente para ninguna de las plataformas de imagen del índice. | Solo se admiten inicialmente imágenes linux/amd64. No se encuentra ninguna imagen con esta plataforma en el índice de destino. |
UNSUPPORTED_MEDIATYPE | No se admite la conversión para la imagen MediaType. | La conversión solo puede tener como destino imágenes con tipo de medio: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json o application/vnd.docker.distribution.manifest.list.v2+json |
UNSUPPORTED_ARTIFACT_TYPE | No se admite la conversión para la imagen ArtifactType. | Los artefactos de streaming (tipo de artefacto: application/vnd.azure.artifact.streaming.v1) no se pueden volver a convertir. |
IMAGE_NOT_RUNNABLE | No se admite la conversión para imágenes no ejecutables. | Inicialmente solo se admiten imágenes ejecutables linux/amd64. |
Solucionar problemas de implementaciones de pods de AKS con errores
Si se produce un error en la implementación del pod de AKS con un error relacionado con la extracción de imágenes, como en el ejemplo siguiente
Failed to pull image "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
rpc error: code = Unknown desc = failed to pull and unpack image
"mystreamingtest.azurecr.io/latestobd/jupyter/all-spark-notebook:latest":
failed to resolve reference "mystreamingtest.azurecr.io/jupyter/all-spark-notebook:latest":
unexpected status from HEAD request to http://localhost:8578/v2/jupyter/all-spark-notebook/manifests/latest?ns=mystreamingtest.azurecr.io:503 Service Unavailable
Para solucionar este problema, debe comprobar las siguientes directrices:
- Compruebe si AKS tiene permisos para acceder al registro de contenedor
mystreamingtest.azurecr.io
. - Asegúrese de que el registro de contenedor
mystreamingtest.azurecr.io
sea accesible y se adjunte correctamente a AKS.
Compruebe la condición de pod UpgradeIfStreamableDisabled:
Si la condición de pod de AKS muestra "UpgradeIfStreamableDisabled", compruebe si la imagen procede de una instancia de Azure Container Registry.
Uso del hash en lugar de la etiqueta para el artefacto de streaming
Si implementa el artefacto de streaming mediante hash en lugar de una etiqueta (por ejemplo, mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18), el evento de pod de AKS y el mensaje de condición no incluirán información relacionada con el streaming. Sin embargo, verá el inicio rápido del contenedor como motor de contenedor subyacente. Este motor transmite la imagen a AKS si detecta que se puede transmitir el contenido real de la imagen.