Udostępnij przez


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

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. Wdróż środowisko uruchomieniowe na urządzeniach tak małe, jak urządzenie Raspberry Pi lub tak duże, jak serwer przemysłowy. Po skonfigurowaniu środowiska uruchomieniowego usługi IoT Edge wdróż logikę biznesową na urządzeniu z chmury.

Aby dowiedzieć się więcej na temat działania środowiska uruchomieniowego usługi IoT Edge i jego 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 przy użyciu zainstalowanego i skonfigurowanego środowiska uruchomieniowego usługi Azure IoT Edge przy użyciu podanych parametrów połączenia urządzenia. Wdrożenie korzysta z szablonu usługi Azure Resource Manager opartego na chmurze z repozytorium projektu iotedge-vm-deploy.

Podczas pierwszego rozruchu maszyna wirtualna instaluje najnowszą wersję środowiska uruchomieniowego usługi Azure IoT Edge przy użyciu pakietu cloud-init. Ustawia również podane parametry połączenia przed uruchomieniem środowiska uruchomieniowego, dzięki czemu można szybko skonfigurować i połączyć urządzenie usługi IoT Edge bez uruchamiania sesji SSH lub pulpitu zdalnego.

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

Przycisk Wdróż na platformie Azure umożliwia szybkie wdrażanie szablonów usługi Azure Resource Manager z usługi GitHub. W tej sekcji pokazano, jak użyć przycisku Wdróż na platformie Azure w repozytorium projektu iotedge-vm-deploy .

  1. Wdróż 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 Wdróż na Azure dla iotedge-vm-deploy

  2. W nowym oknie wprowadź wartości dostępnych pól 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 nowa grupa zasobów zawierająca maszynę wirtualną i skojarzone z nią zasoby.
    Region Region geograficzny, w którym wdrażasz maszynę wirtualną. Ta wartość jest domyślnie ustawiona na lokalizację wybranej grupy zasobów.
    Prefiks etykiety DNS Wymagana wartość, którą wybierasz jako prefiks nazwy hosta maszyny wirtualnej.
    Nazwa użytkownika administratora Nazwa użytkownika z uprawnieniami głównymi podczas wdrażania.
    Parametry połączenia urządzenia Ciąg połączenia urządzenia dla urządzenia utworzonego w centrum IoT.
    Rozmiar maszyny wirtualnej Rozmiar maszyny wirtualnej do wdrożenia.
    Wersja systemu operacyjnego Ubuntu Wersja systemu operacyjnego Ubuntu do zainstalowania na podstawowej maszynie wirtualnej.
    Typ uwierzytelnienia Wybierz sshPublicKey lub hasło według własnych preferencji.
    Hasło lub klucz administratora Wartość klucza publicznego lub hasła SSH w zależności od wybranego typu uwierzytelniania.

    Wybierz Next : Review + create , aby przejrzeć warunki, a następnie wybierz pozycję Utwórz , aby rozpocząć wdrażanie.

  3. Sprawdź, czy wdrożenie zakończy się pomyślnie. Zasób maszyny wirtualnej jest wdrażany w wybranej grupie zasobów. Zanotuj nazwę maszyny w formacie vm-0000000000000. Zwróć również uwagę na skojarzona nazwa DNS, która jest w formacie <dnsLabelPrefix>.<location>. cloudapp.azure.com.

    Nazwę DNS można znaleźć w sekcji Przegląd nowej maszyny wirtualnej w witrynie Azure Portal.

    Zrzut ekranu przedstawiający nazwę DNS maszyny wirtualnej usługi IoT Edge.

  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ą przy użyciu skopiowanego identyfikatora:

      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ć authenticationTypepassword, użyj następującego przykładu:

    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, określ 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 w formacie vm-0000000000000. Zanotuj również skojarzoną nazwę DNS, która jest w formacie <dnsLabelPrefix>.<location>.cloudapp.azure.com.

    Nazwę DNS można uzyskać z danych wyjściowych w formacie JSON z poprzedniego kroku, w sekcji outputs jako część wpisu public SSH. Użyj tej wartości, aby połączyć się za pomocą SSH z nowo wdrożoną maszyną.

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

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

    Zrzut ekranu przedstawiający nazwę DNS maszyny wirtualnej usługi IoT 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, po aprowizacji urządzenia usługi IoT Edge z zainstalowanym środowiskiem uruchomieniowym, wdróż moduły usługi IoT Edge.

Jeśli masz problemy z instalowaniem środowiska uruchomieniowego usługi IoT Edge, zobacz 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, aby uzyskać dostęp do maszyny wirtualnej za pośrednictwem protokołu SSH lub innych połączeń przychodzących, zobacz dokumentację usługi Azure Virtual Machines dotyczącą otwierania portów i punktów końcowych na maszynie wirtualnej z systemem Linux.