Azure IoT Edge uitvoeren op virtuele Ubuntu-machines
Van toepassing op: IoT Edge 1.5 IoT Edge 1.4
Belangrijk
IoT Edge 1.5 LTS is de ondersteunde release. IoT Edge 1.4 LTS is het einde van de levensduur vanaf 12 november 2024. Raadpleeg IoT Edge bijwerken als u een eerdere versie hebt.
De Azure IoT Edge-runtime verandert een apparaat in een IoT Edge-apparaat. De runtime kan worden geïmplementeerd op apparaten zo klein als een Raspberry Pi of zo groot als een industriële server. Zodra een apparaat is geconfigureerd met de IoT Edge-runtime, kunt u beginnen met het implementeren van bedrijfslogica vanuit de cloud.
Zie Inzicht in de Azure IoT Edge-runtime en de bijbehorende architectuur voor meer informatie over hoe de IoT Edge-runtime werkt en welke onderdelen zijn opgenomen.
Dit artikel bevat de stappen voor het implementeren van een virtuele Ubuntu-machine waarop de Azure IoT Edge-runtime is geïnstalleerd en geconfigureerd met behulp van een vooraf geleverd apparaat verbindingsreeks. De implementatie wordt uitgevoerd met behulp van een op de cloud init gebaseerde Azure Resource Manager-sjabloon die wordt onderhouden in de projectopslagplaats iotedge-vm-deploy .
Bij het eerste opstarten installeert de virtuele machine de nieuwste versie van de Azure IoT Edge-runtime via cloud-init. Er wordt ook een opgegeven verbindingsreeks ingesteld voordat de runtime wordt gestart, zodat u het IoT Edge-apparaat eenvoudig kunt configureren en verbinden zonder dat u een SSH- of extern bureaubladsessie hoeft te starten.
Implementeren met de knop Implementeren in Azure
Met de knop Implementeren in Azure kunt u gestroomlijnde implementatie van Azure Resource Manager-sjablonen beheren op GitHub. In deze sectie wordt het gebruik gedemonstreerd van de knop Implementeren in Azure in de projectopslagplaats iotedge-vm-deploy .
U implementeert een Virtuele Linux-machine met Azure IoT Edge met behulp van de Azure Resource Manager-sjabloon iotedge-vm-deploy. Selecteer de volgende knop om te beginnen:
Vul in het zojuist geopende venster de beschikbare formuliervelden in:
Veld Beschrijving Abonnement Het actieve Azure-abonnement om de virtuele machine in te implementeren. Resourcegroep Een bestaande of nieuw gemaakte resourcegroep die de virtuele machine en de bijbehorende resources bevat. Regio De geografische regio waarop de virtuele machine moet worden geïmplementeerd, wordt standaard ingesteld op de locatie van de geselecteerde resourcegroep. DNS-labelvoorvoegsel Een vereiste waarde van uw keuze die wordt gebruikt voor het voorvoegsel van de hostnaam van de virtuele machine. Gebruikersnaam van beheerder Een gebruikersnaam met hoofdbevoegdheden voor de implementatie. Apparaatverbindingsreeks Een apparaat verbindingsreeks voor een apparaat dat is gemaakt in uw beoogde IoT Hub. VM-grootte De grootte van de virtuele machine die moet worden geïmplementeerd. Versie van Ubuntu-besturingssysteem De versie van het Ubuntu-besturingssysteem dat moet worden geïnstalleerd op de virtuele basismachine. Verificatietype Kies sshPublicKey of wachtwoord , afhankelijk van uw voorkeur. Beheerderswachtwoord of -sleutel De waarde van de openbare SSH-sleutel of de waarde van het wachtwoord, afhankelijk van de keuze van het verificatietype. Selecteer
Next : Review + create
deze optie om de voorwaarden te bekijken en selecteer Maken om de implementatie te starten.Controleer of de implementatie is voltooid. Er wordt een virtuele-machineresource geïmplementeerd in de geselecteerde resourcegroep. Noteer de computernaam. Dit moet de indeling
vm-0000000000000
hebben. Noteer ook de bijbehorende DNS-naam, die de indeling<dnsLabelPrefix>
<location>
.cloudapp.azure.com moet hebben.De DNS-naam kan worden verkregen in het gedeelte Overzicht van de zojuist geïmplementeerde virtuele machine in Azure Portal.
Als u na de installatie SSH wilt gebruiken in deze VIRTUELE machine, gebruikt u de bijbehorende DNS-naam met de opdracht:
ssh <adminUsername>@<DNS_Name>
Implementeren vanuit Azure CLI
Zorg ervoor dat u de Azure CLI iot-extensie hebt geïnstalleerd met:
az extension add --name azure-iot
Als u vervolgens Azure CLI op uw bureaublad gebruikt, meldt u zich aan:
az login
Als u meerdere abonnementen hebt, selecteert u het abonnement dat u wilt gebruiken:
Maak een lijst van uw abonnementen:
az account list --output table
Kopieer het veld SubscriptionID voor het abonnement dat u wilt gebruiken.
Stel uw werkabonnement in met de id die u hebt gekopieerd:
az account set -s <SubscriptionId>
Maak een nieuwe resourcegroep (of geef een bestaande op in de volgende stappen):
az group create --name IoTEdgeResources --location westus2
Een nieuwe virtuele machine maken:
Als u een authenticationType van
password
wilt gebruiken, raadpleegt u het volgende voorbeeld:az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='password' \ --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
Als u wilt verifiëren met een SSH-sleutel, geeft u een authenticationType van
sshPublicKey
op en geeft u vervolgens de waarde op van de SSH-sleutel in de parameter adminPasswordOrKey. Zie het volgende voorbeeld:#Generate the SSH Key ssh-keygen -m PEM -t rsa -b 4096 -q -f ~/.ssh/iotedge-vm-key -N "" #Create a VM using the iotedge-vm-deploy script az deployment group create \ --resource-group IoTEdgeResources \ --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/main/edgeDeploy.json" \ --parameters dnsLabelPrefix='my-edge-vm1' \ --parameters adminUsername='<REPLACE_WITH_USERNAME>' \ --parameters deviceConnectionString=$(az iot hub device-identity connection-string show --device-id <REPLACE_WITH_DEVICE-NAME> --hub-name <REPLACE-WITH-HUB-NAME> -o tsv) \ --parameters authenticationType='sshPublicKey' \ --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
Controleer of de implementatie is voltooid. Er moet een virtuele-machineresource worden geïmplementeerd in de geselecteerde resourcegroep. Noteer de computernaam. Dit moet de indeling
vm-0000000000000
hebben. Noteer ook de bijbehorende DNS-naam, die de indeling<dnsLabelPrefix>
<location>
.cloudapp.azure.com moet hebben.De DNS-naam kan worden verkregen uit de JSON-uitvoer van de vorige stap, in de uitvoersectie als onderdeel van de openbare SSH-vermelding . De waarde van deze vermelding kan worden gebruikt om SSH naar de zojuist geïmplementeerde machine te gebruiken.
"outputs": { "public SSH": { "type": "String", "value": "ssh <adminUsername>@<DNS_Name>" } }
De DNS-naam kan ook worden verkregen in de sectie Overzicht van de zojuist geïmplementeerde virtuele machine in Azure Portal.
Als u na de installatie SSH wilt gebruiken in deze VIRTUELE machine, gebruikt u de bijbehorende DNS-naam met de opdracht:
ssh <adminUsername>@<DNS_Name>
Volgende stappen
Nu u een IoT Edge-apparaat hebt ingericht met de runtime, kunt u IoT Edge-modules implementeren.
Als u problemen ondervindt met de installatie van de IoT Edge-runtime, raadpleegt u de pagina voor probleemoplossing .
Zie De IoT Edge-beveiligingsdaemon en runtime bijwerken om een bestaande installatie bij te werken naar de nieuwste versie van IoT Edge.
Als u poorten wilt openen voor toegang tot de VIRTUELE machine via SSH of andere binnenkomende verbindingen, raadpleegt u de documentatie van Azure Virtual Machines over het openen van poorten en eindpunten voor een Virtuele Linux-machine.