Condividi tramite


Risolvere i problemi relativi al flusso degli artefatti

La procedura per la risoluzione dei problemi descritta in questo articolo consente di risolvere i problemi comuni che possono verificarsi quando si usa lo streaming degli artefatti in Registro Azure Container (ACR). Questi passaggi e consigli aiutano a diagnosticare e risolvere i problemi relativi allo streaming degli artefatti, oltre a fornire informazioni dettagliate sui processi e i log sottostanti a scopo di debug.

Sintomi

  • L'operazione di conversione non è riuscita a causa di un errore sconosciuto.
  • Risoluzione dei problemi relativi alle distribuzioni di pod del servizio Azure Kubernetes non riuscite.
  • Le condizioni del pod indicano "UpgradeIfStreamableDisabled".
  • Utilizzo del digest anziché del tag per l'artefatto di streaming.

Cause

  • Problemi relativi all'autenticazione, alla latenza di rete, al recupero di immagini, alle operazioni di streaming o problemi di altro tipo.
  • Problemi relativi al pull o allo streaming di immagini, alle configurazioni degli artefatti di streaming, alle origini delle immagini e ai vincoli delle risorse.
  • Problemi relativi alle configurazioni o alle autorizzazioni del Registro Azure Container.

Operazione di conversione non riuscita

Codice di errore Messaggio di errore Informazioni sulla risoluzione dei problemi
UNKNOWN_ERROR L'operazione di conversione non è riuscita a causa di un errore sconosciuto. Problema causato da un errore interno. In questo caso è utile ripetere il tentativo. Se il nuovo tentativo non riesce, contattare il supporto tecnico.
RESOURCE_NOT_FOUND Operazione di conversione non è riuscita perché la risorsa di destinazione non è stata trovata. Se l'immagine di destinazione non viene trovata nel registro, verificare gli errori di digitazione nel digest dell'immagine. Se l'immagine viene eliminata o non è presente nell'area di destinazione (la coerenza della replica non è immediata, ad esempio)
UNSUPPORTED_PLATFORM La conversione non è attualmente supportata per la piattaforma immagine. Inizialmente sono supportate solo le immagini Linux/AMD64.
NO_SUPPORTED_PLATFORM_FOUND La conversione non è attualmente supportata per nessuna delle piattaforme immagine nell'indice. Inizialmente sono supportate solo le immagini Linux/AMD64. Nessuna immagine con questa piattaforma è stata trovata nell'indice di destinazione.
UNSUPPORTED_MEDIATYPE La conversione non è supportata per il tipo di supporto immagine. La conversione può fare riferimento solo a immagini con tipo di supporto: 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 La conversione non è supportata per il tipo di artefatto immagine. Gli artefatti di streaming (tipo di artefatto: application/vnd.azure.artifact.streaming.v1) non possono essere convertiti di nuovo.
IMAGE_NOT_RUNNABLE La conversione non è supportata per le immagini non eseguibili. Inizialmente sono supportate solo le immagini eseguibili Linux/AMD64.

Risoluzione dei problemi relativi alle distribuzioni di pod del servizio Azure Kubernetes non riuscite

Se la distribuzione dei pod del servizio Azure Kubernetes non riesce, restituendo un errore correlato al pull delle immagini, come nell'esempio seguente.

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

Per risolvere questo problema, è necessario controllare le indicazioni seguenti:

  1. Verificare se il servizio Azure Kubernetes dispone delle autorizzazioni per accedere al registro contenitori mystreamingtest.azurecr.io.
  2. Assicurarsi che il registro contenitori mystreamingtest.azurecr.iosia accessibile e collegato correttamente al servizio Azure Kubernetes.

Verifica della condizione pod "UpgradeIfStreamableDisabled":

Se la condizione del pod del servizio Azure Kubernetes mostra "UpgradeIfStreamableDisabled", verificare se l'immagine proviene da un’istanza del Registro Azure Container.

Uso del digest anziché del tag per l'artefatto di streaming:

Se si distribuisce l’artefatto di streaming con il digest anziché con il tag (ad esempio mystreamingtest.azurecr.io/jupyter/all-spark-notebook@sha256:4ef83ea6b0f7763c230e696709d8d8c398e21f65542db36e82961908bcf58d18), l’evento e il messaggio della condizioni del pod del servizio Azure Kubernetes non includeranno informazioni correlate allo streaming. Tuttavia, l'avvio rapido del contenitore viene visualizzato come motore del contenitore sottostante. Questo motore trasmette l'immagine al servizio Azure Kubernetes se rileva che il contenuto effettivo dell'immagine viene trasmesso.