Реестр контейнеров Azure недоступен через частную конечную точку [403 запрещено]

Я настроил виртуальную сеть A и виртуальную сеть B. Они связаны между собой с помощью пиринга виртуальных сетей. vnet A имеет две подсети = «vm-agents» и «private-endpoints». У них нет никаких НСГ. vnet B также имеет две подсети = «aks» и «private-endpoints».

В подсети «vm-agents» виртуальной сети A я создал агент конвейера. В подсети «частные конечные точки» виртуальной сети B я создал ACR, связанный с частной конечной точкой. Я также настроил частную зону DNS, связанную с виртуальными сетями A и B.

Я уже подключился к своему агенту конвейера по SSH и проверил, правильно ли работает разрешение DNS, используя nslookup. Он действительно возвращает IP-адрес частной конечной точки.

Но команда docker login -u <token-name> -p <token-password> <my-own-acr>.azurecr.io возвращает ошибку Error response from daemon: login attempt to https://<my-own-acr>.azurecr.io/v2/ failed with status: 403 Forbidden.

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

Что здесь может быть не так?


53
1

Ответ:

Решено

ответ от демона: попытка входа не удалась, статус: 403 Запрещено. Ошибка вашего лица по причинам, указанным ниже. Следуйте MS Doc для более подробной информации.

Если вы используете виртуальную сеть или частную конечную точку для ACR, вы можете проверить пункты, упомянутые в MS DOC.

Конфигурация DNS частной конечной точки ACR

Наборы записей частной зоны DNS

Когда я попытался проверить связь VM-agents с ACR, используя ту же конфигурацию, что и ваша, соединение прошло успешно, как показано ниже.

Обязательно убедитесь, что пиринг виртуальной сети одобрен, а частная зона DNS настроена правильно.