Udostępnij za pośrednictwem


Uruchamianie usługi Azure IoT Edge na maszynach wirtualnych z systemem Ubuntu przy użyciu aplikacji Bicep

Dotyczy:Znacznik wyboru usługi IoT Edge 1.5 IoT Edge 1.5

Ważne

Obsługiwana wersja usługi IoT Edge 1.5 LTS. Usługa IoT Edge 1.4 LTS kończy się od 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Środowisko uruchomieniowe usługi Azure IoT Edge zamienia urządzenie w urządzenie usługi IoT Edge. Środowisko uruchomieniowe można wdrożyć na urządzeniach tak małych jak Raspberry Pi lub tak dużych jak serwer przemysłowy. Po skonfigurowaniu urządzenia przy użyciu środowiska uruchomieniowego usługi IoT Edge można rozpocząć wdrażanie na nim logiki biznesowej z chmury.

Aby dowiedzieć się więcej na temat działania środowiska uruchomieniowego usługi IoT Edge i składników, zobacz Omówienie środowiska uruchomieniowego usługi Azure IoT Edge i jego architektury.

Wdrażanie z poziomu interfejsu wiersza polecenia platformy Azure

Nie można wdrożyć zdalnego pliku Bicep. Zapisz kopię pliku Bicep lokalnie jako main.bicep.

  1. Upewnij się, że zainstalowano rozszerzenie interfejsu wiersza polecenia platformy Azure z:

    az extension add --name azure-iot
    
  2. Następnie, jeśli używasz interfejsu wiersza polecenia platformy Azure na pulpicie, zacznij od zalogowania się:

    az login
    
  3. Jeśli masz wiele subskrypcji, wybierz subskrypcję, której chcesz użyć:

    1. Wyświetl listę swoich subskrypcji:

      az account list --output table
      
    2. Skopiuj pole SubscriptionID dla subskrypcji, której chcesz użyć.

    3. Ustaw subskrypcję roboczą z skopiowanymi identyfikatorami:

      az account set -s <SubscriptionId>
      
  4. Utwórz nową grupę zasobów (lub określ istniejącą w następnych krokach):

    az group create --name IoTEdgeResources --location westus2
    
  5. Utwórz nową maszynę wirtualną:

    Aby użyć wartości authenticationType klasy password, zobacz następujący przykład:

    az deployment group create \
    --resource-group IoTEdgeResources \
    --template-file "main.bicep" \
    --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>"
    

    Aby uwierzytelnić się przy użyciu klucza SSH, możesz to zrobić, określając parametr authenticationType wartości sshPublicKey, a następnie podaj wartość klucza SSH w parametrze adminPasswordOrKey . Na przykład:

    #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-file "main.bicep" \
    --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='sshPublicKey' \
    --parameters adminUsername='<REPLACE_WITH_USERNAME>' \
    --parameters adminPasswordOrKey="$(< ~/.ssh/iotedge-vm-key.pub)"
    
  6. Sprawdź, czy wdrożenie zakończyło się pomyślnie. Zasób maszyny wirtualnej powinien zostać wdrożony w wybranej grupie zasobów. Zanotuj nazwę maszyny, która powinna mieć format vm-0000000000000. Zanotuj również powiązaną nazwę DNS, która powinna być w formacie <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    Nazwę DNS można uzyskać z danych wyjściowych w formacie JSON poprzedniego kroku w sekcji danych wyjściowych w ramach publicznego wpisu SSH. Wartość tego wpisu może służyć do SSH na nowo wdrożonej maszynie.

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

    Nazwę DNS można również uzyskać w sekcji Przegląd nowo wdrożonej maszyny wirtualnej w witrynie Azure Portal.

    Zrzut ekranu przedstawiający nazwę DNS maszyny wirtualnej usługi I o T Edge.

  7. Jeśli chcesz połączyć się z tą maszyną wirtualną po skonfigurowaniu za pomocą protokołu SSH, użyj skojarzonej nazwy DNS z poleceniem : ssh <adminUsername>@<DNS_Name>

Następne kroki

Teraz, gdy masz urządzenie usługi IoT Edge aprowizowane przy użyciu zainstalowanego środowiska uruchomieniowego, możesz wdrożyć moduły usługi IoT Edge.

Jeśli masz problemy z prawidłowym instalowaniem środowiska uruchomieniowego usługi IoT Edge, zapoznaj się ze stroną rozwiązywania problemów.

Aby zaktualizować istniejącą instalację do najnowszej wersji usługi IoT Edge, zobacz Aktualizowanie demona zabezpieczeń usługi IoT Edge i środowiska uruchomieniowego.

Jeśli chcesz otworzyć porty w celu uzyskania dostępu do maszyny wirtualnej za pośrednictwem protokołu SSH lub innych połączeń przychodzących, zapoznaj się z dokumentacją usługi Azure Virtual Machines dotyczącą otwierania portów i punktów końcowych na maszynie wirtualnej z systemem Linux.