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 dolní vrstvě komunikuje se svým připojeným nadřazeným objektem registru v horní vrstvě.
Přehled použití připojeného registru s IoT Edge najdete v tématu Použití připojeného registru s Azure IoT Edge.
Požadavky
Použijte prostředí Bash v Azure Cloud Shell. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shell.
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 Spuštění 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í Azure Portal.
Dva propojené prostředky registru v Azure Postup nasazení najdete v rychlých startech s využitím Azure CLI nebo Azure Portal.
- U horní vrstvy může být připojený registr v režimu ReadWrite nebo ReadOnly. Tento článek předpokládá režim ReadWrite a název připojeného 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í .
- U horní vrstvy může být připojený registr v režimu ReadWrite nebo ReadOnly. Tento článek předpokládá režim ReadWrite a název připojeného registru je uložen v proměnné
Import imagí do cloudového registru
Pomocí příkazu az acr import naimportujte do svého cloudového registru následující image kontejnerů. Pokud jste už tyto image naimportovali, tento krok přeskočte.
Připojená image registru
Aby bylo možné podporovat vnořené IoT Edge scénáře, musí být image kontejneru pro modul runtime připojeného 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
IoT Edge a proxy image rozhraní API
Pokud chcete podporovat připojený registr na vnořených IoT Edge, musíte nasadit moduly pro IoT Edge a proxy rozhraní API. Importujte tyto image do privátního registru.
Modul proxy IoT Edge API umožňuje IoT Edge zařízení zveřejnit více služeb pomocí protokolu HTTPS na stejném portu, 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
Pokud chcete otestovat připojený registr, naimportujte hello-world
image. Toto úložiště bude synchronizováno do připojeného registru a vyžádáno klienty připojeného 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 IoT Edge zařízení 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í nezahrnují 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 --generate-password 1
nebo --generate-password 2
. Uložte vygenerované heslo na bezpečné místo. Nelze ji znovu načíst.
Upozornění
Opětovné vygenerování hesla obmění přihlašovací údaje tokenu synchronizace. 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 pro připojený registr 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, který popisuje, které moduly se mají nasadit do IoT Edge zařízení. Další informace najdete v tématu Vysvětlení způsobu použití, konfigurace a opakovaného použití modulů IoT Edge.
Pokud chcete nasadit modul připojeného registru na každé IoT Edge zařízení pomocí Azure CLI, uložte následující manifesty nasazení místně jako soubory JSON. Informace z předchozích částí použijte k aktualizaci relevantních hodnot JSON v každém manifestu. Při spuštění příkazu použijte cesty k souborům v následující části, aby se konfigurace použila na vaše zařízení.
Manifest nasazení pro horní 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 IoT Edge zařízení.
Poznámka
Pokud jste již pomocí tohoto rychlého startu nasadili připojený registr do nejvyšší vrstvy IoT Edge zařízení, můžete ho použít v horní vrstvě vnořené hierarchie. Upravte kroky nasazení v tomto kurzu a nakonfigurujte ho v hierarchii (nezobrazuje se).
Nastavení modulu připojeného registru
Pomocí přihlašovacích údajů tokenu a připojovacího řetězce z předchozích částí aktualizujte příslušné 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žije, přijímá připojený registr pouze požadavky na tuto hodnotu přihlašovacího serveru.
Pokud není zadaná žádná hodnota, pak se k připojenému registru dostanete pomocí libovolné hodnoty přihlašovacího serveru.ACR_REGISTRY_CERTIFICATE_VOLUME
Pokud bude váš připojený registr přístupný prostřednictvím protokolu HTTPS, odkazuje na svazek, ve kterém jsou uložené certifikáty HTTPS.
Pokud není nastavené, výchozí umístění je/var/acr/certs
.ACR_REGISTRY_DATA_VOLUME
Přepíše výchozí umístění /var/acr/data
, do kterého 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 IoT Edge GitHubu.
{
"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.
Soubor nasazení ve spodní vrstvě se celkově podobá souboru nasazení nejvyšší vrstvy. Rozdíly jsou:
Načítá požadované image z registru připojeného k nejvyšší vrstvě, a ne z cloudového registru.
Při nastavování registru připojeného k nejvyšší vrstvě se ujistěte, že místně synchronizuje všechny požadované image, včetně
azureiotedge-agent
,azureiotedge-hub
azureiotedge-api-proxy
, aacr/connected-registry
. Zařízení IoT nižší vrstvy musí tyto image načíst z registru připojeného k nejvyšší vrstvě.K ověření registru připojeného k nejvyšší vrstvě používá synchronizační token nakonfigurovaný ve spodní vrstvě.
Nakonfiguruje koncový bod nadřazené brány s IP adresou nebo plně kvalifikovaným názvem domény registru připojeného k nejvyšší vrstvě 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í, $upstream
které je hostitelem nadřazeného připojeného registru. Proměnná prostředí ale $upstream
nepodporuje. 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 dynamický překlad IP adresy nebo plně kvalifikovaného názvu domény z jiné proměnné prostředí.
Na vnořeném IoT Edge je ve spodní 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ím řetězci, abyste se vyhnuli pevnému kódování nadřazené IP adresy nebo plně kvalifikovaného názvu domény. Vzhledem k tomu, ž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
nástroji .
{
"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ření hierarchie IoT Edge zařízení a jsou specifické pro nasazení připojených modulů registru v hierarchii IoT Edge. Podrobnosti o jednotlivých krocích najdete v tomto kurzu.
Vytvoření zařízení s horní a nižší vrstvou
Vytvořte virtuální počítače s nejvyšší a nižší vrstvou pomocí existující šablony ARM. Šablona také nainstaluje agenta IoT Edge. Pokud místo toho chcete nasazení provést z vlastních zařízení, přečtěte si kurz: Instalace nebo odinstalace Azure IoT Edge pro Linux, kde se dozví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í s horní vrstvou, ujistěte se, že jste otevřeli následující porty pro příchozí spojení: 8000, 443, 5671, 8883. Postup konfigurace najdete v tématu Otevření portů pro virtuální počítač pomocí Azure Portal.
Vytvoření a konfigurace hierarchie
Pomocí nástroje iotedge-config
vytvořte a nakonfigurujte hierarchii pomocí následujících kroků v Azure CLI nebo Azure Cloud Shell:
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í je soubor, kterýiotedge_config.yaml
se nachází v~/nested_iot_edge_tutorial/iotedge_config_cli_release/templates/tutorial
souboru . Ve stejném adresáři jsou dva manifesty nasazení pro horní a dolní vrstvu:deploymentTopLayer.json
adeploymentLowerLayer.json
soubory.Upravte
iotedge_config.yaml
pomocí svých informací.iothub_hostname
Upravte názvy manifestů nasazení ,iot_name
, pro horní a nižší vrstvu a přihlašovací údaje tokenu klienta, které jste vytvořili pro načítání imagí z upstreamu z každé 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í horní 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 adresáře iotedge_config_cli_release a spuštěním nástroje vytvořte hierarchii IoT Edge zařízení.
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 adresáři podle vašeho výběru. Pomocí parametru-f
nástroj automaticky vyhledá existující IoT Edge zařízení v IoT Hub a odebere je, aby se zabránilo chybám a zachovalo se centrum v čistotě.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čů s nejvyšší a nižší vrstvou 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 příkazu
sudo iotedge list
ověřte, že jsou všechny moduly spuštěné.
Připojte se k zařízení s nižší vrstvou 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 IP adresy zařízení a nadřazené IP adresy nebo názvy hostitelů. Doporučujeme použít IP adresy.Spuštěním příkazu
sudo iotedge list
ověřte, že jsou všechny moduly spuštěné.
Pokud jste nezadali soubor nasazení pro konfiguraci zařízení nebo pokud dojde k problémům s nasazením, jako je neplatný manifest nasazení na zařízení s horní nebo nižší vrstvou, nasaďte moduly ručně. Viz následující část.
Ruční nasazení modulu připojeného registru
Pomocí následujícího příkazu nasaďte modul připojeného registru ručně na IoT Edge zařízení:
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í se v připojeném registru zobrazí stav Online
.
Ke kontrole stavu 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, než se nasazení připojeného registru dokončí.
Po úspěšném nasazení se v připojeném registru zobrazí stav Online
.
Pokud chcete vyřešit potíže s nasazením, spusťte iotedge check
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 IoT Edge zařízení. V dalším průvodci se dozvíte, jak načíst image z nově nasazeného připojeného registru.