Delen via


Azure IoT Edge uitvoeren op virtuele Ubuntu-machines

Van toepassing op:ja-pictogram IoT Edge 1.1

Belangrijk

Het einde van de ondersteuningsdatum voor IoT Edge 1.1 is 13 december 2022. Controleer de levenscyclus van Microsoft-producten voor informatie over hoe dit product, deze service, technologie of API wordt ondersteund. Zie IoT Edge bijwerken voor meer informatie over het bijwerken naar de nieuwste versie van IoT Edge.

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 18.04 LTS-machine waarop de Azure IoT Edge-runtime is geïnstalleerd en geconfigureerd met behulp van een vooraf opgegeven apparaatverbindingsreeks. 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. We implementeren een Virtuele Linux-machine met Azure IoT Edge met behulp van de Azure Resource Manager-sjabloon iotedge-vm-deploy. Klik op de onderstaande knop om te beginnen:

    Uitrollen naar Azure-knop 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, die root-rechten bij de implementatie krijgt.
    Apparaatverbindingsreeks Een apparaatverbindingsreeks 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.

    Wanneer alle velden zijn ingevuld, klikt u op de knop onderaan om naar Next : Review + create de locatie te gaan waar u de voorwaarden kunt bekijken en op Maken kunt klikken om de implementatie te starten.

  3. Controleer of de implementatie is voltooid. Er moet een virtuele-machineresource zijn 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>moet<location> hebben. cloudapp.azure.com.

    De DNS-naam kan worden verkregen in de sectie Overzicht van de zojuist geïmplementeerde virtuele machine in Azure Portal.

  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. Vervolgens, als u Azure CLI op uw bureaublad gebruikt, log dan in:

    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 onderstaande voorbeeld:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-uri "https://raw.githubusercontent.com/Azure/iotedge-vm-deploy/1.1/edgeDeploy.json" \
    --parameters dnsLabelPrefix='my-edge-vm1' \
    --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 adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters adminPasswordOrKey="<REPLACE_WITH_SECRET_PASSWORD>"
    

    Als u wilt verifiëren met een SSH-sleutel, kunt u dit doen door een authenticationType van sshPublicKeyop te geven en vervolgens de waarde van de SSH-sleutel op te geven in de parameter adminPasswordOrKey . Hieronder ziet u een 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/1.1/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 zijn 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>moet<location> hebben. cloudapp.azure.com.

    De DNS-naam kan worden verkregen uit de JSON-geformatteerde uitvoer van de vorige stap, in de outputs sectie bij het public SSH item. De waarde van deze vermelding kan worden gebruikt om via SSH toegang te krijgen tot de pas geïmplementeerde machine.

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

  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 naar een Linux-VM