Kör Azure IoT Edge på virtuella Ubuntu-datorer

gäller för:ja-ikonen IoT Edge 1.1

Viktigt!

IoT Edge 1.1 supportdatumet upphör var den 13 december 2022. I informationen om Microsoft-produktens livscykel hittar du fler uppgifter om vilken support som gäller för denna produkt, tjänst, teknik eller detta API. Mer information om hur du uppdaterar till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge-.

Azure IoT Edge-runtime-miljön är det som omvandlar en enhet till en IoT Edge-enhet. Körmiljön kan distribueras på enheter så små som en Raspberry Pi eller så stora som en industriell server. När en enhet har konfigurerats med IoT Edge-körningen kan du börja distribuera affärslogiken till den från molnet.

Mer information om hur IoT Edge-körningen fungerar och vilka komponenter som ingår finns i Förstå Azure IoT Edge-körningen och dess arkitektur.

Den här artikeln visar stegen för att distribuera en virtuell Ubuntu 18.04 LTS-dator med Azure IoT Edge-körningen installerad och konfigurerad med hjälp av en enhetsanslutningssträng som redan har angetts. Distributionen utförs med hjälp av en molnbaserad Azure Resource Manager-mallsom underhålls på projektlagringsplatsen iotedge-vm-deploy.

Vid den första starten installerar den virtuella datorn den senaste versionen av Azure IoT Edge-körningen via cloud-init. Den anger också en angiven anslutningssträng innan körningen startar, så att du enkelt kan konfigurera och ansluta IoT Edge-enheten utan att behöva starta en SSH- eller fjärrskrivbordssession.

Distribuera med hjälp av knappen Distribuera till Azure

Med knappen Distribuera till Azure kan du effektivisera distributionen av Azure Resource Manager-mallar som underhålls på GitHub. Det här avsnittet visar hur du använder knappen Distribuera till Azure i projektlagringsplatsen iotedge-vm-deploy .

  1. Vi distribuerar en Azure IoT Edge-aktiverad virtuell Linux-dator med hjälp av Azure Resource Manager-mallen iotedge-vm-deploy. Börja genom att klicka på knappen nedan:

    Distribuera till Azure-knapp för iotedge-vm-deploy

  2. Fyll i de tillgängliga formulärfälten i det nyligen lanserade fönstret:

    Skärmbild med mallen iotedge-vm-deploy

    Fält Beskrivning
    Prenumeration Den aktiva Azure-prenumerationen som den virtuella datorn ska distribueras till.
    resursgrupp En befintlig eller nyligen skapad resursgrupp som ska innehålla den virtuella datorn och dess associerade resurser.
    Region Den geografiska region som den virtuella datorn ska distribueras till, det här värdet är som standard platsen för den valda resursgruppen.
    DNS-etikettprefix Ett obligatoriskt värde som du väljer som används för att prefixera värdnamnet för den virtuella datorn.
    Administratörsanvändarnamn Ett användarnamn som kommer att ges rotbehörighet vid distribution.
    Enhetens anslutningssträng En enhetens anslutningssträng för en enhet som skapades inom din avsedda IoT Hub.
    VM-storlek Storleken den virtuella datorn som ska skapas.
    Ubuntu OS-version Den version av Ubuntu-operativsystemet som ska installeras på den virtuella basdatorn.
    autentiseringstyp Välj sshPublicKey eller lösenord beroende på vad du föredrar.
    Administratörslösenord eller -nyckel Värdet för den offentliga SSH-nyckeln eller lösenordets värde beroende på valet av autentiseringstyp.

    När alla fält har fyllts i klickar du på knappen längst ned för att gå till Next : Review + create den plats där du kan granska villkoren och klicka på Skapa för att påbörja distributionen.

  3. Kontrollera att distributionen har slutförts. En virtuell datorresurs ska ha distribuerats till den valda resursgruppen. Anteckna datornamnet. Detta bör vara i formatet vm-0000000000000. Notera även det associerade DNS-namnet, som ska ha formatet <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-namnet kan hämtas från avsnittet Översikt i den nyligen distribuerade virtuella datorn i Azure-portalen.

  4. Om du vill SSH till den här virtuella datorn efter installationen använder du det associerade DNS-namnet med kommandot : ssh <adminUsername>@<DNS_Name>

Distribuera från Azure CLI

  1. Kontrollera att du har installerat Azure CLI iot-tillägget med:

    az extension add --name azure-iot
    
  2. Om du sedan använder Azure CLI på skrivbordet börjar du med att logga in:

    az login
    
  3. Om du har flera prenumerationer väljer du den prenumeration som du vill använda:

    1. Visa dina prenumerationer:

      az account list --output table
      
    2. Kopiera fältet SubscriptionID för den prenumeration som du vill använda.

    3. Ange din arbetsprenumeration med det ID som du kopierade:

      az account set -s <SubscriptionId>
      
  4. Skapa en ny resursgrupp (eller ange en befintlig i nästa steg):

    az group create --name IoTEdgeResources --location westus2
    
  5. Skapa en ny virtuell dator:

    Om du vill använda en authenticationType av password, se exemplet nedan:

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

    Om du vill autentisera med en SSH-nyckel kan du göra det genom att ange en authenticationType av sshPublicKeyoch sedan ange värdet för SSH-nyckeln i parametern adminPasswordOrKey . Ett exempel visas nedan.

    #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. Kontrollera att distributionen har slutförts. En virtuell datorresurs ska ha distribuerats till den valda resursgruppen. Anteckna datornamnet. Detta bör vara i formatet vm-0000000000000. Notera även det associerade DNS-namnet, som ska ha formatet <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    DNS-namnet kan hämtas från JSON-formaterade utdata från föregående steg i avsnittet utdata som en del av den offentliga SSH-posten. Värdet för den här posten kan användas för att få åtkomst via SSH till den nyligen distribuerade maskinen.

    "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh <adminUsername>@<DNS_Name>"
      }
    }
    

    DNS-namnet kan också hämtas från avsnittet Översikt för den nyligen distribuerade virtuella datorn i Azure Portal.

  7. Om du vill SSH till den här virtuella datorn efter installationen använder du det associerade DNS-namnet med kommandot : ssh <adminUsername>@<DNS_Name>

Nästa steg

Nu när du har etablerat en IoT Edge-enhet med IoT Edge-runtime installerad kan du distribuera IoT Edge-moduler.

Om du har problem med att IoT Edge-runtime installeras korrekt, kontrollera felsökningssidan.

Information om hur du uppdaterar en befintlig installation till den senaste versionen av IoT Edge finns i Uppdatera IoT Edge-säkerhetsdaemonen och körningen.

Om du vill öppna portar för åtkomst till den virtuella datorn via SSH eller andra inkommande anslutningar kan du läsa dokumentationen om hur du öppnar portar och slutpunkter för en virtuell Linux-dator