Compartir vía


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:

  1. Compruebe si AKS tiene permisos para acceder al registro de contenedor mystreamingtest.azurecr.io.
  2. 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.