Kurz: Nasazení připojeného registru do vnořené hierarchie IoT Edge
V tomto kurzu pomocí příkazů Azure CLI vytvoříte dvouvrstvou hierarchii zařízení Azure IoT Edge a nasadíte připojený registr jako modul v každé vrstvě. V tomto scénáři zařízení v horní vrstvě komunikuje s cloudovým registrem. Zařízení v nižší vrstvě komunikuje s připojeným nadřazeným registrem v horní vrstvě.
Přehled použití připojeného registru se službou IoT Edge najdete v tématu Použití připojeného registru se službou Azure IoT Edge.
Požadavky
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Azure IoT Hub Postup nasazení najdete v tématu Vytvoření centra IoT pomocí webu Azure Portal.
Dva připojené prostředky registru v Azure Postup nasazení najdete v rychlých startech pomocí Azure CLI nebo webu Azure Portal.
- V horní vrstvě může být připojený registr v režimu ReadWrite nebo ReadOnly. Tento článek předpokládá režim ReadWrite a připojený název registru je uložen v proměnné
$CONNECTED_REGISTRY_RW
prostředí . - Pro nižší vrstvu musí být připojený registr v režimu Jen pro čtení. Tento článek předpokládá, že název připojeného registru je uložen v proměnné
$CONNECTED_REGISTRY_RO
prostředí .
- V horní vrstvě může být připojený registr v režimu ReadWrite nebo ReadOnly. Tento článek předpokládá režim ReadWrite a připojený název registru je uložen v proměnné
Import imagí do cloudového registru
Pomocí příkazu az acr import naimportujte následující image kontejneru do svého cloudového registru. Pokud jste tyto image už naimportovali, tento krok přeskočte.
Připojená image registru
Aby bylo možné podporovat vnořené scénáře IoT Edge, musí být image kontejneru pro připojený modul runtime registru dostupná ve vašem privátním registru kontejneru Azure. Pomocí příkazu az acr import naimportujte image připojeného registru do privátního registru.
# 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
Image proxy služby IoT Edge a rozhraní API
Pokud chcete podporovat připojený registr ve vnořeném IoT Edge, musíte nasadit moduly pro ioT Edge a proxy rozhraní API. Naimportujte tyto image do privátního registru.
Modul proxy rozhraní API služby IoT Edge umožňuje zařízení IoT Edge zpřístupnit více služeb pomocí protokolu HTTPS na stejném portu, jako je například 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
Obrázek Hello World
Pro testování připojeného registru naimportujte hello-world
image. Toto úložiště se bude synchronizovat s připojeným registrem a vyžádá se připojenými klienty registru.
az acr import \
--name $REGISTRY_NAME \
--source mcr.microsoft.com/hello-world:1.1.2
Načtení konfigurace připojeného registru
Pokud chcete nasadit každý připojený registr do zařízení IoT Edge v hierarchii, musíte načíst nastavení konfigurace z připojeného prostředku registru v Azure. V případě potřeby spusťte příkaz az acr connected-registry get-settings pro každý připojený registr a načtěte konfiguraci.
Ve výchozím nastavení informace o nastavení neobsahují heslo tokenu synchronizace, které je také potřeba k nasazení připojeného registru. Volitelně můžete vygenerovat jedno z hesel předáním parametru nebo --generate-password 2
parametru--generate-password 1
. Uložte vygenerované heslo do bezpečného umístění. Znovu ho nelze načíst.
Upozorňující
Opětovné vygenerování hesla otočí přihlašovací údaje synchronizačního tokenu. Pokud jste nakonfigurovali zařízení pomocí předchozího hesla, musíte konfiguraci aktualizovat.
# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>
# Run the command for each registry resource in the hierarchy
az acr connected-registry get-settings \
--registry $REGISTRY_NAME \
--name $CONNECTED_REGISTRY_RW \
--parent-protocol https
az acr connected-registry get-settings \
--registry $REGISTRY_NAME \
--name $CONNECTED_REGISTRY_RO \
--parent-protocol https
Výstup příkazu zahrnuje připojovací řetězec registru a související nastavení. Následující příklad výstupu ukazuje připojovací řetězec připojeného registru s názvem myconnectedregistry s nadřazeným registrem contosoregistry:
{
"ACR_REGISTRY_CONNECTION_STRING": "ConnectedRegistryName=myconnectedregistry;SyncTokenName=myconnectedregistry-sync-token;SyncTokenPassword=xxxxxxxxxxxxxxxx;ParentGatewayEndpoint=contosoregistry.eastus.data.azurecr.io;ParentEndpointProtocol=https"
}
Konfigurace manifestů nasazení
Manifest nasazení je dokument JSON popisující moduly, které se mají nasadit do zařízení IoT Edge. Další informace najdete v tématu Vysvětlení způsobu použití, konfigurace a opětovného použití modulů IoT Edge.
Pokud chcete nasadit připojený modul registru na každé zařízení IoT Edge pomocí Azure CLI, uložte následující manifesty nasazení místně jako soubory JSON. Informace z předchozích částí slouží k aktualizaci relevantních hodnot JSON v každém manifestu. Při spuštění příkazu pro použití konfigurace na zařízení použijte cesty k souborům v další části.
Manifest nasazení pro nejvyšší vrstvu
Pro zařízení v horní vrstvě vytvořte soubor deploymentTopLayer.json
manifestu nasazení s následujícím obsahem. Tento manifest se podobá manifestu použitému v rychlém startu: Nasazení připojeného registru do zařízení IoT Edge.
Poznámka:
Pokud jste už pomocí rychlého startu nasadili připojený registr do zařízení IoT Edge nejvyšší vrstvy, můžete ho použít v horní vrstvě vnořené hierarchie. Upravte kroky nasazení v tomto kurzu tak, aby se nakonfigurovali v hierarchii (nezobrazují se).
Nastavení připojeného modulu registru
Pomocí přihlašovacích údajů tokenu a připojovací řetězec z předchozích částí aktualizujte relevantní hodnoty JSON v
env
uzlu.Následující proměnné prostředí jsou v
env
uzlu volitelné:Proměnná Popis ACR_REGISTRY_LOGIN_SERVER
Určuje jedinečný název hostitele nebo plně kvalifikovaný název domény. Pokud se používá, připojený registr přijímá pouze požadavky provedené na tuto hodnotu přihlašovacího serveru.
Pokud není zadaná žádná hodnota, bude mít připojený registr přístup s libovolnou hodnotou přihlašovacího serveru.ACR_REGISTRY_CERTIFICATE_VOLUME
Pokud bude připojený registr přístupný přes PROTOKOL HTTPS, odkazuje na svazek, ve kterém jsou uložené certifikáty HTTPS.
Pokud není nastaveno, výchozí umístění je/var/acr/certs
.ACR_REGISTRY_DATA_VOLUME
Přepíše výchozí umístění /var/acr/data
, kam budou image uloženy připojeným registrem.
Toto umístění musí odpovídat vazbě svazku pro kontejner.Důležité
Pokud připojený registr naslouchá na portu jiném než 80 a 443,
ACR_REGISTRY_LOGIN_SERVER
musí hodnota (pokud je zadána) obsahovat port. Příklad:192.168.0.100:8080
.Pokud
HostPort
se nepoužívá modul proxy rozhraní API, měla by se nastavit vazba pro připojený registr. Příklad:"createOptions": "{\"HostConfig\":{\"Binds\":[\"/home/azureuser/connected-registry:/var/acr/data\"],\"PortBindings\":{\"8080/tcp\":[{\"HostPort\":\"8080\"}]}}}"
Nastavení modulu proxy rozhraní API
- Proxy rozhraní API bude naslouchat na portu 8000 nakonfigurovaného jako
NGINX_DEFAULT_PORT
. Další informace o nastavení proxy serveru rozhraní API najdete v úložišti GitHubu ioT Edge.
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"modules": {
"connected-registry": {
"settings": {
"image": "<REPLACE_WITH_CLOUD_REGISTRY_NAME>.azurecr.io/acr/connected-registry:0.8.0",
"createOptions": "{\"HostConfig\":{\"Binds\":[\"/home/azureuser/connected-registry:/var/acr/data\"]}}"
},
"type": "docker",
"env": {
"ACR_REGISTRY_CONNECTION_STRING": {
"value": "ConnectedRegistryName=<REPLACE_WITH_CONNECTED_REGISTRY_NAME>;SyncTokenName=<REPLACE_WITH_SYNC_TOKEN_NAME>;SyncTokenPassword=REPLACE_WITH_SYNC_TOKEN_PASSWORD;ParentGatewayEndpoint=<REPLACE_WITH_CLOUD_REGISTRY_NAME>.<REPLACE_WITH_CLOUD_REGISTRY_REGION>.data.azurecr.io;ParentEndpointProtocol=https"
}
},
"status": "running",
"restartPolicy": "always",
"version": "1.0"
},
"IoTEdgeAPIProxy": {
"settings": {
"image": "<REPLACE_WITH_CLOUD_REGISTRY_NAME>.azurecr.io/azureiotedge-api-proxy:1.1.2",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"8000/tcp\":[{\"HostPort\":\"8000\"}]}}}"
},
"type": "docker",
"env": {
"NGINX_DEFAULT_PORT": {
"value": "8000"
},
"CONNECTED_ACR_ROUTE_ADDRESS": {
"value": "connected-registry:8080"
},
"BLOB_UPLOAD_ROUTE_ADDRESS": {
"value": "AzureBlobStorageonIoTEdge:11002"
}
},
"status": "running",
"restartPolicy": "always",
"version": "1.0"
}
},
"runtime": {
"settings": {
"minDockerVersion": "v1.25",
"registryCredentials": {
"cloudregistry": {
"address": "<REPLACE_WITH_CLOUD_REGISTRY_NAME>.azurecr.io",
"password": "<REPLACE_WITH_SYNC_TOKEN_PASSWORD>",
"username": "<REPLACE_WITH_SYNC_TOKEN_NAME>"
}
}
},
"type": "docker"
},
"schemaVersion": "1.1",
"systemModules": {
"edgeAgent": {
"settings": {
"image": "<REPLACE_WITH_CLOUD_REGISTRY_NAME>.azurecr.io/azureiotedge-agent:1.2.4",
"createOptions": ""
},
"type": "docker",
"env": {
"SendRuntimeQualityTelemetry": {
"value": "false"
}
}
},
"edgeHub": {
"settings": {
"image": "<REPLACE_WITH_CLOUD_REGISTRY_NAME>.azurecr.io/azureiotedge-hub:1.2.4",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
},
"type": "docker",
"status": "running",
"restartPolicy": "always"
}
}
}
},
"$edgeHub": {
"properties.desired": {
"routes": {
"route": "FROM /messages/* INTO $upstream"
},
"schemaVersion": "1.1",
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
}
}
Manifest nasazení pro nižší vrstvu
Pro zařízení v nižší vrstvě vytvořte soubor manifestu nasazení deploymentLowerLayer.json s následujícím obsahem.
Celkově je soubor nasazení nižší vrstvy podobný souboru nasazení nejvyšší vrstvy. Rozdíly jsou:
Načítá požadované image z hlavní vrstvy připojeného registru místo z cloudového registru.
Při nastavování připojeného registru nejvyšší vrstvy se ujistěte, že synchronizuje všechny požadované image místně, včetně
azureiotedge-agent
,azureiotedge-hub
,azureiotedge-api-proxy
aacr/connected-registry
. Zařízení IoT nižší vrstvy potřebuje načíst tyto image z registru připojeného k nejvyšší vrstvě.Používá synchronizační token nakonfigurovaný v nižší vrstvě k ověření v registru připojeném k nejvyšší vrstvě.
Nakonfiguruje koncový bod nadřazené brány s IP adresou nebo plně kvalifikovaným názvem domény připojeného k nejvyšší vrstvě registru místo plně kvalifikovaného názvu domény cloudového registru.
Důležité
V následujícím manifestu nasazení se používá jako IP adresa nebo plně kvalifikovaný název domény zařízení hostujícího $upstream
nadřazený připojený registr. $upstream
Není však podporován v proměnné prostředí. Připojený registr musí přečíst proměnnou ACR_PARENT_GATEWAY_ENDPOINT
prostředí, aby získal koncový bod nadřazené brány. Místo použití $upstream
podporuje připojený registr dynamicky přeložit IP adresu nebo plně kvalifikovaný název domény z jiné proměnné prostředí.
Na vnořeném IoT Edge je na nižší vrstvě proměnná $IOTEDGE_PARENTHOSTNAME
prostředí, která se rovná IP adrese nebo plně kvalifikovanému názvu domény nadřazeného zařízení. Ručně nahraďte proměnnou prostředí jako hodnotu ParentGatewayEndpoint
v připojovací řetězec, abyste se vyhnuli pevnému kódování nadřazené IP adresy nebo plně kvalifikovaného názvu domény. Protože nadřazené zařízení v tomto příkladu běží nginx
na portu 8000, předejte $IOTEDGE_PARENTHOSTNAME:8000
. Musíte také vybrat správný protokol v ParentEndpointProtocol
.
{
"modulesContent": {
"$edgeAgent": {
"properties.desired": {
"modules": {
"connected-registry": {
"settings": {
"image": "$upstream:8000/acr/connected-registry:0.8.0",
"createOptions": "{\"HostConfig\":{\"Binds\":[\"/home/azureuser/connected-registry:/var/acr/data\"]}}"
},
"type": "docker",
"env": {
"ACR_REGISTRY_CONNECTION_STRING": {
"value": "ConnectedRegistryName=<REPLACE_WITH_CONNECTED_REGISTRY_NAME>;SyncTokenName=<REPLACE_WITH_SYNC_TOKEN_NAME>;SyncTokenPassword=<REPLACE_WITH_SYNC_TOKEN_PASSWORD>;ParentGatewayEndpoint=$IOTEDGE_PARENTHOSTNAME:8000;ParentEndpointProtocol=https"
}
},
"status": "running",
"restartPolicy": "always",
"version": "1.0"
},
"IoTEdgeApiProxy": {
"settings": {
"image": "$upstream:8000/azureiotedge-api-proxy:1.1.2",
"createOptions": "{\"HostConfig\": {\"PortBindings\": {\"8000/tcp\": [{\"HostPort\": \"8000\"}]}}}"
},
"type": "docker",
"version": "1.0",
"env": {
"NGINX_DEFAULT_PORT": {
"value": "8000"
},
"CONNECTED_ACR_ROUTE_ADDRESS": {
"value": "connected-registry:8080"
},
"NGINX_CONFIG_ENV_VAR_LIST": {
"value": "NGINX_DEFAULT_PORT,BLOB_UPLOAD_ROUTE_ADDRESS,CONNECTED_ACR_ROUTE_ADDRESS,IOTEDGE_PARENTHOSTNAME,DOCKER_REQUEST_ROUTE_ADDRESS"
},
"BLOB_UPLOAD_ROUTE_ADDRESS": {
"value": "AzureBlobStorageonIoTEdge:11002"
}
},
"status": "running",
"restartPolicy": "always",
"startupOrder": 3
}
},
"runtime": {
"settings": {
"minDockerVersion": "v1.25",
"registryCredentials": {
"connectedregistry": {
"address": "$upstream:8000",
"password": "<REPLACE_WITH_SYNC_TOKEN_PASSWORD>",
"username": "<REPLACE_WITH_SYNC_TOKEN_NAME>"
}
}
},
"type": "docker"
},
"schemaVersion": "1.1",
"systemModules": {
"edgeAgent": {
"settings": {
"image": "$upstream:8000/azureiotedge-agent:1.2.4",
"createOptions": ""
},
"type": "docker",
"env": {
"SendRuntimeQualityTelemetry": {
"value": "false"
}
}
},
"edgeHub": {
"settings": {
"image": "$upstream:8000/azureiotedge-hub:1.2.4",
"createOptions": "{\"HostConfig\":{\"PortBindings\":{\"443/tcp\":[{\"HostPort\":\"443\"}],\"5671/tcp\":[{\"HostPort\":\"5671\"}],\"8883/tcp\":[{\"HostPort\":\"8883\"}]}}}"
},
"type": "docker",
"status": "running",
"restartPolicy": "always"
}
}
}
},
"$edgeHub": {
"properties.desired": {
"routes": {
"route": "FROM /messages/* INTO $upstream"
},
"schemaVersion": "1.1",
"storeAndForwardConfiguration": {
"timeToLiveSecs": 7200
}
}
}
}
}
Nastavení a nasazení připojených modulů registru
Následující kroky jsou přizpůsobené kurzu : Vytvořte hierarchii zařízení IoT Edge a jsou specifická pro nasazení připojených modulů registru v hierarchii IoT Edge. Podrobnosti o jednotlivých krocích najdete v tomto kurzu.
Vytváření zařízení nejvyšší vrstvy a nižší vrstvy
Vytvoření virtuálních počítačů nejvyšší vrstvy a nižší vrstvy pomocí existující šablony ARM Šablona také nainstaluje agenta IoT Edge. Pokud chcete místo toho nasadit z vlastních zařízení, přečtěte si kurz: Instalace nebo odinstalace Azure IoT Edge pro Linux a zjistěte, jak zařízení nastavit ručně.
Důležité
Pokud chcete později získat přístup k modulům nasazeným na zařízení nejvyšší vrstvy, ujistěte se, že jste otevřeli příchozí porty: 8000, 443, 5671, 8883. Postup konfigurace najdete v tématu Postup otevření portů pro virtuální počítač pomocí webu Azure Portal.
Vytvoření a konfigurace hierarchie
iotedge-config
Pomocí nástroje vytvořte a nakonfigurujte hierarchii pomocí následujícího postupu v Azure CLI nebo Azure Cloud Shellu:
Stáhněte si konfigurační nástroj.
mkdir nested_iot_edge_tutorial cd ~/nested_iot_edge_tutorial wget -O iotedge_config.tar "https://github.com/Azure-Samples/iotedge_config_cli/releases/download/latest/iotedge_config_cli.tar.gz" tar -xvf iotedge_config.tar
Tento krok vytvoří
iotedge_config_cli_release
složku v adresáři kurzu. Soubor šablony použitý k vytvoření hierarchie zařízení jeiotedge_config.yaml
soubor nalezen v~/nested_iot_edge_tutorial/iotedge_config_cli_release/templates/tutorial
souboru . Ve stejném adresáři existují dva manifesty nasazení pro nejvyšší a nižší vrstvy:deploymentTopLayer.json
adeploymentLowerLayer.json
soubory.Upravte
iotedge_config.yaml
informacemi. Upravte názvy souborů manifestuiothub_hostname
nasazení ,iot_name
pro horní vrstvu a nižší vrstvu a přihlašovací údaje tokenu klienta, které jste vytvořili pro načtení imagí z nadřazené vrstvy. Následující příklad je ukázkový konfigurační soubor:config_version: "1.0" iothub: iothub_hostname: <REPLACE_WITH_HUB_NAME>.azure-devices.net iothub_name: <REPLACE_WITH_HUB_NAME> ## Authentication method used by IoT Edge devices: symmetric_key or x509_certificate authentication_method: symmetric_key ## Root certificate used to generate device CA certificates. Optional. If not provided a self-signed CA will be generated # certificates: # root_ca_cert_path: "" # root_ca_cert_key_path: "" ## IoT Edge configuration template to use configuration: template_config_path: "./templates/tutorial/device_config.toml" default_edge_agent: "$upstream:8000/azureiotedge-agent:1.2.4" ## Hierarchy of IoT Edge devices to create edgedevices: device_id: top-layer edge_agent: "<REPLACE_WITH_REGISTRY_NAME>.azurecr.io/azureiotedge-agent:1.2.4" ## Optional. If not provided, default_edge_agent will be used deployment: "./templates/tutorial/deploymentTopLayer.json" ## Optional. If provided, the given deployment file will be applied to the newly created device # hostname: "FQDN or IP" ## Optional. If provided, install.sh will not prompt user for this value nor the parent_hostname value container_auth: ## The token used to pull the image from cloud registry serveraddress: "<REPLACE_WITH_REGISTRY_NAME>.azurecr.io" username: "<REPLACE_WITH_SYNC_TOKEN_NAME_FOR_TOP_LAYER>" password: "<REPLACE_WITH_SYNC_TOKEN_PASSWORD_FOR_TOP_LAYER>" child: - device_id: lower-layer deployment: "./templates/tutorial/deploymentLowerLayer.json" ## Optional. If provided, the given deployment file will be applied to the newly created device # hostname: "FQDN or IP" ## Optional. If provided, install.sh will not prompt user for this value nor the parent_hostname value container_auth: ## The token used to pull the image from parent connected registry serveraddress: "$upstream:8000" username: "<REPLACE_WITH_SYNC_TOKEN_NAME_FOR_LOWER_LAYER>" password: "<REPLACE_WITH_SYNC_TOKEN_PASSWORD_FOR_LOWER_LAYER>"
Připravte soubory nasazení nejvyšší vrstvy a nižší vrstvy: deploymentTopLayer.json a deploymentLowerLayer.json. Zkopírujte soubory manifestu nasazení, které jste vytvořili dříve v tomto článku, do následující složky:
~/nestedIotEdgeTutorial/iotedge_config_cli_release/templates/tutorial
.Přejděte do svého adresáře iotedge_config_cli_release a spusťte nástroj, který vytvoří hierarchii zařízení IoT Edge.
cd ~/nestedIotEdgeTutorial/iotedge_config_cli_release ./iotedge_config --config ~/nestedIotEdgeTutorial/iotedge_config_cli_release/templates/tutorial/iotedge_config.yaml --output ~/nestedIotEdgeTutorial/iotedge_config_cli_release/outputs -f
Pomocí parametru
--output
nástroj vytvoří certifikáty zařízení, sady certifikátů a soubor protokolu v libovolném adresáři. Pomocí parametru-f
nástroj automaticky vyhledá existující zařízení IoT Edge ve službě IoT Hub a odebere je, aby se zabránilo chybám a zachovalo se vaše centrum čisté.Nástroj může běžet několik minut.
Zkopírujte vygenerované top-layer.zip a lower-layer.zip soubory vygenerované v předchozím kroku do odpovídajících virtuálních počítačů nejvyšší a nižší vrstvy pomocí
scp
:scp <PATH_TO_CONFIGURATION_BUNDLE> <USER>@<VM_IP_OR_FQDN>:~
Připojte se k zařízení nejvyšší vrstvy a nainstalujte konfigurační sadu.
Rozbalte konfigurační sadu. Nejdřív budete muset nainstalovat zip.
sudo apt install zip unzip ~/<PATH_TO_CONFIGURATION_BUNDLE>/<CONFIGURATION_BUNDLE>.zip #unzip top-layer.zip
Spusťte
sudo ./install.sh
. Zadejte IP adresu nebo název hostitele. Doporučujeme použít IP adresu.Spuštěním potvrďte
sudo iotedge list
, že jsou spuštěné všechny moduly.
Připojte se k zařízení nižší vrstvy a nainstalujte konfigurační sadu.
Rozbalte konfigurační sadu. Nejdřív budete muset nainstalovat zip.
sudo apt install zip unzip ~/<PATH_TO_CONFIGURATION_BUNDLE>/<CONFIGURATION_BUNDLE>.zip #unzip lower-layer.zip
Spusťte
sudo ./install.sh
. Zadejte zařízení a nadřazené IP adresy nebo názvy hostitelů. Doporučujeme používat IP adresy.Spuštěním potvrďte
sudo iotedge list
, že jsou spuštěné všechny moduly.
Pokud jste nezadali soubor nasazení pro konfiguraci zařízení nebo pokud dojde k problémům s nasazením, jako je neplatný manifest nasazení v zařízení nejvyšší nebo nižší vrstvy, ručně nasaďte moduly. Podívejte se na následující část.
Ruční nasazení připojeného modulu registru
Pomocí následujícího příkazu nasaďte připojený modul registru ručně na zařízení IoT Edge:
az iot edge set-modules \
--device-id <device-id> \
--hub-name <hub-name> \
--content <deployment-manifest-filename>
Podrobnosti najdete v tématu Nasazení modulů Azure IoT Edge pomocí Azure CLI.
Po úspěšném nasazení zobrazuje připojený registr stav Online
.
Pokud chcete zkontrolovat stav připojeného registru, použijte následující příkaz az acr connected-registry show :
az acr connected-registry show \
--registry $REGISTRY_NAME \
--name $CONNECTED_REGISTRY_RO \
--output table
Možná budete muset několik minut počkat, až se nasazení připojeného registru dokončí.
Po úspěšném nasazení zobrazuje připojený registr stav Online
.
Pokud chcete vyřešit potíže s nasazením, spusťte iotedge check
ho na ovlivněném zařízení. Další informace naleznete v tématu Poradce při potížích.
Další kroky
V tomto rychlém startu jste zjistili, jak nasadit připojený registr do vnořeného zařízení IoT Edge. Pokračujte k dalšímu průvodci a zjistěte, jak načíst image z nově nasazeného připojeného registru.