Non è possibile eseguire il pull delle immagini da Registro Azure Container usando l'autenticazione dell'identità gestita
Questo articolo illustra come risolvere gli errori pull delle immagini quando si esegue la distribuzione in Istanze di Azure Container (ACI) da Registro Azure Container (ACR) usando un'identità gestita.
Sintomi
Quando si tenta di distribuire un gruppo di contenitori ed eseguire il pull delle immagini da un registro contenitori di Azure eseguito dietro un endpoint privato usando un'identità gestita, il pull dell'immagine ha esito negativo.
Causa
Ecco alcune cause di errori di pull delle immagini:
Dal lato ACI:
- In base alla versione dell'API ACI usata durante la distribuzione del gruppo di contenitori, il formato delle credenziali fornito nel modello arm del gruppo di contenitori potrebbe non essere valido.
- L'uso di un'identità gestita nel gruppo di contenitori potrebbe violare le limitazioni ACI.
- La definizione del gruppo di contenitori nel modello di Resource Manager potrebbe non essere valida.
Dal lato Registro Azure Container:
- È possibile usare una versione precedente dell'API.
- È possibile usare una zona DNS privata per il registro contenitori.
Risoluzione dei problemi dal lato ACI
Controllare se si usa una versione dell'API ACI precedente alla versione 2021-07-01.
In tal caso, è possibile che venga visualizzato l'errore "InvalidImageRegistryCredentialType":
$ az deployment group create -g <resourcegroupname> --template-file containergroup_trusted.json Deployment failed. Correlation ID: <Correlation ID>. { "error": { "code": "InvalidImageRegistryCredentialType", "message": "Identity in 'imageRegistryCredentials' of container group 'acrtestcontainergroup' is not supported." } }
Per risolvere questo problema, usare l'API ACI versione 2021-07-01 o successiva.
Controllare se si stanno violando eventuali limitazioni ACI.
Le limitazioni includono:
- Gruppi di contenitori inseriti nella rete virtuale.
- Gruppi di contenitori di Windows Server 2016.
- Tentativo di risolvere la zona DNS privata di Registro Azure Container.
Per risolvere questo problema, assicurarsi di non violare tali limitazioni.
Controllare se la definizione del gruppo di contenitori è formata correttamente.
In caso contrario, potrebbero essere visualizzati gli errori seguenti:
Codice di errore "AmbiguImageResitryCredentialType":
Deployment failed. Correlation ID: <Correlation ID>. { "error": { "code": "AmbiguousImageResitryCredentialType", "message": "The registry credential type in the 'imageRegistryCredentials' of container group 'acrtestcontainergroup' cannot be detected. Please set exactly one of username or identity" } }
Codice di errore "InvalidImageRegistryIdentity":
Deployment failed. Correlation ID: <Correlation ID>. { "error": { "code": "InvalidImageRegistryIdentity", "message": "The identity in the 'imageRegistryCredentials' of container group 'acrtestcontainergroup' not found in container group identity list." } }
Codice di errore "InvalidRequestContent":
Deployment failed. Correlation ID: <Correlation ID>. { "error": { "code": "InvalidRequestContent", "message": "The request content was invalid and could not be deserialized: 'Required property 'server' not found in JSON. Path 'properties.imageRegistryCredentials[0]', line 1, position 586.'." } }
Per risolvere questo problema, è necessario specificare le proprietà seguenti nel modello di Resource Manager:
- Proprietà
server
eidentity
di ImageRegistryCredential. - Proprietà
type
euserAssignedIdentity
di ContainerGroupIdentity.
Risoluzione dei problemi dal lato Registro Azure Container
Controllare se all'identità gestita è assegnato il
AcrPull
ruolo.In caso contrario, potrebbe essere visualizzato l'errore "InaccessibleImage":
Deployment failed. Correlation ID: <Correlation ID>. { "error": { "code": "InaccessibleImage", "message": "The image 'myacr.azurecr.io/pythonworker:v1' in container group 'acrtestcontainergroup' is not accessible. Please check the image and registry credential." } }
Per risolvere questo problema, concedere il
AcrPull
ruolo all'identità gestita. Per altre informazioni, vedere Concedere le autorizzazioni di identità per accedere ad altre risorse di Azure.Controllare se Registro Azure Container dispone di servizi attendibili abilitati. In caso contrario, abilitare i servizi attendibili.
Contattaci per ricevere assistenza
In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.