Устранение неполадок потоковой передачи артефактов

Действия по устранению неполадок, описанные в этой статье, помогут устранить распространенные проблемы, которые могут возникнуть при использовании потоковой передачи артефактов в Реестр контейнеров Azure (ACR). Эти шаги и рекомендации помогают диагностировать и устранять проблемы, связанные с потоковой передачей артефактов, а также предоставлять аналитические сведения о базовых процессах и журналах для отладки.

Симптомы

  • Сбой операции преобразования из-за неизвестной ошибки.
  • Устранение проблем с неудачными развертываниями подов AKS.
  • Условия контейнера указывают на "UpgradeIfStreamableDisabled".
  • Использование дайджеста вместо тега для артефакта потоковой передачи.

Причины

  • Проблемы с проверкой подлинности, задержкой сети, извлечением изображений, операциями потоковой передачи или другими проблемами.
  • Проблемы с извлечением изображений или потоковой передачей, конфигурациями потоковых артефактов, источниками изображений и ограничениями ресурсов.
  • Проблемы с конфигурациями или разрешениями ACR.

Сбой операции преобразования

Код ошибки Сообщение об ошибке Информация об устранении неполадок
UNKNOWN_ERROR Сбой операции преобразования из-за неизвестной ошибки. Вызвана внутренней ошибкой. Повторные попытки помогают здесь. Если повторные попытки не выполнены, обратитесь в службу поддержки.
RESOURCE_NOT_FOUND Сбой операции преобразования, так как целевой ресурс не найден. Если целевой образ не найден в реестре, проверьте опечатки в дайджесте образа. Если изображение удалено или отсутствует в целевом регионе (например, согласованность репликации не является немедленной)
UNSUPPORTED_PLATFORM Преобразование в настоящее время не поддерживается для платформы изображений. Изначально поддерживаются только образы linux/amd64.
НЕ НАЙДЕНА ПОДДЕРЖИВАЕМАЯ ПЛАТФОРМА Преобразование в настоящее время не поддерживается для любой платформы изображений в индексе. Изначально поддерживаются только образы linux/amd64. Изображение для этой платформы не найдено в целевом индексе.
Неподдерживаемый тип медиа Преобразование не поддерживается для образа MediaType. Преобразование может использовать только целевые изображения с типом мультимедиа: application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, application/vnd.docker.distribution.manifest.v2+json или application/vnd.docker.distribution.manifest.list.v2+json
НЕПОДДЕРЖИВАЕМЫЙ_ТИП_АРТЕФАКТА Преобразование не поддерживается для типа артефакта изображения. Артефакты потоковой передачи (тип артефакта: application/vnd.azure.artifact.streaming.v1) не подлежат повторному преобразованию.
ИЗОБРАЖЕНИЕ_НЕ_ВОСПРОИЗВОДИМО Преобразование не поддерживается для невыполняемых образов. Изначально поддерживаются только исполняемые образы linux/amd64.

Устранение неполадок с неудачными развертываниями подов AKS

Если развертывание pod AKS завершается сбоем с ошибкой, связанной с извлечением изображений, как показано в следующем примере.

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

Чтобы устранить эту проблему, ознакомьтесь со следующими рекомендациями.

  1. Проверьте, имеет ли AKS разрешения на доступ к реестру mystreamingtest.azurecr.ioконтейнеров.
  2. Убедитесь, что реестр mystreamingtest.azurecr.io контейнеров доступен и правильно подключен к AKS.

Проверка условия pod UpgradeIfStreamableDisabled:

Если условие pod AKS отображает "UpgradeIfStreamableDisabled", проверьте, представлен ли образ в Реестре контейнеров Azure.

Использование дайджеста вместо тега для артефакта потоковой передачи:

При развертывании артефакта потоковой передачи с использованием дайджеста вместо тега (например, mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18), событие AKS pod и сообщение об условии не будут включать сведения, связанные с потоковой передачей. Однако вы видите быстрый запуск контейнера в качестве базового ядра контейнеров. Этот движок потоково передает изображение в AKS, если обнаружит, что фактическое содержимое изображения передается.