Delen via


Azure IoT Edge uitvoeren op virtuele Ubuntu-machines

Van toepassing op: IoT Edge 1.5-vinkje IoT Edge 1.5 Vinkje voor IoT Edge 1.4 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 .

  1. 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:

    De knop Implementeren naar Azure voor iotedge-vm-deploy

  2. Vul in het zojuist geopende venster de beschikbare formuliervelden in:

    Schermopname van de sjabloon iotedge-vm-deploy

    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.

  3. 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-0000000000000hebben. 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.

    Schermopname van de DNS-naam van de iotedge-VM

  4. 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

  1. Zorg ervoor dat u de Azure CLI iot-extensie hebt geïnstalleerd met:

    az extension add --name azure-iot
    
  2. Als u vervolgens Azure CLI op uw bureaublad gebruikt, meldt u zich aan:

    az login
    
  3. Als u meerdere abonnementen hebt, selecteert u het abonnement dat u wilt gebruiken:

    1. Maak een lijst van uw abonnementen:

      az account list --output table
      
    2. Kopieer het veld SubscriptionID voor het abonnement dat u wilt gebruiken.

    3. Stel uw werkabonnement in met de id die u hebt gekopieerd:

      az account set -s <SubscriptionId>
      
  4. Maak een nieuwe resourcegroep (of geef een bestaande op in de volgende stappen):

    az group create --name IoTEdgeResources --location westus2
    
  5. Een nieuwe virtuele machine maken:

    Als u een authenticationType van passwordwilt 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 sshPublicKeyop 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)"
    
  6. 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-0000000000000hebben. 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.

    Schermopname van de DNS-naam van de iotedge-VM

  7. 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.