Szybki start: tworzenie połączonego rejestru przy użyciu interfejsu wiersza polecenia platformy Azure

W tym przewodniku Szybki start użyjesz interfejsu wiersza polecenia platformy Azure do utworzenia połączonego zasobu rejestru na platformie Azure. Funkcja rejestru połączonego Azure Container Registry umożliwia zdalne wdrażanie rejestru lub lokalnie oraz synchronizowanie obrazów i innych artefaktów z rejestrem w chmurze.

W tym miejscu utworzysz dwa połączone zasoby rejestru dla rejestru w chmurze: jeden połączony rejestr umożliwia odczyt i zapis (ściąganie artefaktu i wypychanie), a jeden umożliwia działanie tylko do odczytu.

Po utworzeniu połączonego rejestru możesz postępować zgodnie z innymi przewodnikami dotyczącymi wdrażania i używania go w infrastrukturze lokalnej lub zdalnej.

Wymagania wstępne

  • Usługa Azure Container Registry — jeśli nie masz jeszcze rejestru kontenerów, utwórz jedną (wymaganą warstwę Premium) w regionie obsługującym połączone rejestry.

Włączanie dedykowanego punktu końcowego danych dla rejestru w chmurze

Włącz dedykowany punkt końcowy danych dla rejestru kontenerów platformy Azure w chmurze przy użyciu polecenia az acr update . Ten krok jest wymagany, aby połączony rejestr komunikował się z rejestrem w chmurze.

# 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

Importowanie obrazów do rejestru w chmurze

Zaimportuj następujące obrazy kontenerów do rejestru w chmurze przy użyciu polecenia az acr import . Pomiń ten krok, jeśli te obrazy zostały już zaimportowane.

Obraz połączonego rejestru

Aby obsługiwać zagnieżdżone scenariusze IoT Edge, obraz kontenera dla połączonego środowiska uruchomieniowego rejestru musi być dostępny w prywatnym rejestrze kontenerów platformy Azure. Za pomocą polecenia az acr import zaimportuj połączony obraz rejestru do rejestru prywatnego.

# 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

obrazy serwera proxy IoT Edge i interfejsu API

Aby obsługiwać połączony rejestr na zagnieżdżonych IoT Edge, należy wdrożyć moduły dla serwera proxy IoT Edge i interfejsu API. Zaimportuj te obrazy do rejestru prywatnego.

Moduł serwera proxy interfejsu API IoT Edge umożliwia urządzeniu IoT Edge uwidocznienie wielu usług przy użyciu protokołu HTTPS na tym samym porcie, takim jak 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

Obraz hello-world

Aby przetestować połączony rejestr, zaimportuj hello-world obraz. To repozytorium zostanie zsynchronizowane z połączonym rejestrem i pobrane przez połączonych klientów rejestru.

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

Tworzenie połączonego zasobu rejestru na potrzeby funkcji odczytu i zapisu

Utwórz połączony rejestr za pomocą polecenia az acr connected-registry create . Nazwa połączonego rejestru musi zaczynać się literą i zawierać tylko znaki alfanumeryczne. Musi mieć długość od 5 do 40 znaków i być unikatowa w hierarchii dla tego rejestru kontenerów platformy 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"

To polecenie tworzy połączony zasób rejestru, którego nazwa jest wartością $CONNECTED_REGISTRY_RW i łączy go z rejestrem w chmurze, którego nazwa jest wartością $REGISTRY_NAME. W kolejnych przewodnikach Szybki start dowiesz się więcej o opcjach wdrażania połączonego rejestru.

  • Określone repozytoria zostaną zsynchronizowane między rejestrem chmury a połączonym rejestrem po jego wdrożeniu.

  • Ponieważ nie --mode określono żadnej opcji dla połączonego rejestru, jest on tworzony w domyślnym trybie ReadWrite.

  • Ponieważ nie zdefiniowano harmonogramu synchronizacji dla tego połączonego rejestru, repozytoria zostaną zsynchronizowane między rejestrem chmury a połączonym rejestrem bez przerw.

    Ważne

    Aby obsługiwać scenariusze zagnieżdżone, w których niższe warstwy nie mają dostępu do Internetu, zawsze należy zezwolić na synchronizację acr/connected-registry repozytorium. To repozytorium zawiera obraz środowiska uruchomieniowego połączonego rejestru.

Tworzenie połączonego zasobu rejestru na potrzeby funkcji tylko do odczytu

Możesz również użyć polecenia az acr connected-registry create , aby utworzyć połączony rejestr z funkcją tylko do odczytu.

# 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

To polecenie tworzy połączony zasób rejestru, którego nazwa jest wartością $CONNECTED_REGISTRY_RO i łączy go z rejestrem chmury o nazwie z wartością $REGISTRY_NAME.

  • Określone repozytoria zostaną zsynchronizowane między rejestrem nadrzędnym o nazwie z wartością $CONNECTED_REGISTRY_RW a połączonym rejestrem po wdrożeniu.
  • Ten zasób jest tworzony w trybie Tylko do odczytu, który umożliwia funkcję tylko do odczytu (ściąganie artefaktu) po wdrożeniu.
  • Ponieważ nie zdefiniowano harmonogramu synchronizacji dla tego połączonego rejestru, repozytoria zostaną zsynchronizowane między rejestrem nadrzędnym a połączonym rejestrem bez przerw.

Sprawdzanie, czy są tworzone zasoby

Aby sprawdzić, czy zasoby zostały utworzone, możesz użyć polecenia az acr connected-registry list .

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

Powinna zostać wyświetlona odpowiedź w następujący sposób. Ponieważ połączone rejestry nie są jeszcze wdrożone, stan połączenia "Offline" wskazuje, że są one obecnie odłączone od chmury.

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

Następne kroki

W tym przewodniku Szybki start użyto interfejsu wiersza polecenia platformy Azure do utworzenia dwóch połączonych zasobów rejestru na platformie Azure. Te nowe połączone zasoby rejestru są powiązane z rejestrem w chmurze i umożliwiają synchronizację artefaktów z rejestrem w chmurze.

Przejdź do przewodników wdrażania połączonego rejestru, aby dowiedzieć się, jak wdrożyć i używać połączonego rejestru w infrastrukturze IoT Edge.