Краткое руководство. Создание подключенного реестра с помощью Azure CLI

При работе с этим руководством с помощью Azure CLI вы создадите ресурс подключенного реестра в Azure. Функция подключенного реестра в Реестре контейнеров Azure позволяет развертывать реестр удаленно или на локальном компьютере, а также синхронизировать образы и другие артефакты с облачным реестром.

При работе с этой статьей вы создадите два подключенных ресурса реестра для облачного реестра: один доступен для чтения и записи (извлечение и отправка артефактов), а другой — только для чтения.

После создания подключенного реестра можно выполнить другие инструкции по развертыванию и использованию в локальной или удаленной инфраструктуре.

Предварительные требования

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в статье Краткое руководство по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в разделе Запуск Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, приведены в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Реестр контейнеров Azure. Если у вас еще нет реестра контейнеров Azure, создайте его (обязательно с уровнем "Премиум") в регионе, поддерживающем подключенные реестры.

Включение выделенной конечной точки данных для облачного реестра

Включите выделенную конечную точку данных для реестра контейнеров Azure в облаке с помощью команды az acr update. Этот шаг необходим для взаимодействия подключенного реестра с реестром облака.

# Set the REGISTRY_NAME environment variable to identify the existing cloud registry
REGISTRY_NAME=<container-registry-name>

az acr update --name $REGISTRY_NAME \
  --data-endpoint-enabled

Импорт образов в облачный реестр

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

Образ подключенного реестра

Чтобы обеспечить поддержку вложенных сценариев IoT Edge, образ контейнера для подключенной среды выполнения реестра должен быть доступным в частном реестре контейнеров Azure. С помощью команды az acr import импортируйте образ подключенного реестра в частный реестр.

# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/acr/connected-registry:0.8.0

Образы прокси-сервера API и IoT Edge

Для включения поддержки подключенного реестра во вложенных ресурсах IoT Edge необходимо развернуть модули для IoT Edge и прокси-сервера API. Импортируйте эти образы в свой частный реестр.

Модуль прокси-сервера API IoT Edge позволяет устройству IoT Edge предоставлять несколько служб с помощью протокола HTTPS на одном и том же порту, например 443.

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-agent:1.2.4

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-hub:1.2.4

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-api-proxy:1.1.2

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-diagnostics:1.2.4

Образ hello-world

Для тестирования подключенного реестра импортируйте образ hello-world. Этот репозиторий синхронизируется с подключенным реестром и извлекается клиентами подключенного реестра.

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/hello-world:1.1.2

Создание подключенного ресурса реестра для чтения и записи

Создайте подключенный реестр с помощью команды az acr connected-registry create. Имя подключенного реестра должно начинаться с буквы и содержать только буквы и цифры. Оно должно содержать от 5 до 40 символов и быть уникальным в иерархии для этого реестра контейнеров Azure.

# Set the CONNECTED_REGISTRY_RW environment variable to provide a name for the connected registry with read/write functionality
CONNECTED_REGISTRY_RW=<connnected-registry-name>

az acr connected-registry create --registry $REGISTRY_NAME \
  --name $CONNECTED_REGISTRY_RW \
  --repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy"

Эта команда создает ресурс подключенного реестра, имя которого имеет значение $CONNECTED_REGISTRY_RW, и связывает его с облачным реестром, имя которого имеет значение $REGISTRY_NAME. В последующих кратких руководствах вы узнаете о вариантах развертывания подключенного реестра.

  • Указанные репозитории будут синхронизированы между облачным реестром и подключенным реестром после его развертывания.

  • Так как для подключенного реестра не указывается параметр --mode, он создается в режиме ReadWrite по умолчанию.

  • Так как расписание синхронизации не определено для этого подключенного реестра, репозитории будут синхронизироваться между облачным реестром и подключенным реестром без перерывов.

    Важно!

    Для поддержки вложенных сценариев, в которых более низкие уровни не имеют доступа к Интернету, нужно обязательно разрешить синхронизацию репозитория acr/connected-registry. Этот репозиторий содержит образ для среды выполнения подключенного реестра.

Создание подключенного ресурса реестра только для чтения

Вы также можете воспользоваться командой az acr connected-registry create, чтобы создать подключенный реестр только для чтения.

# Set the CONNECTED_REGISTRY_READ environment variable to provide a name for the connected registry with read-only functionality
CONNECTED_REGISTRY_RO=<connnected-registry-name>
az acr connected-registry create --registry $REGISTRY_NAME \
  --parent $CONNECTED_REGISTRY_RW \
  --name $CONNECTED_REGISTRY_RO \
  --repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy" \
  --mode ReadOnly

Эта команда создает ресурс подключенного реестра, имя которого имеет значение $CONNECTED_REGISTRY_RO, и связывает его с облачным реестром, имя которого имеет значение $REGISTRY_NAME.

  • Указанные репозитории будут синхронизированы между родительским реестром, имя которого имеет значение $CONNECTED_REGISTRY_RW, и подключенным реестром после его развертывания.
  • Этот ресурс создается в режиме ReadOnly, который включает функции только для чтения (извлечение артефактов) после развертывания.
  • Так как расписание синхронизации не определено для этого подключенного реестра, репозитории будут синхронизироваться между родительским реестром и подключенным реестром без перерывов.

Проверка создания ресурсов

Вы можете воспользоваться командой az acr connected-registry list подключенного реестра, чтобы проверить успешность создания ресурсов.

az acr connected-registry list \
  --registry $REGISTRY_NAME \
  --output table

Вы должны получить приведенный ниже ответ. Так как подключенные реестры еще не развернуты, состояние Offline (Отключено) означает, что они в данный момент отключены от облака.

NAME                 MODE        CONNECTION STATE    PARENT               LOGIN SERVER    LAST SYNC (UTC)
-------------------  --------    ------------------  -------------------  --------------  -----------------
myconnectedregrw    ReadWrite    Offline
myconnectedregro    ReadOnly     Offline             myconnectedregrw

Следующие шаги

При работе с этим кратким руководством вы создали два ресурса подключенного реестра в Azure с помощью Azure CLI. Эти новые ресурсы подключенного реестра привязаны к вашему облачному реестру и позволяют синхронизировать артефакты с облачным реестром.

Перейдите к руководствам по развертыванию подключенного реестра, чтобы узнать, как развернуть и использовать подключенный реестр в инфраструктуре IoT Edge.