Устранение неполадок в сети при работе с реестром
Эта статья поможет вам устранить проблемы, которые могут возникнуть при доступе к реестру контейнеров Azure в виртуальной сети или сети с брандмауэром или прокси-сервером.
Симптомы
Признаки могут выражаться следующим образом.
- Не удается отправить или извлечь образы, отображается сообщение об ошибке
dial tcp: lookup myregistry.azurecr.io
- Не удается отправить или извлечь образы, отображается сообщение об ошибке
Client.Timeout exceeded while awaiting headers
- Не удается отправить или извлечь образы, отображается сообщение об ошибке Azure CLI
Could not connect to the registry login server
- Не удается извлечь образы из реестра в службу Azure Kubernetes или другую службу Azure
- Не удается получить доступ к реестру в сети с прокси-сервером HTTPS, отображается сообщение об ошибке
Error response from daemon: login attempt failed with status: 403 Forbidden
илиError response from daemon: Get <registry>: proxyconnect tcp: EOF Login failed
- Не удается настроить параметры виртуальной сети, отображается сообщение об ошибке
Failed to save firewall and virtual network settings for container registry
- Не удается получить доступ или просмотреть параметры реестра на портале Azure или управлять реестром с помощью Azure CLI
- Не удается добавить или изменить настройки виртуальной сети или правила общего доступа
- Служба "Задачи ACR" не может отправлять или извлекать образы
- Microsoft Defender для облака не может сканировать образы в реестре или результаты проверки не отображаются в Microsoft Defender для облака.
- При попытке доступа к реестру, имеющему частную конечную точку, отображается сообщение об ошибке
host is not reachable
.
Причины
- Брандмауэр или прокси клиента блокирует доступ — решение
- Правила доступа к публичной сети в реестре блокируют доступ — решение
- Конфигурация виртуальной сети или частной конечной точки блокирует доступ — решение
- Вы пытаетесь интегрировать Microsoft Defender для облака или другие службы Azure с реестром, имеющим частную конечную точку, конечную точку службы или правила доступа к общедоступному IP-адресу — решение
Дальнейшая диагностика
Выполните команду az acr check-health, чтобы получить дополнительную информацию о работоспособности среды реестра и, при необходимости, получить доступ к целевому реестру. Например, диагностируйте проблемы с сетевым подключением или конфигурацией.
Примеры команд см. в статье Проверка работоспособности реестра контейнеров Azure. Если сообщается об ошибках, см. справку по ошибкам и следующие статьи, чтобы найти информацию по рекомендуемым решениям.
Если у вас возникли проблемы с использованием службы Azure Kubernetes с интегрированным реестром, выполните команду az aks check-acr, чтобы убедиться, что у кластера AKS есть доступ к реестру.
Примечание.
Проблемы с подключением также могут быть связаны с проблемами с аутентификацией или авторизацией в реестре. См. статью Устранение проблем со входом в реестр.
Возможные решения
Настройка доступа к брандмауэру клиента
Чтобы получить доступ к реестру в сети с брандмауэром или прокси-сервером, настройте правила брандмауэра для доступа к общедоступным конечным точкам REST и конечным точкам данных. Если выделенные конечные точки данных включены, вам потребуются правила для доступа:
- Конечная точка REST:
<registryname>.azurecr.io
- Конечные точки данных:
<registry-name>.<region>.data.azurecr.io
Для геореплицированного реестра настройте доступ к конечной точке данных для каждой региональной реплики.
Убедитесь, что и клиент Docker, и управляющая программа Docker настроены как прокси HTTPS. После изменения настроек прокси управляющей программы Docker обязательно перезапускайте ее.
Журналы ресурсов реестра в таблице ContainerRegistryLoginEvents могут помочь диагностировать заблокированную попытку подключения.
Связанные ссылки
- Настройка правил для доступа к Реестру контейнеров Azure за брандмауэром
- Конфигурация прокси-сервера HTTP/HTTPS
- Подготовка геореплицированного реестра контейнеров Azure
- Мониторинг реестра контейнеров Azure
Настройка общего доступа к реестру
При доступе к реестру через Интернет убедитесь, что реестр разрешает доступ по общедоступной сети из вашего клиента. По умолчанию реестр контейнеров Azure разрешает доступ к общедоступным конечным точкам из всех сетей. Реестр может ограничивать доступ к выбранным сетям или выбранным IP-адресам.
Если в виртуальной сети настроена конечная точка службы, отключение доступа по общедоступной сети также отключает доступ через конечную точку службы. Если в виртуальной сети настроен Приватный канал, правила IP-сети не применяются к частным конечным точкам реестра.
Связанные ссылки
- Настройка правил сети общедоступных IP-адресов
- Частное подключение к реестру контейнеров Azure с помощью Приватный канал Azure
- Ограничение доступа к реестру контейнеров с помощью конечной точки службы в виртуальной сети Azure
Настройка доступа к виртуальной сети
Убедитесь, что в виртуальной сети настроена частная конечная точка для Приватного канала или конечная точка службы (предварительная версия). В настоящее время конечная точка Бастиона Azure не поддерживается.
Если настроена частная конечная точка, убедитесь, что DNS преобразует общедоступное полное доменное имя реестра, например myregistry.azurecr.IO, в частный IP-адрес реестра.
- Выполните команду az acr check-health с параметром
--vnet
, чтобы подтвердить маршрутизацию DNS к частной конечной точке в виртуальной сети. - Используйте служебную программу сети, например
dig
илиnslookup
, для поиска записей DNS. - Убедитесь, что для полного доменного имени реестра и для каждого полного доменного имени конечной точки данных настроены записи DNS.
Проверьте правила NSG и теги служб, используемые для ограничения трафика к реестру от других ресурсов в сети.
Если настроена конечная точка службы к реестру, убедитесь, что в реестр добавлено сетевое правило, разрешающее доступ из этой подсети. Конечная точка службы поддерживает доступ только с виртуальных машин и кластеров AKS в сети.
Если вы хотите ограничить доступ к реестру через виртуальную сеть в другой подписке Azure, зарегистрируйте в этой подписке поставщик ресурсов Microsoft.ContainerRegistry
. Зарегистрируйте поставщик ресурсов для Реестра контейнеров Azure, используя портал Azure, Azure CLI или другие средства Azure.
Если в сети настроен Брандмауэр Azure или аналогичное решение, убедитесь, что для исходящего трафика от других ресурсов, таких как кластер AKS, разрешен доступ к конечным точкам реестра.
Связанные ссылки
- Частное подключение к реестру контейнеров Azure с помощью Приватный канал Azure
- Устранение проблем с подключением к частной конечной точке Azure
- Ограничение доступа к реестру контейнеров с помощью конечной точки службы в виртуальной сети Azure
- Обязательные правила исходящей сети и полные доменные имена для кластеров AKS
- Kubernetes: отладка разрешения DNS
- Теги службы виртуальной сети
Настройка доступа к службам
В настоящее время доступ к реестру контейнеров с сетевыми ограничениями не разрешен из нескольких служб Azure:
- Microsoft Defender для облака не может выполнять сканирование уязвимостей образов в реестре, который ограничивает доступ к частным конечным точкам, выбранным подсетям или IP-адресам.
- Ресурсы некоторых служб Azure, в том числе Служба приложений Azure и Экземпляры контейнеров Azure, не могут получить доступ к реестру контейнеров с сетевыми ограничениями.
Если требуется доступ или интеграция этих служб Azure с реестром контейнеров, удалите сетевое ограничение. Например, удалите частные конечные точки реестра или удалите/измените правила общего доступа к реестру.
Начиная с января 2021 года можно разрешить доступ к реестру с сетевыми ограничениями из некоторых доверенных служб.
Связанные ссылки
- Сканирование образа Реестра контейнеров Azure функцией "Microsoft Defender для реестров контейнеров"
- Оставьте отзыв
- Обеспечение безопасного доступа доверенных служб к реестру контейнеров с сетевыми ограничениями
Расширенный поиск проблем
Если в реестре задана коллекция журналов ресурсов, просмотрите журнал ContainterRegistryLoginEvents. В этом журнале хранятся события проверки подлинности и состояния, включая входящий идентификатор и IP-адрес. Запросите журнал о сбоях проверки подлинности в реестре.
Связанные ссылки
- Журналы для диагностической оценки и аудита
- Часто задаваемые вопросы по реестру контейнеров
- Базовый план безопасности Azure для Реестра контейнеров
- Рекомендации по Реестр контейнеров Azure
Следующие шаги
Если проблема не решена, воспользуйтесь следующими вариантами.
- К другим разделам по устранению неполадок реестра относятся следующие разделы:
- Параметры Поддержки сообщества
- Microsoft Q&A
- Создание запроса в службу поддержки