Démarrage rapide : Créer un registre connecté à l’aide d’Azure CLI

Dans ce guide de démarrage rapide, vous allez utiliser Azure CLI pour créer une ressource de registre connecté dans Azure. La fonctionnalité de registre connecté d’Azure Container Registry vous permet de déployer un registre à distance ou localement, et de synchroniser des images et d’autres artefacts avec le registre cloud.

Ici, vous créez deux ressources de registre connecté pour un registre cloud : un registre connecté autorise les fonctionnalités en lecture et écriture (pull et push d’artefacts) et l’autre autorise les fonctionnalités en lecture seule.

Après avoir créé un registre connecté, vous pouvez suivre d’autres guides pour le déployer et l’utiliser sur votre infrastructure locale ou distante.

Prérequis

  • Registre de conteneurs Azure : si vous n’avez pas encore de registre de conteneurs, créez-en un (niveau Premium requis) dans une région qui prend en charge les registres connectés.

Activer le point de terminaison de données dédié pour le registre cloud

Activez le point de terminaison de données dédié pour le registre de conteneurs Azure dans le cloud à l’aide de la commande az acr update. Cette étape est nécessaire pour qu’un registre connecté communique avec le registre cloud.

# 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

Importer des images dans votre registre cloud

Importez les images conteneur suivantes dans votre registre cloud à l’aide de la commande az acr import. Si vous avez déjà importé ces images, ignorez cette étape.

Image de registre connecté

Pour prendre en charge des scénarios IoT Edge imbriqués, l’image de conteneur pour le runtime du registre connecté doit être disponible dans votre registre de conteneurs Azure privé. Utilisez la commande az acr import pour importer l’image du registre connecté dans votre registre privé.

# 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

Images d’IoT Edge et de proxy d’API

Pour prendre en charge le registre connecté sur un IoT Edge imbriqué, vous devez déployer des modules pour l’IoT Edge et le proxy d’API. Importez ces images dans votre registre privé.

Le module proxy d’API IoT Edge permet à un appareil IoT Edge d’exposer plusieurs services à l’aide du protocole HTTPS sur le même port, tel que 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

Image Hello-World

Pour tester le registre connecté, importez l’image hello-world. Ce référentiel sera synchronisé sur le registre connecté et extrait par les clients du registre connecté.

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

Créer une ressource de registre connecté pour les fonctionnalités en lecture et écriture

Créez un registre connecté à l’aide de la commande az acr connected-registry create. Le nom du registre connecté doit commencer par une lettre et contenir uniquement des caractères alphanumériques. Il doit comprendre de 5 à 40 caractères, et être unique dans la hiérarchie de ce registre de conteneurs 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"

Cette commande crée une ressource de registre connecté dont le nom est la valeur de $CONNECTED_REGISTRY_RW et la lie au registre cloud dont le nom est la valeur de $REGISTRY_NAME. Dans les guides de démarrage rapide ultérieurs, vous en apprendrez davantage sur les options de déploiement du registre connecté.

  • Les référentiels spécifiés seront synchronisés entre le registre cloud et le registre connecté une fois celui-ci déployé.

  • Comme aucune option --mode n’est spécifiée pour le registre connecté, elle est créée dans le mode ReadWrite par défaut.

  • Étant donné qu’aucune planification de synchronisation n’est définie pour ce registre connecté, les référentiels sont synchronisés sans interruption entre le registre cloud et le registre connecté.

    Important

    Pour prendre en charge des scénarios imbriqués où des couches inférieures n’ont pas accès à Internet, vous devez toujours autoriser la synchronisation du référentiel acr/connected-registry. Ce référentiel contient l’image du runtime du registre connecté.

Créer une ressource de registre connecté pour les fonctionnalités en lecture seule

Vous pouvez également utiliser la commande az acr connected-registry create pour créer un registre connecté fonctionnant en lecture seule.

# 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

Cette commande crée une ressource de registre connecté dont le nom est la valeur de $CONNECTED_REGISTRY_RO et la lie au registre cloud dont le nom est la valeur de $REGISTRY_NAME.

  • Les référentiels spécifiés seront synchronisés entre le registre parent nommé avec la valeur de $CONNECTED _REGISTRY_RW et le registre connecté une fois déployé.
  • Cette ressource est créée en mode lecture seule, ce qui permet d’activer la fonctionnalité de lecture seule (pull d’artefact) une fois déployée.
  • Étant donné qu’aucune planification de synchronisation n’est définie pour ce registre connecté, les référentiels sont synchronisés sans interruption entre le registre parent et le registre connecté.

Vérifier que les ressources ont été créées

Vous pouvez utiliser la commande az acr connected-registry list du registre connecté pour vérifier que les ressources sont créées.

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

Vous devez voir la réponse suivante. Étant donné que les registres connectés ne sont pas encore déployés, l’état de connexion « Hors connexion » indique qu’ils sont actuellement déconnectés du cloud.

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

Étapes suivantes

Dans ce démarrage rapide, vous avez utilisé Azure CLI pour créer deux ressources de registre connecté dans Azure. Ces nouvelles ressources de registre connecté sont liées à votre registre cloud et permettent la synchronisation d’artefacts avec le registre cloud.

Passez aux guides de déploiement de registre connecté pour savoir comment déployer et utiliser un registre connecté sur votre infrastructure de IoT Edge.