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:
- Verificare se il servizio Azure Kubernetes dispone delle autorizzazioni per accedere al registro contenitori
mystreamingtest.azurecr.io
. - Assicurarsi che il registro contenitori
mystreamingtest.azurecr.io
sia 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.