Dela via


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

Gäller för:Bockmarkering för IoT Edge 1.5 IoT Edge 1.5 Bockmarkering för IoT Edge 1.4 IoT Edge 1.4

Viktigt!

IoT Edge 1.5 LTS och IoT Edge 1.4 LTS stöds. IoT Edge 1.4 LTS upphör den 12 november 2024. Om du har en tidigare version läser du Uppdatera IoT Edge.

Azure IoT Edge-körningen är det som omvandlar en enhet till en IoT Edge-enhet. Körningen kan distribueras på såväl små enheter som Raspberry Pi som stora industriella servrar. 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 20.04 LTS-dator med Azure IoT Edge-körningen installerad och konfigurerad med hjälp av en förinstallerad enhet anslutningssträng. 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 välja följande knapp:

    Knappen Distribuera till Azure 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
    Abonnemang 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 enhet anslutningssträng för en enhet som skapades i din avsedda IoT Hub.
    VM-storlek Storleken den virtuella dator som ska distribueras.
    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 väljer du knappen längst ned för att gå till Next : Review + create platsen där du kan granska villkoren och välja Skapa för att påbörja distributionen.

  3. Kontrollera att distributionen har slutförts. En virtuell datorresurs distribueras 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.

    Skärmbild som visar dns-namnet på den virtuella iotedge-datorn

  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 passwordläser du följande exempel:

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

    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 . Se följande exempel:

    #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. Kontrollera att distributionen har slutförts. En virtuell datorresurs ska distribueras 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 SSH till den nyligen distribuerade datorn.

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

    Skärmbild som visar dns-namnet på den virtuella iotedge-datorn

  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 körningen installerad kan du distribuera IoT Edge-moduler.

Om du har problem med att IoT Edge-körningen installeras korrekt kan du gå till 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.