Не удается извлечь изображение из частного Azure реестра контейнеров при использовании Az CLI для создания нового Azure экземпляра контейнера - PullRequest
0 голосов
/ 30 января 2020

Я создал субъект обслуживания с pu sh и получаю доступ к / из моего личного Azure Реестра контейнеров. Нажатие на ACR прекрасно работает с помощью следующей команды:

az login --service-principal -u "someSpID" -p "someSpSecret"  --tenant "someTenantID"
az acr login --name "someRegistry"
docker push "someRegistry.azurecr.io/my-image:0.0.1"

И я также могу получить изображение напрямую с помощью следующей команды:

docker pull "someRegistry.azurecr.io/my-image:0.0.1"

Я хочу развернуть контейнер экземпляр в приватный su bnet, и я настроил сетевую безопасность, чтобы разрешить доступ для моего указанного su bnet.

Однако, когда я пытаюсь развернуть экземпляр контейнера с помощью следующей команды в свой приватный su bnet, где я указал того же субъекта службы, с которым ранее входил в систему, я получаю сообщение об ошибке.

az container create \
  --name myContainerGroup \
  --resource-group myResourceGroup \
  --image "someRegistry.azurecr.io/my-image:0.0.1" \
  --os-type Linux \
  --protocol TCP \
  --registry-login-server someRegistry.azurecr.io \
  --registry-password someSpSecret \
  --registry-username someSpID \
  --vnet someVNET \
  --subnet someSubnet \
  --location someLocation \
  --ip-address Private

Ошибка:

urllib3.connectionpool : Starting new HTTPS connection (1): management.azure.com:443
urllib3.connectionpool : https://management.azure.com:443 "PUT /subscriptions/mySubscription/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroups/myContainerGroup?api-version=2018-10-01 HTTP/1.1" 400
msrest.http_logger : Response status: 400

The image 'someRegistry.azurecr.io/my-image:0.0.1' in container group 'myContainerGroup' is not accessible. Please check the image and registry credential.

Та же ошибка возникает при попытке развернуть экземпляр контейнера через Azure Portal.

Когда я попытался развернуть опубликованное c изображение в том же su bnet, оно прошло успешно, поэтому это не проблема с разрешением на развертывание, и при этом он не выглядит как неправильные учетные данные участника службы как docker pull "someRegistry.azurecr.io/my-image:0.0.1" работает просто отлично. Я не могу обернуть голову вокруг этого непоследовательного поведения. У кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 31 января 2020

Для вашей проблемы, вот возможная причина, чтобы объяснить ошибку, которую вы получили. Давайте рассмотрим описание ограничения здесь :

Только кластер Azure Kubernetes Service или виртуальная машина Azure могут использоваться в качестве хоста для доступа к реестру контейнеров в виртуальная сеть. Другие службы Azure, включая Azure Экземпляры контейнеров, в настоящее время не поддерживаются.

Это ограничение показывает, что брандмауэр Azure Реестра контейнеров в настоящее время не поддерживает Azure Экземпляр контейнера. Он поддерживает только получение / pu sh образа в кластере Azure VM или AKS.

Поэтому решение для вас состоит в том, чтобы изменить правила, разрешив использовать всю сеть, а затем повторить попытку. Или используйте кластер AKS, но он также будет стоить дороже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...