Не удается извлечь образы из Реестр контейнеров Azure с помощью проверки подлинности управляемого удостоверения
В этой статье описывается, как устранять сбои при извлечении образа при развертывании в Экземпляры контейнеров Azure (ACI) из Реестр контейнеров Azure (ACR) с помощью управляемого удостоверения.
Симптомы
При попытке развернуть группу контейнеров и извлечь образы из реестра контейнеров Azure, который работает за частной конечной точкой с помощью управляемого удостоверения, извлечение образа завершается ошибкой.
Причина
Ниже приведены некоторые причины сбоев извлечения образа.
Со стороны ACI:
- В зависимости от версии API ACI, используемой при развертывании группы контейнеров, формат учетных данных, указанный в шаблоне ARM группы контейнеров , может быть недопустимым.
- Использование управляемого удостоверения в группе контейнеров может нарушить ограничения ACI.
- Определение группы контейнеров в шаблоне ARM может быть неправильно сформировано.
Со стороны ACR:
- Возможно, вы используете более раннюю версию API.
- Для реестра контейнеров может использоваться частная зона DNS.
Устранение неполадок на стороне ACI
Проверьте, используете ли вы версию API ACI, более раннюю, чем 2021-07-01.
В этом случае может появиться ошибка 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." } }
Чтобы устранить эту проблему, используйте API ACI версии 2021-07-01 или более поздней.
Проверьте, нарушаете ли вы какие-либо ограничения ACI.
К ограничениям относятся:
- Группы контейнеров, внедренные в виртуальную сеть.
- Windows Server 2016 группы контейнеров.
- Попытка разрешения частной зоны DNS ACR.
Чтобы устранить эту проблему, убедитесь, что вы не нарушаете эти ограничения.
Проверьте, правильно ли сформировано определение группы контейнеров.
В противном случае могут возникнуть следующие ошибки:
Код ошибки AmbiguousImageResitryCredentialType:
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" } }
Код ошибки 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." } }
Код ошибки 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.'." } }
Чтобы устранить эту проблему, необходимо указать следующие свойства в шаблоне ARM:
- Свойства
server
иidentity
объекта ImageRegistryCredential. - Свойства
type
иuserAssignedIdentity
ContainerGroupIdentity.
Устранение неполадок со стороны ACR
Проверьте, назначена ли управляемому
AcrPull
удостоверению роль.В противном случае может появиться сообщение об ошибке 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." } }
Чтобы устранить эту проблему, предоставьте
AcrPull
роль управляемому удостоверению. Дополнительные сведения см. в статье Предоставление удостоверений разрешений на доступ к другим ресурсам Azure.Проверьте, включены ли доверенные службы ACR. Если нет, включите доверенные службы.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.