Uruchamianie usługi Azure IoT Edge na maszynach wirtualnych z systemem Ubuntu

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

Ważne

Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 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.

W tym artykule wymieniono kroki wdrażania maszyny wirtualnej z systemem Ubuntu 20.04 LTS przy użyciu zainstalowanego i skonfigurowanego środowiska uruchomieniowego usługi Azure IoT Edge przy użyciu wstępnie utworzonego urządzenia parametry połączenia. Wdrożenie odbywa się przy użyciu opartego na chmurze szablonu usługi Azure Resource Manager przechowywanego w repozytorium projektu iotedge-vm-deploy.

Podczas pierwszego rozruchu maszyna wirtualna instaluje najnowszą wersję środowiska uruchomieniowego usługi Azure IoT Edge za pośrednictwem pakietu cloud-init. Ustawia również dostarczone parametry połączenia przed rozpoczęciem środowiska uruchomieniowego, co umożliwia łatwe konfigurowanie i łączenie urządzenia usługi IoT Edge bez konieczności uruchamiania sesji SSH lub pulpitu zdalnego.

Wdrażanie przy użyciu przycisku Wdróż na platformie Azure

Przycisk Wdróż na platformie Azure umożliwia usprawnione wdrażanie szablonów usługi Azure Resource Manager obsługiwanych w usłudze GitHub. W tej sekcji przedstawiono użycie przycisku Wdróż na platformie Azure zawartego w repozytorium projektu iotedge-vm-deploy .

  1. Wdrożymy maszynę wirtualną z systemem Linux z obsługą usługi Azure IoT Edge przy użyciu szablonu iotedge-vm-deploy usługi Azure Resource Manager. Aby rozpocząć, wybierz następujący przycisk:

    Przycisk Wdrażanie na platformie Azure dla szablonu iotedge-vm-deploy

  2. W nowo uruchomionym oknie wypełnij dostępne pola formularza:

    Zrzut ekranu przedstawiający szablon iotedge-vm-deploy

    Pole opis
    Subskrypcja Aktywna subskrypcja platformy Azure do wdrożenia maszyny wirtualnej.
    Grupa zasobów: Istniejąca lub nowo utworzona grupa zasobów zawierająca maszynę wirtualną i skojarzone z nią zasoby.
    Region Region geograficzny, w którym ma zostać wdrożona maszyna wirtualna, ta wartość jest domyślnie ustawiona na lokalizację wybranej grupy zasobów.
    Prefiks etykiety DNS Wymagana wartość wybranej wartości służy do prefiksu nazwy hosta maszyny wirtualnej.
    nazwa użytkownika Administracja Nazwa użytkownika, która będzie udostępniana uprawnienia główne we wdrożeniu.
    Parametry połączenia urządzenia Urządzenie parametry połączenia dla urządzenia utworzonego w ramach zamierzonego centrum IoT Hub.
    Rozmiar maszyny wirtualnej Rozmiar maszyny wirtualnej do wdrożenia.
    Wersja systemu operacyjnego Ubuntu Wersja systemu operacyjnego Ubuntu, która ma być zainstalowana na podstawowej maszynie wirtualnej.
    Typ uwierzytelnienia Wybierz pozycję sshPublicKey lub hasło w zależności od preferencji.
    Administracja hasło lub klucz Wartość klucza publicznego SSH lub wartość hasła w zależności od wybranego typu uwierzytelniania.

    Po wypełnieniu wszystkich pól wybierz przycisk u dołu, aby przejść do Next : Review + create miejsca, w którym można przejrzeć warunki, a następnie wybierz pozycję Utwórz , aby rozpocząć wdrażanie.

  3. Sprawdź, czy wdrożenie zakończyło się pomyślnie. Zasób maszyny wirtualnej jest wdrażany 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.

    Nazwa DNS znajduje się w sekcji Przegląd nowo wdrożonej maszyny wirtualnej w witrynie Azure Portal.

    Zrzut ekranu przedstawiający nazwę DNS maszyny wirtualnej iotedge

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

Wdrażanie z poziomu interfejsu wiersza polecenia platformy Azure

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

    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 . Zobacz poniższy 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-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. 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 iotedge

  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.